From d6cf8d400a0177ee9030a171cf2ca47ade293fd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Thu, 22 Sep 2022 14:34:51 +0200 Subject: [PATCH] fix(auth): settings and subscription settings projection --- .../src/Projection/SettingProjector.spec.ts | 7 +++++-- .../auth/src/Projection/SettingProjector.ts | 18 +++++++++--------- .../SubscriptionSettingProjector.spec.ts | 7 +++++-- .../Projection/SubscriptionSettingProjector.ts | 18 +++++++++--------- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/packages/auth/src/Projection/SettingProjector.spec.ts b/packages/auth/src/Projection/SettingProjector.spec.ts index cf8ef6a9d..1e695f85a 100644 --- a/packages/auth/src/Projection/SettingProjector.spec.ts +++ b/packages/auth/src/Projection/SettingProjector.spec.ts @@ -17,28 +17,31 @@ describe('SettingProjector', () => { serverEncryptionVersion: 1, createdAt: 1, updatedAt: 2, + sensitive: false, } as jest.Mocked }) it('should create a simple projection of a setting', async () => { const projection = await createProjector().projectSimple(setting) - expect(projection).toEqual({ + expect(projection).toStrictEqual({ uuid: 'setting-uuid', name: 'setting-name', value: 'setting-value', createdAt: 1, updatedAt: 2, + sensitive: false, }) }) it('should create a simple projection of list of settings', async () => { const projection = await createProjector().projectManySimple([setting]) - expect(projection).toEqual([ + expect(projection).toStrictEqual([ { uuid: 'setting-uuid', name: 'setting-name', value: 'setting-value', createdAt: 1, updatedAt: 2, + sensitive: false, }, ]) }) diff --git a/packages/auth/src/Projection/SettingProjector.ts b/packages/auth/src/Projection/SettingProjector.ts index ddacf99a6..7c07ad0c0 100644 --- a/packages/auth/src/Projection/SettingProjector.ts +++ b/packages/auth/src/Projection/SettingProjector.ts @@ -6,16 +6,16 @@ import { SimpleSetting } from '../Domain/Setting/SimpleSetting' @injectable() export class SettingProjector { async projectSimple(setting: Setting): Promise { - const { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - user, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - serverEncryptionVersion, - ...rest - } = setting - - return rest + return { + uuid: setting.uuid, + name: setting.name, + value: setting.value, + createdAt: setting.createdAt, + updatedAt: setting.updatedAt, + sensitive: setting.sensitive, + } } + async projectManySimple(settings: Setting[]): Promise { return Promise.all( settings.map(async (setting) => { diff --git a/packages/auth/src/Projection/SubscriptionSettingProjector.spec.ts b/packages/auth/src/Projection/SubscriptionSettingProjector.spec.ts index 1e9f51746..83c881fac 100644 --- a/packages/auth/src/Projection/SubscriptionSettingProjector.spec.ts +++ b/packages/auth/src/Projection/SubscriptionSettingProjector.spec.ts @@ -17,28 +17,31 @@ describe('SubscriptionSettingProjector', () => { serverEncryptionVersion: 1, createdAt: 1, updatedAt: 2, + sensitive: false, } as jest.Mocked }) it('should create a simple projection of a setting', async () => { const projection = await createProjector().projectSimple(setting) - expect(projection).toEqual({ + expect(projection).toStrictEqual({ uuid: 'setting-uuid', name: 'setting-name', value: 'setting-value', createdAt: 1, updatedAt: 2, + sensitive: false, }) }) it('should create a simple projection of list of settings', async () => { const projection = await createProjector().projectManySimple([setting]) - expect(projection).toEqual([ + expect(projection).toStrictEqual([ { uuid: 'setting-uuid', name: 'setting-name', value: 'setting-value', createdAt: 1, updatedAt: 2, + sensitive: false, }, ]) }) diff --git a/packages/auth/src/Projection/SubscriptionSettingProjector.ts b/packages/auth/src/Projection/SubscriptionSettingProjector.ts index 278aed772..00b6682a4 100644 --- a/packages/auth/src/Projection/SubscriptionSettingProjector.ts +++ b/packages/auth/src/Projection/SubscriptionSettingProjector.ts @@ -6,16 +6,16 @@ import { SubscriptionSetting } from '../Domain/Setting/SubscriptionSetting' @injectable() export class SubscriptionSettingProjector { async projectSimple(setting: SubscriptionSetting): Promise { - const { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - userSubscription, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - serverEncryptionVersion, - ...rest - } = setting - - return rest + return { + uuid: setting.uuid, + name: setting.name, + value: setting.value, + createdAt: setting.createdAt, + updatedAt: setting.updatedAt, + sensitive: setting.sensitive, + } } + async projectManySimple(settings: SubscriptionSetting[]): Promise { return Promise.all( settings.map(async (setting) => {