@botonic/plugin-contentful
Version:
## What Does This Plugin Do?
31 lines • 1.43 kB
JavaScript
import { __awaiter } from "tslib";
import * as cms from '../../cms';
import { addCustomFields, ContentfulEntryUtils, } from '../delivery-utils';
import { DeliveryWithReference } from './reference';
import { ScheduleDelivery } from './schedule';
export class QueueDelivery extends DeliveryWithReference {
constructor(delivery, schedule, resumeErrors) {
super(cms.ContentType.QUEUE, delivery, resumeErrors);
this.schedule = schedule;
}
queue(id, context) {
return __awaiter(this, void 0, void 0, function* () {
const entry = yield this.getEntry(id, context, { include: QueueDelivery.REFERENCES_INCLUDE });
return this.fromEntry(entry, context);
});
}
fromEntry(entry, context) {
return __awaiter(this, void 0, void 0, function* () {
const fields = entry.fields;
const schedule = fields.schedule &&
(yield this.schedule.fromEntry(fields.schedule, context));
const referenceDelivery = {
delivery: this.reference,
context,
};
return addCustomFields(new cms.Queue(ContentfulEntryUtils.commonFieldsFromEntry(entry), fields.queue, schedule && schedule.schedule, fields.handoffMessage), fields, referenceDelivery);
});
}
}
QueueDelivery.REFERENCES_INCLUDE = ScheduleDelivery.REFERENCES_INCLUDE + 1;
//# sourceMappingURL=queue.js.map