From 1e2fb1cfbafc68b8df1fba6fc526fced4f669dbc Mon Sep 17 00:00:00 2001 From: abdou6666 Date: Mon, 30 Dec 2024 09:44:17 +0100 Subject: [PATCH] fix: address comments --- api/src/seeder.ts | 9 ++++----- api/src/setting/repositories/setting.repository.ts | 7 ++++++- api/src/setting/schemas/types.ts | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/api/src/seeder.ts b/api/src/seeder.ts index 92c63e99..006fad27 100644 --- a/api/src/seeder.ts +++ b/api/src/seeder.ts @@ -24,7 +24,6 @@ import { nlpValueModels } from './nlp/seeds/nlp-value.seed-model'; import { SettingSeeder } from './setting/seeds/setting.seed'; import { DEFAULT_SETTINGS } from './setting/seeds/setting.seed-model'; import { PermissionCreateDto } from './user/dto/permission.dto'; -import { Model } from './user/schemas/model.schema'; import { Role } from './user/schemas/role.schema'; import { ModelSeeder } from './user/seeds/model.seed'; import { modelModels } from './user/seeds/model.seed-model'; @@ -72,8 +71,8 @@ export async function seedDatabase(app: INestApplicationContext) { throw e; } - const models = (await modelSeeder.findAll()) as Model[]; - const roles = (await roleSeeder.findAll()) as Role[]; + const models = await modelSeeder.findAll(); + const roles = await roleSeeder.findAll(); const adminRole = roles.find(({ name }) => name === 'admin') as Role; const managerRole = roles.find(({ name }) => name === 'manager') as Role; const managerModels = models.filter( @@ -84,11 +83,11 @@ export async function seedDatabase(app: INestApplicationContext) { ...managerModels.map((model) => [model.id, managerRole.id]), ] as [string, string][]; - const permissionSeeds = roleModelsCombinations.reduce( + const permissionSeeds = roleModelsCombinations.reduce( (acc, [modelId, roleId]) => { return acc.concat(permissionModels(modelId, roleId)); }, - [], + [] as PermissionCreateDto[], ); // Seed permissions diff --git a/api/src/setting/repositories/setting.repository.ts b/api/src/setting/repositories/setting.repository.ts index 40283b75..47e3ed5d 100644 --- a/api/src/setting/repositories/setting.repository.ts +++ b/api/src/setting/repositories/setting.repository.ts @@ -52,11 +52,16 @@ export class SettingRepository extends BaseRepository { if (payload && 'value' in payload) { const hasType = 'type' in payload; if (hasType) { + // Case when we need to update both the type and value this.validateSettingValue(payload.type, payload.value); } else { + // Case when we only update the setting value const setting = await this.findOne(criteria); - if (setting && 'type' in setting) + if (setting && 'type' in setting) { this.validateSettingValue(setting.type, payload.value); + } else { + throw new Error('Unable to find the setting to be updated'); + } } } } diff --git a/api/src/setting/schemas/types.ts b/api/src/setting/schemas/types.ts index e4981b82..fbf30493 100644 --- a/api/src/setting/schemas/types.ts +++ b/api/src/setting/schemas/types.ts @@ -77,7 +77,7 @@ export interface NumberSetting extends Setting { type: SettingType.number; value: number; options: never; - config: { + config?: { min: number; max: number; step: number;