UNPKG

contentful-management

Version:
57 lines (54 loc) 1.87 kB
import copy from 'fast-copy'; import { toPlainObject, freezeSys } from 'contentful-sdk-core'; import enhanceWithMethods from '../enhance-with-methods.js'; import { wrapCollection } from '../common-utils.js'; /** * @internal */ function createEnvironmentAliasApi(makeRequest) { const getParams = (alias) => ({ spaceId: alias.sys.space.sys.id, environmentAliasId: alias.sys.id, }); return { update: function () { const raw = this.toPlainObject(); return makeRequest({ entityType: 'EnvironmentAlias', action: 'update', params: getParams(raw), payload: raw, }).then((data) => wrapEnvironmentAlias(makeRequest, data)); }, delete: function () { const raw = this.toPlainObject(); return makeRequest({ entityType: 'EnvironmentAlias', action: 'delete', params: getParams(raw), }).then(() => { // noop }); }, }; } /** * @internal * @param makeRequest - function to make requests via an adapter * @param data - Raw environment alias data * @returns Wrapped environment alias data */ function wrapEnvironmentAlias(makeRequest, data) { const alias = toPlainObject(copy(data)); const enhancedAlias = enhanceWithMethods(alias, createEnvironmentAliasApi(makeRequest)); return freezeSys(enhancedAlias); } /** * @internal * @param makeRequest - function to make requests via an adapter * @param data - Raw environment alias collection data * @returns Wrapped environment alias collection data */ const wrapEnvironmentAliasCollection = wrapCollection(wrapEnvironmentAlias); export { wrapEnvironmentAlias, wrapEnvironmentAliasCollection }; //# sourceMappingURL=environment-alias.js.map