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 dynamicAndStaticConfig = {
|
||||
...dynamicConfig,
|
||||
...staticConfig,
|
||||
};
|
||||
const dynamicAndStaticConfig = Object.assign(dynamicConfig, staticConfig);
|
||||
|
||||
renderObject(response, dynamicAndStaticConfig);
|
||||
};
|
||||
|
@@ -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: '<svg>Sample</svg>',
|
||||
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 () => {
|
||||
|
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 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;
|
||||
|
@@ -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',
|
||||
},
|
||||
};
|
||||
};
|
||||
|
Reference in New Issue
Block a user