dc-management-sdk-js
Version:
Amplience Dynamic Content Management SDK
46 lines (45 loc) • 3.61 kB
TypeScript
import { HttpClient } from '../../http/HttpClient';
import { HttpMethod, HttpRequest } from '../../http/HttpRequest';
import { HttpResponse } from '../../http/HttpResponse';
import { AuthHeaderProvider } from '../../auth/AuthHeaderProvider';
import { HalLink } from '../models/HalLink';
import { HalResource, HalResourceConstructor } from '../models/HalResource';
/**
* @hidden
*/
export interface HalClient {
fetchLinkedResource<T extends HalResource>(link: HalLink, params: any, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
fetchResource<T extends HalResource>(path: string, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
createLinkedResource<T extends HalResource>(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
performActionThatReturnsResource<T extends HalResource>(link: HalLink, params: any, data: any, resourceConstructor: HalResourceConstructor<T>, method: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise<T>;
createResource<T extends HalResource>(path: string, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
updateResource<T extends HalResource>(path: string, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
updateLinkedResource<T extends HalResource>(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
deleteLinkedResource(link: HalLink, params: any): Promise<void>;
deleteResource(path: string): Promise<void>;
performActionWithoutResourceResponse(link: HalLink, params: any, data: any, method: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise<void>;
parse<T extends HalResource>(data: any, resourceConstructor: HalResourceConstructor<T>): T;
serialize<T>(data: T): any;
}
/**
* @hidden
*/
export declare class DefaultHalClient implements HalClient {
private baseUrl;
private httpClient;
private authHeaderProvider;
constructor(baseUrl: string, httpClient: HttpClient, authHeaderProvider: AuthHeaderProvider);
fetchLinkedResource<T extends HalResource>(link: HalLink, params: any, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
fetchResource<T extends HalResource>(path: string, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
createLinkedResource<T extends HalResource>(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
createResource<T extends HalResource>(path: string, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
updateResource<T extends HalResource>(path: string, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
updateLinkedResource<T extends HalResource>(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor<T>): Promise<T>;
deleteLinkedResource(link: HalLink, params: any): Promise<void>;
deleteResource(path: string): Promise<void>;
performActionWithoutResourceResponse(link: HalLink, params: any, data: any, method?: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise<void>;
performActionThatReturnsResource<T extends HalResource>(link: HalLink, params: any, data: any, resourceConstructor: HalResourceConstructor<T>, method?: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise<T>;
parse<T extends HalResource>(data: any, resourceConstructor: HalResourceConstructor<T>): T;
serialize<T>(data: T): any;
protected invoke(request: HttpRequest): Promise<HttpResponse>;
}