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