dc-management-sdk-js
Version:
Amplience Dynamic Content Management SDK
90 lines • 6.94 kB
JavaScript
import { HalResource } from '../hal/models/HalResource';
import { ContentRepository } from './ContentRepository';
import { LocalizationJob } from './LocalizationJob';
import { Page } from './Page';
import { FacetsResponse } from './Facets';
import { HttpMethod } from '../http/HttpRequest';
class BaseContentItem extends HalResource {
constructor() {
super(...arguments);
/**
* Resources and actions related to a Content Item
*/
this.related = {
/**
* Retrieves a specific version of the content item
* @param version Version number requested
*/
contentItemVersion: (version) => this.fetchLinkedResource('content-item-version', { version }, ContentItem),
/**
* Retrieves the ContentRepository this content item is stored in
*/
contentRepository: () => this.fetchLinkedResource('content-repository', {}, ContentRepository),
/**
* Sets a locale of the form ll-CC (language, country code)
* @param locale Locale code
*/
setLocale: (localeDefinition) => this.performActionThatReturnsResource('set-locale', {}, { locale: localeDefinition, version: this.version }, ContentItem),
/**
* Create localizations of the content item
* @param locales Array of locales to create
*/
localize: (localesList) => this.performActionThatReturnsResource('create-localizations', {}, { locales: localesList, version: this.version }, LocalizationJob),
/**
* Get localizations of the content item
*/
localizations: (options) => this.fetchLinkedResource('localizations', options, ContentItemsPage),
/**
* Updates this Content Item with the changes in the mutation parameter.
* You must provide the current version number in the mutation
* to avoid overwriting other user's changes.
*/
update: (mutation, params) => this.updateResource(mutation, ContentItem, params),
/**
* Archive content item
*/
archive: () => this.performActionThatReturnsResource('archive', {}, { version: this.version }, ContentItem),
/**
* Unarchive content item
*/
unarchive: () => this.performActionThatReturnsResource('unarchive', {}, { version: this.version }, ContentItem),
/**
* Assign a WorkflowState
*/
assignWorkflowState: (workflowState) => this.performActionThatReturnsResource('edit-workflow', {}, { version: this.version, state: workflowState.id }, ContentItem, HttpMethod.PATCH),
/**
* Unassign a WorkflowState
*/
unassignWorkflowState: () => this.performActionThatReturnsResource('edit-workflow', {}, { version: this.version, state: null }, ContentItem, HttpMethod.PATCH),
};
}
}
/**
* Class representing a Faceted Content Item.
* A faceted content item does not include a body, but includes the schema of the content item
*/
export class FacetedContentItem extends BaseContentItem {
}
/**
* Class representing the [Content Item](https://amplience.com/docs/api/dynamic-content/management/#tag/Content-Items) resource.
* Content Items are instances of content created from a content type.
*/
export class ContentItem extends BaseContentItem {
}
/**
* @hidden
*/
export class ContentItemsPage extends Page {
constructor(data) {
super('content-items', ContentItem, data);
}
}
/**
* @hidden
*/
export class ContentItemsFacets extends FacetsResponse {
constructor(data) {
super('content-items', FacetedContentItem, data);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGVudEl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGVsL0NvbnRlbnRJdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUk5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU1qRCxNQUFlLGVBQWdCLFNBQVEsV0FBVztJQUFsRDs7UUF5RkU7O1dBRUc7UUFDYSxZQUFPLEdBQUc7WUFDeEI7OztlQUdHO1lBQ0gsa0JBQWtCLEVBQUUsQ0FBQyxPQUFlLEVBQXdCLEVBQUUsQ0FDNUQsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixzQkFBc0IsRUFDdEIsRUFBRSxPQUFPLEVBQUUsRUFDWCxXQUFXLENBQ1o7WUFFSDs7ZUFFRztZQUNILGlCQUFpQixFQUFFLEdBQStCLEVBQUUsQ0FDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQztZQUV2RTs7O2VBR0c7WUFDSCxTQUFTLEVBQUUsQ0FBQyxnQkFBd0IsRUFBd0IsRUFBRSxDQUM1RCxJQUFJLENBQUMsZ0NBQWdDLENBQ25DLFlBQVksRUFDWixFQUFFLEVBQ0YsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFDbkQsV0FBVyxDQUNaO1lBRUg7OztlQUdHO1lBQ0gsUUFBUSxFQUFFLENBQUMsV0FBcUIsRUFBZ0IsRUFBRSxDQUNoRCxJQUFJLENBQUMsZ0NBQWdDLENBQ25DLHNCQUFzQixFQUN0QixFQUFFLEVBQ0YsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQy9DLGVBQWUsQ0FDaEI7WUFFSDs7ZUFFRztZQUNILGFBQWEsRUFBRSxDQUFDLE9BQWtCLEVBQThCLEVBQUUsQ0FDaEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7WUFFdEU7Ozs7ZUFJRztZQUNILE1BQU0sRUFBRSxDQUNOLFFBQXFCLEVBQ3JCLE1BQTZDLEVBQ3ZCLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQztZQUVwRDs7ZUFFRztZQUNILE9BQU8sRUFBRSxHQUF5QixFQUFFLENBQ2xDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDbkMsU0FBUyxFQUNULEVBQUUsRUFDRixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQ3pCLFdBQVcsQ0FDWjtZQUVIOztlQUVHO1lBQ0gsU0FBUyxFQUFFLEdBQXlCLEVBQUUsQ0FDcEMsSUFBSSxDQUFDLGdDQUFnQyxDQUNuQyxXQUFXLEVBQ1gsRUFBRSxFQUNGLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFDekIsV0FBVyxDQUNaO1lBRUg7O2VBRUc7WUFDSCxtQkFBbUIsRUFBRSxDQUFDLGFBQTRCLEVBQXdCLEVBQUUsQ0FDMUUsSUFBSSxDQUFDLGdDQUFnQyxDQUNuQyxlQUFlLEVBQ2YsRUFBRSxFQUNGLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFDbEQsV0FBVyxFQUNYLFVBQVUsQ0FBQyxLQUFLLENBQ2pCO1lBRUg7O2VBRUc7WUFDSCxxQkFBcUIsRUFBRSxHQUF5QixFQUFFLENBQ2hELElBQUksQ0FBQyxnQ0FBZ0MsQ0FDbkMsZUFBZSxFQUNmLEVBQUUsRUFDRixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFDdEMsV0FBVyxFQUNYLFVBQVUsQ0FBQyxLQUFLLENBQ2pCO1NBQ0osQ0FBQztJQUNKLENBQUM7Q0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO0NBS3REO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0NBaUIvQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLElBQWlCO0lBQ3JELFlBQVksSUFBVTtRQUNwQixLQUFLLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFrQztJQUN4RSxZQUFZLElBQVU7UUFDcEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0YifQ==