@proofgeist/fmdapi
Version:
FileMaker Data API client
61 lines • 2.72 kB
TypeScript
import type { AllLayoutsMetadataResponse, CreateResponse, DeleteResponse, GetResponse, LayoutMetadataResponse, PortalRanges, ScriptsMetadataResponse, UpdateResponse } from "../client-types.js";
import type { Adapter, BaseRequest, ContainerUploadOptions, CreateOptions, DeleteOptions, FindOptions, GetOptions, LayoutMetadataOptions, ListOptions, UpdateOptions } from "./core.js";
import type { BaseFetchAdapterOptions, GetTokenArguments } from "./fetch-base-types.js";
export type ExecuteScriptOptions = BaseRequest & {
script: string;
scriptParam?: string;
};
export declare class BaseFetchAdapter implements Adapter {
protected server: string;
protected db: string;
private refreshToken;
baseUrl: URL;
constructor(options: BaseFetchAdapterOptions & {
refreshToken?: boolean;
});
protected getToken: (args?: GetTokenArguments) => Promise<string>;
protected request: (params: {
url: string;
body?: object | FormData;
query?: Record<string, string>;
method?: string;
retry?: boolean;
portalRanges?: PortalRanges;
timeout?: number;
fetchOptions?: RequestInit;
}) => Promise<unknown>;
list: (opts: ListOptions) => Promise<GetResponse>;
get: (opts: GetOptions) => Promise<GetResponse>;
find: (opts: FindOptions) => Promise<GetResponse>;
create: (opts: CreateOptions) => Promise<CreateResponse>;
update: (opts: UpdateOptions) => Promise<UpdateResponse>;
delete: (opts: DeleteOptions) => Promise<DeleteResponse>;
layoutMetadata: (opts: LayoutMetadataOptions) => Promise<LayoutMetadataResponse>;
/**
* Execute a script within the database
*/
executeScript: (opts: ExecuteScriptOptions) => Promise<{
scriptResult?: string | undefined;
scriptError?: string | undefined;
"scriptResult.prerequest"?: string | undefined;
"scriptError.prerequest"?: string | undefined;
"scriptResult.presort"?: string | undefined;
"scriptError.presort"?: string | undefined;
}>;
/**
* Returns a list of available layouts on the database.
*/
layouts: (opts?: Omit<BaseRequest, "layout">) => Promise<AllLayoutsMetadataResponse>;
/**
* Returns a list of available scripts on the database.
*/
scripts: (opts?: Omit<BaseRequest, "layout">) => Promise<ScriptsMetadataResponse>;
containerUpload: (opts: ContainerUploadOptions) => Promise<void>;
/**
* Set global fields for the current session
*/
globals: (opts: Omit<BaseRequest, "layout"> & {
globalFields: Record<string, string | number>;
}) => Promise<Record<string, never>>;
}
//# sourceMappingURL=fetch-base.d.ts.map