chore: add new route
This commit is contained in:
@@ -2,6 +2,7 @@ import { EntityManager } from "@mikro-orm/postgresql";
|
||||
import { Seeder } from "@mikro-orm/seeder";
|
||||
import { Logger } from "@nestjs/common";
|
||||
|
||||
import { NotificationSettingSeeder } from "./notif-setting.seeder";
|
||||
// import { PaymentGatewaySeeder } from "./payment-gateway.seeder";
|
||||
import { RoleSeeder } from "./role.seeder";
|
||||
|
||||
@@ -11,6 +12,7 @@ export class IndexSeeder extends Seeder {
|
||||
async run(em: EntityManager): Promise<void> {
|
||||
this.logger.log("Starting seeding process...");
|
||||
await new RoleSeeder().run(em);
|
||||
await new NotificationSettingSeeder().run(em);
|
||||
// await new PaymentGatewaySeeder().run(em);
|
||||
this.logger.log("Seeding process completed successfully.");
|
||||
}
|
||||
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
import { EntityManager, RequiredEntityData } from "@mikro-orm/postgresql";
|
||||
import { Seeder } from "@mikro-orm/seeder";
|
||||
import { Logger } from "@nestjs/common";
|
||||
|
||||
import { NotificationSetting } from "../../src/modules/settings/entities/notification-setting.entity";
|
||||
import { NotifDescriptions, NotifType } from "../../src/modules/settings/enums/notif-settings.enum";
|
||||
|
||||
export class NotificationSettingSeeder extends Seeder {
|
||||
private readonly logger = new Logger(NotificationSettingSeeder.name);
|
||||
|
||||
async run(em: EntityManager): Promise<void> {
|
||||
const notifSettingsData: RequiredEntityData<NotificationSetting>[] = Object.entries(NotifDescriptions).map(([type, { category, fa }]) => ({
|
||||
type: type as NotifType,
|
||||
category,
|
||||
description: fa,
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
}));
|
||||
|
||||
for (const notifSettingData of notifSettingsData) {
|
||||
const existingSetting = await em.findOne(NotificationSetting, { type: notifSettingData.type });
|
||||
if (!existingSetting) {
|
||||
const notifSetting = em.create(NotificationSetting, notifSettingData);
|
||||
await em.persistAndFlush(notifSetting);
|
||||
this.logger.log(`[NotificationSettingSeeder] Created notification setting: ${notifSettingData.type}`);
|
||||
} else {
|
||||
this.logger.log(`[NotificationSettingSeeder] Notification setting already exists: ${notifSettingData.type}`);
|
||||
}
|
||||
}
|
||||
|
||||
this.logger.log(`[NotificationSettingSeeder] Seeding completed for ${notifSettingsData.length} notification settings.`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user