dc-management-sdk-js
Version:
Amplience Dynamic Content Management SDK
48 lines • 3.33 kB
JavaScript
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