UNPKG

contentful-management

Version:
53 lines (50 loc) 1.71 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 createTeamMembershipApi(makeRequest) { const getParams = (data) => ({ teamMembershipId: data.sys.id, teamId: data.sys.team.sys.id, organizationId: data.sys.organization.sys.id, }); return { update: function () { const raw = this.toPlainObject(); return makeRequest({ entityType: 'TeamMembership', action: 'update', params: getParams(raw), payload: raw, }).then((data) => wrapTeamMembership(makeRequest, data)); }, delete: function del() { const raw = this.toPlainObject(); return makeRequest({ entityType: 'TeamMembership', action: 'delete', params: getParams(raw), }); }, }; } /** * @internal * @param makeRequest - function to make requests via an adapter * @param data - Raw team membership data * @returns Wrapped team membership data */ function wrapTeamMembership(makeRequest, data) { const teamMembership = toPlainObject(copy(data)); const teamMembershipWithMethods = enhanceWithMethods(teamMembership, createTeamMembershipApi(makeRequest)); return freezeSys(teamMembershipWithMethods); } /** * @internal */ const wrapTeamMembershipCollection = wrapCollection(wrapTeamMembership); export { wrapTeamMembership, wrapTeamMembershipCollection }; //# sourceMappingURL=team-membership.js.map