contentful-management
Version:
Client for Contentful's Content Management API
58 lines (57 loc) • 1.89 kB
TypeScript
import type { DefaultElements, MakeRequest, BasicMetaSysProps, SysLink } from '../common-types';
type Application = {
id?: string;
name?: string;
sys: SysLink;
};
type AccessTokenSysProps = BasicMetaSysProps & {
application: Application | null;
expiresAt: string | null;
lastUsedAt: string | null;
redactedValue: string;
};
export type AccessTokenProp = {
sys: AccessTokenSysProps;
name: string;
scopes: 'content_management_manage'[];
revokedAt: null | string;
token?: string;
};
export type CreatePersonalAccessTokenProps = Pick<AccessToken, 'name' | 'scopes'> & {
expiresIn: number;
};
export interface AccessToken extends AccessTokenProp, DefaultElements<AccessTokenProp> {
/**
* Revokes access token
* @return Object the revoked access token
* @example ```javascript
* const contentful = require('contentful-management')
*
* const client = contentful.createClient({
* accessToken: <content_management_api_key>
* })
*
* client.getAccessToken('<token-id>')
* .then((AccessToken) => {
* return accessToken.revoke()
* })
* .catch(console.error)
* ```
*/
revoke(): Promise<AccessToken>;
}
/**
* @private
* @param makeRequest - function to make requests via an adapter
* @param data - Raw access token data
* @return Wrapped access token
*/
export declare function wrapAccessToken(makeRequest: MakeRequest, data: AccessTokenProp): AccessToken;
/**
* @private
* @param makeRequest - function to make requests via an adapter
* @param data - Raw access collection data
* @return Wrapped access token collection data
*/
export declare const wrapAccessTokenCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<AccessTokenProp>) => import("../common-types").Collection<AccessToken, AccessTokenProp>;
export {};