Merge pull request #211 from bknd-io/fix/media-api-init

fix media api to respect options' init, improve types
This commit is contained in:
dswbx
2025-07-19 09:13:52 +02:00
committed by GitHub
4 changed files with 7 additions and 4 deletions
+1
View File
@@ -1 +1,2 @@
tmp/* tmp/*
!tmp/.gitkeep
View File
@@ -54,7 +54,6 @@ describe("MediaController", () => {
body: file, body: file,
}); });
const result = (await res.json()) as any; const result = (await res.json()) as any;
console.log(result);
expect(result.name).toBe(name); expect(result.name).toBe(name);
const destFile = Bun.file(assetsTmpPath + "/" + name); const destFile = Bun.file(assetsTmpPath + "/" + name);
+5 -2
View File
@@ -10,6 +10,7 @@ import type { ApiFetcher } from "Api";
export type MediaApiOptions = BaseModuleApiOptions & { export type MediaApiOptions = BaseModuleApiOptions & {
upload_fetcher: ApiFetcher; upload_fetcher: ApiFetcher;
init?: RequestInit;
}; };
export class MediaApi extends ModuleApi<MediaApiOptions> { export class MediaApi extends ModuleApi<MediaApiOptions> {
@@ -17,6 +18,7 @@ export class MediaApi extends ModuleApi<MediaApiOptions> {
return { return {
basepath: "/api/media", basepath: "/api/media",
upload_fetcher: fetch, upload_fetcher: fetch,
init: {},
}; };
} }
@@ -67,7 +69,7 @@ export class MediaApi extends ModuleApi<MediaApiOptions> {
} }
protected uploadFile( protected uploadFile(
body: File | ReadableStream, body: File | Blob | ReadableStream,
opts?: { opts?: {
filename?: string; filename?: string;
path?: TInput; path?: TInput;
@@ -93,6 +95,7 @@ export class MediaApi extends ModuleApi<MediaApiOptions> {
} }
const init = { const init = {
...this.options.init,
...(opts?._init || {}), ...(opts?._init || {}),
headers, headers,
}; };
@@ -108,7 +111,7 @@ export class MediaApi extends ModuleApi<MediaApiOptions> {
} }
async upload( async upload(
item: Request | Response | string | File | ReadableStream, item: Request | Response | string | File | Blob | ReadableStream,
opts: { opts: {
filename?: string; filename?: string;
_init?: Omit<RequestInit, "body">; _init?: Omit<RequestInit, "body">;