UNPKG

contentful-management

Version:
33 lines (32 loc) 1.02 kB
import { freezeSys, toPlainObject } from 'contentful-sdk-core'; import copy from 'fast-copy'; import enhanceWithMethods from '../enhance-with-methods'; /** * @private */ function createUploadCredentialsApi(makeRequest) { return { create: async function create() { const raw = this.toPlainObject(); return makeRequest({ entityType: 'UploadCredential', action: 'create', params: { spaceId: raw.sys.space.sys.id, environmentId: raw.sys.id } }); } }; } /** * @private * @param {function} makeRequest - function to make requests via an adapter * @param {object} data - Raw upload credential data * @return {UploadCredential} Wrapped upload credential data */ export function wrapUploadCredential(makeRequest, data) { const uploadCredential = toPlainObject(copy(data)); const uploadCredentialWithMethods = enhanceWithMethods(uploadCredential, createUploadCredentialsApi(makeRequest)); return freezeSys(uploadCredentialWithMethods); }