UNPKG

contentful-management

Version:
34 lines (33 loc) 937 B
import copy from 'fast-copy'; import { freezeSys, toPlainObject } from 'contentful-sdk-core'; import enhanceWithMethods from '../enhance-with-methods'; /** * @private */ function createUploadApi(makeRequest) { return { delete: async function del() { const raw = this.toPlainObject(); await makeRequest({ entityType: 'Upload', action: 'delete', params: { spaceId: raw.sys.space.sys.id, environmentId: raw.sys.id, uploadId: raw.sys.id } }); } }; } /** * @private * @param {function} makeRequest - function to make requests via an adapter * @param {object} data - Raw upload data * @return {Upload} Wrapped upload data */ export function wrapUpload(makeRequest, data) { const upload = toPlainObject(copy(data)); const uploadWithMethods = enhanceWithMethods(upload, createUploadApi(makeRequest)); return freezeSys(uploadWithMethods); }