Files
helvoirtgevelreiniging.nl/scripts/gen-over-ons-images.mjs
T

34 lines
2.0 KiB
JavaScript

/**
* Wave 1 — beeldvelden toevoegen aan over_ons (klantfeedback: "ik mis de herobanner").
* Twee image-velden (hero_image + story_image), logisch tussen de tekstvelden geplaatst.
* Leeg laten = de .astro valt terug op de huidige statische foto's (pagina blijft identiek);
* de SEO-partij kan in het veld een eigen afbeelding uploaden.
*/
import { ulid } from "ulidx";
import { writeFileSync, mkdirSync } from "node:fs";
const coll = "(SELECT id FROM _emdash_collections WHERE slug='over_ons')";
const q = (s) => "'" + String(s).replace(/'/g, "''") + "'";
const imgField = (slug, label, sort) =>
`INSERT INTO _emdash_fields (id, collection_id, slug, label, type, column_type, required, sort_order, searchable, translatable) ` +
`VALUES (${q(ulid())}, ${coll}, ${q(slug)}, ${q(label)}, 'image', 'TEXT', 0, ${sort}, 0, 1);`;
const sql = `-- Auto-gegenereerd — Over ons: hero- en verhaal-afbeelding beheerbaar maken.
ALTER TABLE ec_over_ons ADD COLUMN hero_image TEXT;
ALTER TABLE ec_over_ons ADD COLUMN story_image TEXT;
-- Herorden zodat de beeldvelden logisch tussen de tekst staan.
UPDATE _emdash_fields SET sort_order=4 WHERE collection_id=${coll} AND slug='story_title';
UPDATE _emdash_fields SET sort_order=5 WHERE collection_id=${coll} AND slug='story_body';
UPDATE _emdash_fields SET sort_order=7 WHERE collection_id=${coll} AND slug='values_title';
UPDATE _emdash_fields SET sort_order=8 WHERE collection_id=${coll} AND slug='values_intro';
UPDATE _emdash_fields SET sort_order=9 WHERE collection_id=${coll} AND slug='waarden';
UPDATE _emdash_fields SET sort_order=10 WHERE collection_id=${coll} AND slug='meta_title';
UPDATE _emdash_fields SET sort_order=11 WHERE collection_id=${coll} AND slug='meta_description';
${imgField("hero_image", "Hero · afbeelding (banner) — leeg = standaardfoto", 3)}
${imgField("story_image", "Verhaal · foto — leeg = standaardfoto", 6)}
`;
mkdirSync("migrations", { recursive: true });
writeFileSync("migrations/0004_over_ons_images.sql", sql, "utf8");
console.log("geschreven: migrations/0004_over_ons_images.sql");