UNPKG

dc-management-sdk-js

Version:
66 lines 4.54 kB
import { HttpMethod } from '../..'; import { HalResource } from '../hal/models/HalResource'; import { EditionSlotsPage } from './EditionSlot'; import { Event } from './Event'; import { Page } from './Page'; /** * Class representing the [Edition](https://amplience.com/docs/api/dynamic-content/management/#tag/Editions) resource. * An Edition is the main way of scheduling content to be published on a specific date. * It holds the association between slots and content items. Once all slots are valid and * there are no conflicts, it is ready to be scheduled. */ export class Edition extends HalResource { constructor() { super(...arguments); /** * Resources and actions related to an Edition */ this.related = { /** * Archive Edition */ archive: () => this.performActionThatReturnsResource('archive', {}, {}, Edition), /** * Delete Edition */ delete: () => this.deleteResource(), /** * Retrieves the Event associated with this Edition */ event: () => this.fetchLinkedResource('event', {}, Event), slots: { /** * Retrieves a list of slots associated with this Edition * @param options Pagination options */ list: (options) => this.fetchLinkedResource('list-slots', options, EditionSlotsPage), /** * Creates new edition slots from a list of content IDs */ create: (slots) => this.performActionThatReturnsResource('slots', {}, slots, EditionSlotsPage), }, /** * Schedule Edition */ schedule: (ignoreWarnings = false, lastModifiedDate = new Date().toISOString()) => this.performActionWithoutResourceResponse('schedule', { ignoreWarnings }, { lastModifiedDate }, HttpMethod.POST), /** * Unschedule Edition */ unschedule: () => this.deleteLinkedResource('schedule', {}), /** * Updates this Edition with the changes in the mutation parameter. * @param mutation Mutated edition */ update: (mutation) => this.updateResource(mutation, Edition), }; } } /** * @hidden */ export class EditionsPage extends Page { constructor(data) { super('editions', Edition, data); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWRpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbW9kZWwvRWRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLE9BQU8sQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQXVDOUI7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sT0FBUSxTQUFRLFdBQVc7SUFBeEM7O1FBa0ZFOztXQUVHO1FBQ2EsWUFBTyxHQUFHO1lBQ3hCOztlQUVHO1lBQ0gsT0FBTyxFQUFFLEdBQXFCLEVBQUUsQ0FDOUIsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQztZQUVuRTs7ZUFFRztZQUNILE1BQU0sRUFBRSxHQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUVsRDs7ZUFFRztZQUNILEtBQUssRUFBRSxHQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1lBRXpFLEtBQUssRUFBRTtnQkFDTDs7O21CQUdHO2dCQUNILElBQUksRUFBRSxDQUFDLE9BQTZCLEVBQThCLEVBQUUsQ0FDbEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7Z0JBRW5FOzttQkFFRztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxLQUEyQixFQUE4QixFQUFFLENBQ2xFLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDbkMsT0FBTyxFQUNQLEVBQUUsRUFDRixLQUFLLEVBQ0wsZ0JBQWdCLENBQ2pCO2FBQ0o7WUFFRDs7ZUFFRztZQUNILFFBQVEsRUFBRSxDQUNSLGNBQWMsR0FBRyxLQUFLLEVBQ3RCLGdCQUFnQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQzVCLEVBQUUsQ0FDakIsSUFBSSxDQUFDLG9DQUFvQyxDQUN2QyxVQUFVLEVBQ1YsRUFBRSxjQUFjLEVBQUUsRUFDbEIsRUFBRSxnQkFBZ0IsRUFBRSxFQUNwQixVQUFVLENBQUMsSUFBSSxDQUNoQjtZQUVIOztlQUVHO1lBQ0gsVUFBVSxFQUFFLEdBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUUxRTs7O2VBR0c7WUFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFpQixFQUFvQixFQUFFLENBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQztTQUN6QyxDQUFDO0lBQ0osQ0FBQztDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLElBQWE7SUFDN0MsWUFBWSxJQUFVO1FBQ3BCLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRiJ9