UNPKG

@becklyn/contentful-adapter

Version:

[![CI](https://github.com/Becklyn-Studios/contentful-adapter/actions/workflows/ci.yml/badge.svg)](https://github.com/Becklyn-Studios/contentful-adapter/actions/workflows/ci.yml)

84 lines (83 loc) 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBlockTextMigration = void 0; const block_1 = require("./block"); const rte_1 = require("../rte"); const translations = { en: { blockText: { name: "🧩 Block > Text", fields: { overline: "Overline", headline: "Headline", text: "Text", labeledLink: "Button", }, }, }, de: { blockText: { name: "🧩 Block > Text", fields: { overline: "Overline", headline: "Überschrift", text: "Text", labeledLink: "Button", }, }, }, }; const getBlockTextMigration = (language) => { const t = translations[language]; return { component: "blockText", migrations: { 1: migration => { const blockText = migration.createContentType("blockText", { name: t.blockText.name, }); blockText.createField("overline", { type: "Symbol", name: t.blockText.fields.overline, }); blockText.createField("headline", { type: "Symbol", name: t.blockText.fields.headline, required: true, }); blockText.createField("text", { type: "RichText", name: t.blockText.fields.text, validations: (0, rte_1.getRteValidation)(rte_1.RTE_TYPE_STYLED_FONT_AND_LIST), }); (0, block_1.migrateBaseBlockFields)(blockText, language); }, 2: migration => { const blockText = migration.editContentType("blockText"); blockText.deleteField("headline"); blockText.createField("headline", { type: "RichText", name: t.blockText.fields.headline, validations: (0, rte_1.getRteValidation)(rte_1.RTE_TYPE_HEADLINE), }); blockText.moveField("headline").afterField("name"); }, 3: migration => { const blockText = migration.editContentType("blockText"); blockText.editField("headline").required(true); blockText.moveField("headline").afterField("overline"); }, 4: migration => { const blockText = migration.editContentType("blockText"); blockText.createField("labeledLink", { type: "Link", name: t.blockText.fields.labeledLink, linkType: "Entry", validations: [{ linkContentType: ["labeledLink"] }], }); blockText.moveField("labeledLink").afterField("text"); }, }, }; }; exports.getBlockTextMigration = getBlockTextMigration;