UNPKG

contentful-management

Version:
52 lines (49 loc) 1.89 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 createOrganizationMembershipApi(makeRequest, organizationId) { const getParams = (data) => ({ organizationMembershipId: data.sys.id, organizationId, }); return { update: function () { const raw = this.toPlainObject(); return makeRequest({ entityType: 'OrganizationMembership', action: 'update', params: getParams(raw), payload: raw, }).then((data) => wrapOrganizationMembership(makeRequest, data, organizationId)); }, delete: function del() { const raw = this.toPlainObject(); return makeRequest({ entityType: 'OrganizationMembership', action: 'delete', params: getParams(raw), }); }, }; } /** * @internal * @param {function} makeRequest - function to make requests via an adapter * @param {Object} data - Raw organization membership data * @returns {OrganizationMembership} Wrapped organization membership data */ function wrapOrganizationMembership(makeRequest, data, organizationId) { const organizationMembership = toPlainObject(copy(data)); const organizationMembershipWithMethods = enhanceWithMethods(organizationMembership, createOrganizationMembershipApi(makeRequest, organizationId)); return freezeSys(organizationMembershipWithMethods); } /** * @internal */ const wrapOrganizationMembershipCollection = wrapCollection(wrapOrganizationMembership); export { wrapOrganizationMembership, wrapOrganizationMembershipCollection }; //# sourceMappingURL=organization-membership.js.map