UNPKG

contentful-management

Version:
33 lines (32 loc) 1.07 kB
import copy from 'fast-copy'; import { freezeSys, toPlainObject } from 'contentful-sdk-core'; import enhanceWithMethods from '../enhance-with-methods'; import { wrapCollection } from '../common-utils'; /** * @private * @param makeRequest - function to make requests via an adapter * @param data - Raw access token data * @return Wrapped access token */ export function wrapAccessToken(makeRequest, data) { const AccessToken = toPlainObject(copy(data)); const accessTokenWithMethods = enhanceWithMethods(AccessToken, { revoke: function () { return makeRequest({ entityType: 'AccessToken', action: 'revoke', params: { tokenId: data.sys.id } }).then(data => wrapAccessToken(makeRequest, data)); } }); return freezeSys(accessTokenWithMethods); } /** * @private * @param makeRequest - function to make requests via an adapter * @param data - Raw access collection data * @return Wrapped access token collection data */ export const wrapAccessTokenCollection = wrapCollection(wrapAccessToken);