feat(serializers): add config serializer
This commit is contained in:
@@ -13,10 +13,7 @@ export default async (request, response) => {
|
|||||||
|
|
||||||
const dynamicConfig = await Config.get();
|
const dynamicConfig = await Config.get();
|
||||||
|
|
||||||
const dynamicAndStaticConfig = {
|
const dynamicAndStaticConfig = Object.assign(dynamicConfig, staticConfig);
|
||||||
...dynamicConfig,
|
|
||||||
...staticConfig,
|
|
||||||
};
|
|
||||||
|
|
||||||
renderObject(response, dynamicAndStaticConfig);
|
renderObject(response, dynamicAndStaticConfig);
|
||||||
};
|
};
|
||||||
|
@@ -10,7 +10,7 @@ describe('GET /api/v1/automatisch/config', () => {
|
|||||||
it('should return Automatisch config', async () => {
|
it('should return Automatisch config', async () => {
|
||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
const logoConfig = await updateConfig({
|
const config = await updateConfig({
|
||||||
logoSvgData: '<svg>Sample</svg>',
|
logoSvgData: '<svg>Sample</svg>',
|
||||||
palettePrimaryDark: '#001f52',
|
palettePrimaryDark: '#001f52',
|
||||||
palettePrimaryLight: '#4286FF',
|
palettePrimaryLight: '#4286FF',
|
||||||
@@ -22,9 +22,9 @@ describe('GET /api/v1/automatisch/config', () => {
|
|||||||
.get('/api/v1/automatisch/config')
|
.get('/api/v1/automatisch/config')
|
||||||
.expect(200);
|
.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 () => {
|
it('should return additional environment variables', async () => {
|
||||||
|
17
packages/backend/src/serializers/config.js
Normal file
17
packages/backend/src/serializers/config.js
Normal file
@@ -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;
|
@@ -17,6 +17,7 @@ import executionSerializer from './execution.js';
|
|||||||
import executionStepSerializer from './execution-step.js';
|
import executionStepSerializer from './execution-step.js';
|
||||||
import subscriptionSerializer from './subscription.ee.js';
|
import subscriptionSerializer from './subscription.ee.js';
|
||||||
import adminUserSerializer from './admin/user.js';
|
import adminUserSerializer from './admin/user.js';
|
||||||
|
import configSerializer from './config.js';
|
||||||
|
|
||||||
const serializers = {
|
const serializers = {
|
||||||
AdminUser: adminUserSerializer,
|
AdminUser: adminUserSerializer,
|
||||||
@@ -38,6 +39,7 @@ const serializers = {
|
|||||||
Execution: executionSerializer,
|
Execution: executionSerializer,
|
||||||
ExecutionStep: executionStepSerializer,
|
ExecutionStep: executionStepSerializer,
|
||||||
Subscription: subscriptionSerializer,
|
Subscription: subscriptionSerializer,
|
||||||
|
Config: configSerializer,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default serializers;
|
export default serializers;
|
||||||
|
@@ -1,12 +1,16 @@
|
|||||||
const configMock = (config) => {
|
const configMock = (config) => {
|
||||||
return {
|
return {
|
||||||
data: {
|
data: {
|
||||||
|
id: config.id,
|
||||||
|
updatedAt: config.updatedAt.getTime(),
|
||||||
|
createdAt: config.createdAt.getTime(),
|
||||||
disableFavicon: false,
|
disableFavicon: false,
|
||||||
disableNotificationsPage: false,
|
disableNotificationsPage: false,
|
||||||
logoSvgData: config.logoSvgData,
|
logoSvgData: config.logoSvgData,
|
||||||
palettePrimaryDark: config.palettePrimaryDark,
|
palettePrimaryDark: config.palettePrimaryDark,
|
||||||
palettePrimaryMain: config.palettePrimaryMain,
|
palettePrimaryMain: config.palettePrimaryMain,
|
||||||
palettePrimaryLight: config.palettePrimaryLight,
|
palettePrimaryLight: config.palettePrimaryLight,
|
||||||
|
installationCompleted: config.installationCompleted || false,
|
||||||
title: config.title,
|
title: config.title,
|
||||||
},
|
},
|
||||||
meta: {
|
meta: {
|
||||||
@@ -14,7 +18,7 @@ const configMock = (config) => {
|
|||||||
currentPage: null,
|
currentPage: null,
|
||||||
isArray: false,
|
isArray: false,
|
||||||
totalPages: null,
|
totalPages: null,
|
||||||
type: 'Object',
|
type: 'Config',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user