From 0759495c2a2dcc6296c30de9026026946082fcb3 Mon Sep 17 00:00:00 2001 From: Duncan MacKenzie Date: Fri, 29 May 2026 15:01:28 -0700 Subject: [PATCH 1/3] CMS-1613: Add Feature "datesCanSpan2years" field --- ...-populate-feature-dates-can-span-2years.js | 39 +++++++++++++++++++ .../content-types/park-feature/schema.json | 5 +++ 2 files changed, 44 insertions(+) create mode 100644 src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js diff --git a/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js b/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js new file mode 100644 index 000000000..a2e997e6f --- /dev/null +++ b/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js @@ -0,0 +1,39 @@ +"use strict"; + +// feature_id values for park features that can have dates spanning 2 years +const featureIds = [ + "41_271", // Cultus Lake / Maple Bay Cabins / All cabins + "41_876", // Cultus Lake / Maple Bay day-use area / Picnic area + "7_360", // Garibaldi / Red Heather campground / All sites + "7_449", // Garibaldi / Taylor Meadows campground / All sites + "33_57", // EC Manning / Cambie Creek groupsite / All sites + "33_248", // EC Manning / (no area) / Lightning Lake day-use area + "5_313", // Mount Assiniboine / Og Lake Campground / All sites + "5_263", // Mount Assiniboine / Magog Lake Campground / All sites + "5_792", // Mount Assiniboine / Porcupine Campground / All sites + "314_476", // Porteau Cove / Porteau Cove walk-in sites / All sites + "314_914", // Porteau Cove / Porteau Cove Campground vehicle accessible sites / All sites + "409_185", // Ts'ilos Park / Gwe Da Ts'ih Campground / All sites +]; + +module.exports = { + async up(knex) { + // Skip if the table collection table doesn't exist + if (!(await knex.schema.hasTable("park_features"))) return; + + // Add the new column if it doesn't exist + // Strapi maps datesCanSpan2years to dates_can_span_2_years + if ( + !(await knex.schema.hasColumn("park_features", "dates_can_span_2_years")) + ) { + await knex.schema.table("park_features", (table) => { + table.boolean("dates_can_span_2_years").notNullable().defaultTo(false); + }); + } + + // Update the specified features to have their datesCanSpan2years value set to true + await knex("park_features") + .whereIn("feature_id", featureIds) + .update({ dates_can_span_2_years: true }); + }, +}; diff --git a/src/cms/src/api/park-feature/content-types/park-feature/schema.json b/src/cms/src/api/park-feature/content-types/park-feature/schema.json index 384e8aecd..c29308a80 100644 --- a/src/cms/src/api/park-feature/content-types/park-feature/schema.json +++ b/src/cms/src/api/park-feature/content-types/park-feature/schema.json @@ -248,6 +248,11 @@ "target": "api::park-gate.park-gate", "mappedBy": "parkFeature" }, + "datesCanSpan2years": { + "type": "boolean", + "required": true, + "default": false + }, "hasDates": { "type": "boolean", "default": false From e2cfc4043cbcc0b90057f622349bd04c9fa6da34 Mon Sep 17 00:00:00 2001 From: Duncan MacKenzie Date: Mon, 1 Jun 2026 10:53:13 -0700 Subject: [PATCH 2/3] CMS-1613: Fix comment typo --- ...26.05.29T00.00.011-populate-feature-dates-can-span-2years.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js b/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js index a2e997e6f..840e5ba1f 100644 --- a/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js +++ b/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js @@ -18,7 +18,7 @@ const featureIds = [ module.exports = { async up(knex) { - // Skip if the table collection table doesn't exist + // Skip if the collection table doesn't exist if (!(await knex.schema.hasTable("park_features"))) return; // Add the new column if it doesn't exist From 256bed825bea9734251009cf2b0d5890ad89fd0d Mon Sep 17 00:00:00 2001 From: Duncan MacKenzie Date: Mon, 1 Jun 2026 17:51:56 -0700 Subject: [PATCH 3/3] CMS-1613: Rename public field name: capitalize "Years" --- ....05.29T00.00.011-populate-feature-dates-can-span-2years.js | 4 ++-- .../api/park-feature/content-types/park-feature/schema.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js b/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js index 840e5ba1f..ccf2fe3fd 100644 --- a/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js +++ b/src/cms/database/migrations/2026.05.29T00.00.011-populate-feature-dates-can-span-2years.js @@ -22,7 +22,7 @@ module.exports = { if (!(await knex.schema.hasTable("park_features"))) return; // Add the new column if it doesn't exist - // Strapi maps datesCanSpan2years to dates_can_span_2_years + // Strapi maps datesCanSpan2Years to dates_can_span_2_years if ( !(await knex.schema.hasColumn("park_features", "dates_can_span_2_years")) ) { @@ -31,7 +31,7 @@ module.exports = { }); } - // Update the specified features to have their datesCanSpan2years value set to true + // Update the specified features to have their datesCanSpan2Years value set to true await knex("park_features") .whereIn("feature_id", featureIds) .update({ dates_can_span_2_years: true }); diff --git a/src/cms/src/api/park-feature/content-types/park-feature/schema.json b/src/cms/src/api/park-feature/content-types/park-feature/schema.json index c29308a80..63238bace 100644 --- a/src/cms/src/api/park-feature/content-types/park-feature/schema.json +++ b/src/cms/src/api/park-feature/content-types/park-feature/schema.json @@ -248,7 +248,7 @@ "target": "api::park-gate.park-gate", "mappedBy": "parkFeature" }, - "datesCanSpan2years": { + "datesCanSpan2Years": { "type": "boolean", "required": true, "default": false