UNPKG

contentful-management

Version:
77 lines (74 loc) 2.55 kB
import copy from 'fast-copy'; import { post, del as del$1, get as get$1, put } from './raw.mjs'; const getBaseUrl = (params) => `/spaces/${params.spaceId}/environments/${params.environmentId}/experiences`; // Opts into the renamed ("new ExO entity types") Experience shape: sys.experienceTemplate // instead of sys.template, and ExperienceFragment slot nodes. The renamed family shares the // `/experiences` URLs with the legacy routes and is discriminated server-side on this header. const ExperienceAlphaHeaders = { 'x-contentful-enable-alpha-feature': 'new-exo-entity-types', }; const getMany = (http, params, headers) => { return get$1(http, getBaseUrl(params), { params: params.query, headers: { ...ExperienceAlphaHeaders, ...headers, }, }); }; const get = (http, params, headers) => { return get$1(http, getBaseUrl(params) + `/${params.experienceId}`, { headers: { ...ExperienceAlphaHeaders, ...headers, }, }); }; const create = (http, params, rawData, headers) => { const data = copy(rawData); return post(http, getBaseUrl(params), data, { headers: { ...ExperienceAlphaHeaders, ...headers, }, }); }; const upsert = (http, params, rawData, headers) => { const { sys, ...body } = copy(rawData); return put(http, getBaseUrl(params) + `/${params.experienceId}`, body, { headers: { ...ExperienceAlphaHeaders, ...(sys.version !== undefined && { 'X-Contentful-Version': sys.version, }), ...headers, }, }); }; const del = (http, params) => { return del$1(http, getBaseUrl(params) + `/${params.experienceId}`, { headers: { ...ExperienceAlphaHeaders, }, }); }; const publish = (http, params, payload, headers) => { return put(http, getBaseUrl(params) + `/${params.experienceId}/published`, payload ?? null, { headers: { ...ExperienceAlphaHeaders, 'X-Contentful-Version': params.version, ...headers, }, }); }; const unpublish = (http, params, headers) => { return del$1(http, getBaseUrl(params) + `/${params.experienceId}/published`, { headers: { ...ExperienceAlphaHeaders, 'X-Contentful-Version': params.version, ...headers, }, }); }; export { create, del, get, getMany, publish, unpublish, upsert }; //# sourceMappingURL=experience.mjs.map