add fetcher option to api to allow local calls

This commit is contained in:
dswbx
2025-01-25 19:29:36 +01:00
parent ba1eb5fe08
commit 2d6d83ccb2
3 changed files with 18 additions and 18 deletions

View File

@@ -23,6 +23,7 @@ export type ApiOptions = {
headers?: Headers;
key?: string;
localStorage?: boolean;
fetcher?: typeof fetch;
};
export type AuthState = {
@@ -163,14 +164,18 @@ export class Api {
headers: this.options.headers,
token_transport: this.token_transport
};
const fetcher = this.options.fetcher;
this.system = new SystemApi(baseParams);
this.data = new DataApi(baseParams);
this.auth = new AuthApi({
...baseParams,
onTokenUpdate: (token) => this.updateToken(token, true)
});
this.media = new MediaApi(baseParams);
this.system = new SystemApi(baseParams, fetcher);
this.data = new DataApi(baseParams, fetcher);
this.auth = new AuthApi(
{
...baseParams,
onTokenUpdate: (token) => this.updateToken(token, true)
},
fetcher
);
this.media = new MediaApi(baseParams, fetcher);
}
}

View File

@@ -23,9 +23,10 @@ export type ApiResponse<Data = any> = {
export type TInput = string | (string | number | PrimaryFieldType)[];
export abstract class ModuleApi<Options extends BaseModuleApiOptions = BaseModuleApiOptions> {
protected fetcher?: typeof fetch;
constructor(protected readonly _options: Partial<Options> = {}) {}
constructor(
protected readonly _options: Partial<Options> = {},
protected fetcher?: typeof fetch
) {}
protected getDefaultOptions(): Partial<Options> {
return {};