fsm-sdk
Version:
Node.JS sdk to interface with SAP Field Service Management APIs.
43 lines (42 loc) • 2.05 kB
TypeScript
import { BatchAction } from './batch-action.model';
import { BatchResponseJson } from './batch-response';
import { ClientConfig } from './client-config.model';
import { ClientResponse } from './client-response.model';
import { DTOModels, DTOName } from './dto-name.model';
import { HttpService } from './http-service';
import { OauthTokenResponse } from './oauth-token-response.model';
import { AuthService } from './auth.service';
declare type IdOrExternalId = Partial<{
resourceId: string | null | undefined;
externalId: string | null | undefined;
}>;
export declare class ClientService {
private _config;
private _http;
private _auth;
constructor(_config: Readonly<ClientConfig>, _http: Readonly<HttpService>, _auth: Readonly<AuthService>);
private _requestDataApi;
login(): Promise<OauthTokenResponse>;
query<T extends {
[projection: string]: DTOModels;
}>(coreSQL: string, dtoNames: DTOName[]): Promise<{
data: T[];
}>;
getResource<T extends DTOModels>(resourceName: DTOName, id: IdOrExternalId, queryParams?: {
useExternalIds: true;
} | undefined): Promise<ClientResponse<T>>;
deleteResource<T extends Partial<DTOModels>>(resourceName: DTOName, id: IdOrExternalId, lastChanged: number): Promise<undefined>;
postResource<T extends DTOModels>(resourceName: DTOName, resource: T, queryParams?: {
useExternalIds: true;
} | undefined): Promise<ClientResponse<T>>;
putResource<T extends DTOModels>(resourceName: DTOName, id: IdOrExternalId, resource: T, queryParams?: {
useExternalIds: true;
} | undefined): Promise<ClientResponse<T>>;
patchResource<T extends DTOModels>(resourceName: DTOName, id: IdOrExternalId, resource: T, queryParams?: {
useExternalIds: true;
} | undefined): Promise<ClientResponse<T>>;
batch<T extends DTOModels>(actions: BatchAction[]): Promise<BatchResponseJson<T>[]>;
getToken(): Readonly<OauthTokenResponse> | undefined;
setToken(token: OauthTokenResponse): ClientService;
}
export {};