mirror of
https://github.com/hexastack/hexabot
synced 2025-05-09 15:10:57 +00:00
fix: address comments
This commit is contained in:
parent
7a8a8fa151
commit
1e2fb1cfba
@ -24,7 +24,6 @@ import { nlpValueModels } from './nlp/seeds/nlp-value.seed-model';
|
|||||||
import { SettingSeeder } from './setting/seeds/setting.seed';
|
import { SettingSeeder } from './setting/seeds/setting.seed';
|
||||||
import { DEFAULT_SETTINGS } from './setting/seeds/setting.seed-model';
|
import { DEFAULT_SETTINGS } from './setting/seeds/setting.seed-model';
|
||||||
import { PermissionCreateDto } from './user/dto/permission.dto';
|
import { PermissionCreateDto } from './user/dto/permission.dto';
|
||||||
import { Model } from './user/schemas/model.schema';
|
|
||||||
import { Role } from './user/schemas/role.schema';
|
import { Role } from './user/schemas/role.schema';
|
||||||
import { ModelSeeder } from './user/seeds/model.seed';
|
import { ModelSeeder } from './user/seeds/model.seed';
|
||||||
import { modelModels } from './user/seeds/model.seed-model';
|
import { modelModels } from './user/seeds/model.seed-model';
|
||||||
@ -72,8 +71,8 @@ export async function seedDatabase(app: INestApplicationContext) {
|
|||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
const models = (await modelSeeder.findAll()) as Model[];
|
const models = await modelSeeder.findAll();
|
||||||
const roles = (await roleSeeder.findAll()) as Role[];
|
const roles = await roleSeeder.findAll();
|
||||||
const adminRole = roles.find(({ name }) => name === 'admin') as Role;
|
const adminRole = roles.find(({ name }) => name === 'admin') as Role;
|
||||||
const managerRole = roles.find(({ name }) => name === 'manager') as Role;
|
const managerRole = roles.find(({ name }) => name === 'manager') as Role;
|
||||||
const managerModels = models.filter(
|
const managerModels = models.filter(
|
||||||
@ -84,11 +83,11 @@ export async function seedDatabase(app: INestApplicationContext) {
|
|||||||
...managerModels.map((model) => [model.id, managerRole.id]),
|
...managerModels.map((model) => [model.id, managerRole.id]),
|
||||||
] as [string, string][];
|
] as [string, string][];
|
||||||
|
|
||||||
const permissionSeeds = roleModelsCombinations.reduce<PermissionCreateDto[]>(
|
const permissionSeeds = roleModelsCombinations.reduce(
|
||||||
(acc, [modelId, roleId]) => {
|
(acc, [modelId, roleId]) => {
|
||||||
return acc.concat(permissionModels(modelId, roleId));
|
return acc.concat(permissionModels(modelId, roleId));
|
||||||
},
|
},
|
||||||
[],
|
[] as PermissionCreateDto[],
|
||||||
);
|
);
|
||||||
|
|
||||||
// Seed permissions
|
// Seed permissions
|
||||||
|
@ -52,11 +52,16 @@ export class SettingRepository extends BaseRepository<Setting> {
|
|||||||
if (payload && 'value' in payload) {
|
if (payload && 'value' in payload) {
|
||||||
const hasType = 'type' in payload;
|
const hasType = 'type' in payload;
|
||||||
if (hasType) {
|
if (hasType) {
|
||||||
|
// Case when we need to update both the type and value
|
||||||
this.validateSettingValue(payload.type, payload.value);
|
this.validateSettingValue(payload.type, payload.value);
|
||||||
} else {
|
} else {
|
||||||
|
// Case when we only update the setting value
|
||||||
const setting = await this.findOne(criteria);
|
const setting = await this.findOne(criteria);
|
||||||
if (setting && 'type' in setting)
|
if (setting && 'type' in setting) {
|
||||||
this.validateSettingValue(setting.type, payload.value);
|
this.validateSettingValue(setting.type, payload.value);
|
||||||
|
} else {
|
||||||
|
throw new Error('Unable to find the setting to be updated');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ export interface NumberSetting extends Setting {
|
|||||||
type: SettingType.number;
|
type: SettingType.number;
|
||||||
value: number;
|
value: number;
|
||||||
options: never;
|
options: never;
|
||||||
config: {
|
config?: {
|
||||||
min: number;
|
min: number;
|
||||||
max: number;
|
max: number;
|
||||||
step: number;
|
step: number;
|
||||||
|
Loading…
Reference in New Issue
Block a user