UNPKG

@contentstack/management

Version:

The Content Management API is used to manage the content of your Contentstack account

76 lines (65 loc) 2.13 kB
import { User } from './user' import { AxiosRequestConfig } from 'axios' import { AnyProperty } from './utility/fields' import { Pagination } from './utility/pagination' import { Response } from './contentstackCollection' import { Stack, StackConfig, StackDetails } from './stack' import { Organization, Organizations } from './organization' import { Queryable } from './utility/operations' import OAuthHandler from './oauthHandler' export interface ProxyConfig { host: string port: number auth?: { username: string password:string }; protocol?: string } export interface RetryDelayOption { base?: number customBackoff?: (retryCount: number, error: Error) => number } export interface ContentstackToken { authorization?: string authtoken?: string early_access?: string[] } export interface ContentstackConfig extends AxiosRequestConfig, ContentstackToken { proxy?: ProxyConfig | false endpoint?: string host?: string timeout?: number maxRequests?: number retryOnError?: boolean retryLimit?: number retryDelay?: number retryCondition?: (error: Error) => boolean retryDelayOptions?: RetryDelayOption refreshToken?: () => Promise<ContentstackToken> maxContentLength?: number maxBodyLength?: number logHandler?: (level: string, data: any) => void application?: string integration?: string } export interface LoginDetails { email: string, password: string, tfa_token?: string mfaSecret?: string } export interface LoginResponse extends Response { user: User } export interface ContentstackClient { login(user: LoginDetails, params?: any): Promise<LoginResponse> logout(authtoken?: string): Promise<Response> getUser(params?: Pagination & AnyProperty): Promise<User> stack(query?: {organization_uid?: string}): Queryable<Stack, StackDetails> stack(config: StackConfig): Stack organization(): Organizations organization(uid: string): Organization oauth(params?: any): OAuthHandler } export function client(config?: ContentstackConfig): ContentstackClient