diff --git a/packages/backend/src/controllers/api/v1/automatisch/config.ee.test.js b/packages/backend/src/controllers/api/v1/automatisch/config.ee.test.js index effb2e9b..01ca3365 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/config.ee.test.js +++ b/packages/backend/src/controllers/api/v1/automatisch/config.ee.test.js @@ -27,6 +27,7 @@ describe('GET /api/v1/automatisch/config', () => { palettePrimaryLight: '#4286FF', palettePrimaryMain: '#0059F7', title: 'Sample Title', + enableTemplates: true, }); const response = await request(app) diff --git a/packages/backend/src/db/migrations/20250304111658_add_enable_templates_to_config.js b/packages/backend/src/db/migrations/20250304111658_add_enable_templates_to_config.js new file mode 100644 index 00000000..283f4cb9 --- /dev/null +++ b/packages/backend/src/db/migrations/20250304111658_add_enable_templates_to_config.js @@ -0,0 +1,11 @@ +export async function up(knex) { + return await knex.schema.alterTable('config', (table) => { + table.boolean('enable_templates'); + }); +} + +export async function down(knex) { + return await knex.schema.alterTable('config', (table) => { + table.dropColumn('enable_templates'); + }); +} diff --git a/packages/backend/src/models/__snapshots__/config.test.js.snap b/packages/backend/src/models/__snapshots__/config.test.js.snap index cf1c5274..b3650d4a 100644 --- a/packages/backend/src/models/__snapshots__/config.test.js.snap +++ b/packages/backend/src/models/__snapshots__/config.test.js.snap @@ -6,6 +6,12 @@ exports[`Config model > jsonSchema should have correct validations 1`] = ` "createdAt": { "type": "string", }, + "enableTemplates": { + "type": [ + "boolean", + "null", + ], + }, "id": { "format": "uuid", "type": "string", diff --git a/packages/backend/src/models/config.js b/packages/backend/src/models/config.js index f60e51bb..7fda0860 100644 --- a/packages/backend/src/models/config.js +++ b/packages/backend/src/models/config.js @@ -15,6 +15,7 @@ class Config extends Base { palettePrimaryLight: { type: ['string', 'null'] }, palettePrimaryMain: { type: ['string', 'null'] }, title: { type: ['string', 'null'] }, + enableTemplates: { type: ['boolean', 'null'] }, createdAt: { type: 'string' }, updatedAt: { type: 'string' }, }, diff --git a/packages/backend/src/serializers/config.js b/packages/backend/src/serializers/config.js index 6625a1c9..44308938 100644 --- a/packages/backend/src/serializers/config.js +++ b/packages/backend/src/serializers/config.js @@ -5,6 +5,7 @@ const configSerializer = (config) => { createdAt: config.createdAt.getTime(), disableFavicon: config.disableFavicon, disableNotificationsPage: config.disableNotificationsPage, + enableTemplates: config.enableTemplates, additionalDrawerLink: config.additionalDrawerLink, additionalDrawerLinkIcon: config.additionalDrawerLinkIcon, additionalDrawerLinkText: config.additionalDrawerLinkText, diff --git a/packages/backend/src/serializers/config.test.js b/packages/backend/src/serializers/config.test.js index d3339bf2..025f286a 100644 --- a/packages/backend/src/serializers/config.test.js +++ b/packages/backend/src/serializers/config.test.js @@ -14,6 +14,7 @@ describe('configSerializer', () => { id: config.id, disableFavicon: config.disableFavicon, disableNotificationsPage: config.disableNotificationsPage, + enableTemplates: config.enableTemplates, logoSvgData: config.logoSvgData, palettePrimaryDark: config.palettePrimaryDark, palettePrimaryMain: config.palettePrimaryMain, diff --git a/packages/backend/test/mocks/rest/api/v1/automatisch/config.js b/packages/backend/test/mocks/rest/api/v1/automatisch/config.js index 62ae351e..eae9202c 100644 --- a/packages/backend/test/mocks/rest/api/v1/automatisch/config.js +++ b/packages/backend/test/mocks/rest/api/v1/automatisch/config.js @@ -15,6 +15,7 @@ const configMock = (config) => { palettePrimaryLight: config.palettePrimaryLight, installationCompleted: config.installationCompleted || false, title: config.title, + enableTemplates: config.enableTemplates, }, meta: { count: 1,