UNPKG

contentful-migration

Version:
48 lines 2.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateIntents = exports.default = exports.invalidActionError = void 0; const content_type_1 = __importDefault(require("./content-type")); const tag_1 = __importDefault(require("./tag")); const field_1 = __importDefault(require("./field")); const editor_layout_1 = __importDefault(require("./editor-layout")); const duplicate_props_1 = __importDefault(require("./duplicate-props")); const content_type_2 = require("../../entities/content-type"); const invalidActionError = (message, intent) => { return { type: 'InvalidAction', message: message, details: { intent } }; }; exports.invalidActionError = invalidActionError; function validateIntents(intentList, contentTypes, editorInterfaces, tags) { const intents = intentList.getIntents(); const ctErrors = (0, content_type_1.default)(intents, contentTypes); if (ctErrors.length > 0) { return ctErrors; } const createCTs = intents.filter((intent) => intent.isContentTypeCreate()); const createdIds = createCTs.map((createIntent) => createIntent.getContentTypeId()); const createdCTs = createdIds.map((id) => new content_type_2.ContentType({ sys: { id, version: 0 }, name: undefined, fields: [] })); const allCTs = contentTypes.concat(createdCTs); let { errors: fieldErrors, fieldsContext } = (0, field_1.default)(intents, allCTs); fieldErrors = fieldErrors.concat((0, duplicate_props_1.default)(intentList)); if (fieldErrors.length > 0) { return fieldErrors; } let editorLayoutErrors = (0, editor_layout_1.default)(intents, editorInterfaces, fieldsContext, allCTs); if (editorLayoutErrors.length > 0) { return editorLayoutErrors; } const tagErrors = (0, tag_1.default)(intents, tags); if (tagErrors.length > 0) { return tagErrors; } return []; } exports.default = validateIntents; exports.validateIntents = validateIntents; //# sourceMappingURL=index.js.map