@botonic/plugin-contentful
Version:
## What Does This Plugin Do?
36 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.InputDelivery = void 0;
const tslib_1 = require("tslib");
const cms = tslib_1.__importStar(require("../../cms"));
const delivery_utils_1 = require("../delivery-utils");
const callback_delivery_1 = require("./callback-delivery");
const reference_1 = require("./reference");
class InputDelivery extends reference_1.DeliveryWithReference {
constructor(delivery, resumeErrors) {
super(cms.ContentType.INPUT, delivery, resumeErrors);
}
input(id, context) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const entry = yield this.getEntry(id, context);
return this.fromEntry(entry, context);
});
}
fromEntry(entry, context) {
const fields = entry.fields;
const common = delivery_utils_1.ContentfulEntryUtils.commonFieldsFromEntry(entry);
const referenceDelivery = {
delivery: this.reference,
context,
};
return (0, delivery_utils_1.addCustomFields)(new cms.Input(common, fields.title, fields.keywords, this.target(entry, context), fields.type), entry.fields, referenceDelivery);
}
target(entry, context) {
if (!entry.fields.target) {
throw new cms.CmsException(`Input ${this.entryId(entry)} has no target`);
}
return (0, callback_delivery_1.getTargetCallback)(entry.fields.target, context);
}
}
exports.InputDelivery = InputDelivery;
//# sourceMappingURL=input.js.map