contensis-management-api
Version:
Client for managing content using the Contensis Management API
45 lines (44 loc) • 2.08 kB
TypeScript
import { Config, ContensisClient, IContentTypeOperations, IEntryOperations, INodeOperations, IProjectOperations, IRoleOperations, IPermissionOperations, IComponentOperations, ISecurityOperations, IEventOperations, IRedirectOperations, ITagOperations } from '../models';
import { ClientConfig } from './client-config';
import { ClientParams, IHttpClient } from 'contensis-core-api';
/**
* The core client class is designed to be used in modern browsers with minimal dpendencies, optimised for bundling.
*
* It can also be used on Node.js with a fetch module like 'node-fetch'.
*
* If no fetchFn value is provided it will assume it runs in a modern browser and fetch is already available.
*/
export declare class Client implements ContensisClient {
protected fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response>;
static defaultClientConfig: ClientConfig;
clientConfig: ClientConfig;
components: IComponentOperations;
contentTypes: IContentTypeOperations;
entries: IEntryOperations;
events: IEventOperations;
nodes: INodeOperations;
permissions: IPermissionOperations;
projects: IProjectOperations;
redirects: IRedirectOperations;
roles: IRoleOperations;
security: ISecurityOperations;
tags: ITagOperations;
bearerToken: string;
bearerTokenExpiryDate: Date;
refreshToken?: string;
refreshTokenExpiryDate?: Date;
protected httpClient: IHttpClient;
private contensisClassicToken;
constructor(config?: Config, fetchFn?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
static create(config?: Config, fetchFn?: (input: RequestInfo, init?: RequestInit) => Promise<Response>): Client;
static configure(config: Config): void;
getParams(): ClientParams;
getHeaders(contentType?: string): {
[key: string]: string;
};
isBearerTokenExpired(): boolean;
isRefreshTokenExpired(): boolean;
ensureBearerToken(): Promise<string>;
private authenticate;
private getAuthenticatePayload;
}