UNPKG

dc-management-sdk-js

Version:
48 lines 3.33 kB
import { HalResource } from '../hal/models/HalResource'; import { ContentTypeCachedSchema } from './ContentTypeCachedSchema'; import { Page } from './Page'; /** * Class representing the [Content Type](https://amplience.com/docs/api/dynamic-content/management/#tag/Content-Types) resource. * Content types are JSON schemas that define a type of content to be created, including its structure, format and validation rules. */ export class ContentType extends HalResource { constructor() { super(...arguments); /** * Resources and actions related to a ContentType */ this.related = { /** * Update a Content Type with the provided changes */ update: (mutation) => this.updateResource(mutation, ContentType), /** * Archive content type */ archive: () => this.performActionThatReturnsResource('archive', {}, {}, ContentType), /** * Unarchive content type */ unarchive: () => this.performActionThatReturnsResource('unarchive', {}, {}, ContentType), contentTypeSchema: { /** * Get the associated JSON schema document for a content type */ get: () => this.fetchLinkedResource('content-type-schema', {}, ContentTypeCachedSchema), /** * Sync a content type with the associated JSON schema document */ update: (mutation = new ContentTypeCachedSchema()) => this.updateLinkedResource('content-type-schema', {}, mutation, ContentTypeCachedSchema), }, }; } } /** * @hidden */ export class ContentTypePage extends Page { constructor(data) { super('content-types', ContentType, data); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGVudFR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGVsL0NvbnRlbnRUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBMEU5Qjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQVc7SUFBNUM7O1FBcUJFOztXQUVHO1FBQ2EsWUFBTyxHQUFHO1lBQ3hCOztlQUVHO1lBQ0gsTUFBTSxFQUFFLENBQUMsUUFBcUIsRUFBd0IsRUFBRSxDQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7WUFFNUM7O2VBRUc7WUFDSCxPQUFPLEVBQUUsR0FBeUIsRUFBRSxDQUNsQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDO1lBRXZFOztlQUVHO1lBQ0gsU0FBUyxFQUFFLEdBQXlCLEVBQUUsQ0FDcEMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQztZQUV6RSxpQkFBaUIsRUFBRTtnQkFDakI7O21CQUVHO2dCQUNILEdBQUcsRUFBRSxHQUFxQyxFQUFFLENBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FDdEIscUJBQXFCLEVBQ3JCLEVBQUUsRUFDRix1QkFBdUIsQ0FDeEI7Z0JBRUg7O21CQUVHO2dCQUNILE1BQU0sRUFBRSxDQUNOLFdBQW9DLElBQUksdUJBQXVCLEVBQUUsRUFDL0IsRUFBRSxDQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQ3ZCLHFCQUFxQixFQUNyQixFQUFFLEVBQ0YsUUFBUSxFQUNSLHVCQUF1QixDQUN4QjthQUNKO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsSUFBaUI7SUFDcEQsWUFBWSxJQUFVO1FBQ3BCLEtBQUssQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRiJ9