From 79a792ac6205ab40ea557756f33ec5dca45cd5ff Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 7 Mar 2024 14:11:00 +0100 Subject: [PATCH] feat: Add app config serializer --- .../backend/src/serializers/app-config.js | 15 +++++++++++ .../src/serializers/app-config.test.js | 27 +++++++++++++++++++ packages/backend/src/serializers/index.js | 2 ++ 3 files changed, 44 insertions(+) create mode 100644 packages/backend/src/serializers/app-config.js create mode 100644 packages/backend/src/serializers/app-config.test.js diff --git a/packages/backend/src/serializers/app-config.js b/packages/backend/src/serializers/app-config.js new file mode 100644 index 00000000..0efd562b --- /dev/null +++ b/packages/backend/src/serializers/app-config.js @@ -0,0 +1,15 @@ +const appConfigSerializer = (appConfig) => { + return { + id: appConfig.id, + key: appConfig.key, + allowCustomConnection: appConfig.allowCustomConnection, + shared: appConfig.shared, + disabled: appConfig.disabled, + canConnect: appConfig.canConnect, + canCustomConnect: appConfig.canCustomConnect, + createdAt: appConfig.createdAt.getTime(), + updatedAt: appConfig.updatedAt.getTime(), + }; +}; + +export default appConfigSerializer; diff --git a/packages/backend/src/serializers/app-config.test.js b/packages/backend/src/serializers/app-config.test.js new file mode 100644 index 00000000..c0ede918 --- /dev/null +++ b/packages/backend/src/serializers/app-config.test.js @@ -0,0 +1,27 @@ +import { describe, it, expect, beforeEach } from 'vitest'; +import { createAppConfig } from '../../test/factories/app-config'; +import appConfigSerializer from './app-config'; + +describe('appConfig serializer', () => { + let appConfig; + + beforeEach(async () => { + appConfig = await createAppConfig(); + }); + + it('should return app config data', async () => { + const expectedPayload = { + id: appConfig.id, + key: appConfig.key, + allowCustomConnection: appConfig.allowCustomConnection, + shared: appConfig.shared, + disabled: appConfig.disabled, + canConnect: appConfig.canConnect, + canCustomConnect: appConfig.canCustomConnect, + createdAt: appConfig.createdAt.getTime(), + updatedAt: appConfig.updatedAt.getTime(), + }; + + expect(appConfigSerializer(appConfig)).toEqual(expectedPayload); + }); +}); diff --git a/packages/backend/src/serializers/index.js b/packages/backend/src/serializers/index.js index c35be112..9e0c3e82 100644 --- a/packages/backend/src/serializers/index.js +++ b/packages/backend/src/serializers/index.js @@ -3,6 +3,7 @@ import roleSerializer from './role.js'; import permissionSerializer from './permission.js'; import samlAuthProviderSerializer from './saml-auth-provider.ee.js'; import appAuthClientSerializer from './app-auth-client.js'; +import appConfigSerializer from './app-config.js'; import flowSerializer from './flow.js'; import stepSerializer from './step.js'; import appSerializer from './app.js'; @@ -18,6 +19,7 @@ const serializers = { Permission: permissionSerializer, SamlAuthProvider: samlAuthProviderSerializer, AppAuthClient: appAuthClientSerializer, + AppConfig: appConfigSerializer, Flow: flowSerializer, Step: stepSerializer, App: appSerializer,