diff --git a/packages/backend/src/controllers/api/v1/automatisch/config.ee.js b/packages/backend/src/controllers/api/v1/automatisch/config.ee.js index db0b0224..04f92375 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/config.ee.js +++ b/packages/backend/src/controllers/api/v1/automatisch/config.ee.js @@ -13,10 +13,7 @@ export default async (request, response) => { const dynamicConfig = await Config.get(); - const dynamicAndStaticConfig = { - ...dynamicConfig, - ...staticConfig, - }; + const dynamicAndStaticConfig = Object.assign(dynamicConfig, staticConfig); renderObject(response, dynamicAndStaticConfig); }; 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 ad1f95c2..a83c3cfb 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 @@ -10,7 +10,7 @@ describe('GET /api/v1/automatisch/config', () => { it('should return Automatisch config', async () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); - const logoConfig = await updateConfig({ + const config = await updateConfig({ logoSvgData: 'Sample', palettePrimaryDark: '#001f52', palettePrimaryLight: '#4286FF', @@ -22,9 +22,9 @@ describe('GET /api/v1/automatisch/config', () => { .get('/api/v1/automatisch/config') .expect(200); - const expectedPayload = configMock(logoConfig); + const expectedPayload = configMock(config); - expect(response.body).toEqual(expectedPayload); + expect(response.body).toStrictEqual(expectedPayload); }); it('should return additional environment variables', async () => { diff --git a/packages/backend/src/serializers/config.js b/packages/backend/src/serializers/config.js new file mode 100644 index 00000000..2d7a7393 --- /dev/null +++ b/packages/backend/src/serializers/config.js @@ -0,0 +1,17 @@ +const configSerializer = (config) => { + return { + id: config.id, + updatedAt: config.updatedAt.getTime(), + createdAt: config.createdAt.getTime(), + disableFavicon: config.disableFavicon, + disableNotificationsPage: config.disableNotificationsPage, + logoSvgData: config.logoSvgData, + palettePrimaryDark: config.palettePrimaryDark, + palettePrimaryMain: config.palettePrimaryMain, + palettePrimaryLight: config.palettePrimaryLight, + installationCompleted: config.installationCompleted, + title: config.title, + }; +}; + +export default configSerializer; diff --git a/packages/backend/src/serializers/index.js b/packages/backend/src/serializers/index.js index 971c4ded..9a38e5e9 100644 --- a/packages/backend/src/serializers/index.js +++ b/packages/backend/src/serializers/index.js @@ -17,6 +17,7 @@ import executionSerializer from './execution.js'; import executionStepSerializer from './execution-step.js'; import subscriptionSerializer from './subscription.ee.js'; import adminUserSerializer from './admin/user.js'; +import configSerializer from './config.js'; const serializers = { AdminUser: adminUserSerializer, @@ -38,6 +39,7 @@ const serializers = { Execution: executionSerializer, ExecutionStep: executionStepSerializer, Subscription: subscriptionSerializer, + Config: configSerializer, }; export default serializers; 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 0d35887c..1383a37d 100644 --- a/packages/backend/test/mocks/rest/api/v1/automatisch/config.js +++ b/packages/backend/test/mocks/rest/api/v1/automatisch/config.js @@ -1,12 +1,16 @@ const configMock = (config) => { return { data: { + id: config.id, + updatedAt: config.updatedAt.getTime(), + createdAt: config.createdAt.getTime(), disableFavicon: false, disableNotificationsPage: false, logoSvgData: config.logoSvgData, palettePrimaryDark: config.palettePrimaryDark, palettePrimaryMain: config.palettePrimaryMain, palettePrimaryLight: config.palettePrimaryLight, + installationCompleted: config.installationCompleted || false, title: config.title, }, meta: { @@ -14,7 +18,7 @@ const configMock = (config) => { currentPage: null, isArray: false, totalPages: null, - type: 'Object', + type: 'Config', }, }; };