chore: first commit

This commit is contained in:
mahyargdz
2025-06-24 11:26:06 +03:30
commit ccbf743ecb
186 changed files with 22258 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
import { EntityManager } from "@mikro-orm/postgresql";
import { Seeder } from "@mikro-orm/seeder";
import { Logger } from "@nestjs/common";
// import { PaymentGatewaySeeder } from "./payment-gateway.seeder";
import { RoleSeeder } from "./role.seeder";
export class IndexSeeder extends Seeder {
private readonly logger = new Logger(IndexSeeder.name);
async run(em: EntityManager): Promise<void> {
this.logger.log("Starting seeding process...");
await new RoleSeeder().run(em);
// await new PaymentGatewaySeeder().run(em);
this.logger.log("Seeding process completed successfully.");
}
}
@@ -0,0 +1,34 @@
// import { EntityManager, RequiredEntityData } from "@mikro-orm/postgresql";
// import { Seeder } from "@mikro-orm/seeder";
// import { Logger } from "@nestjs/common";
// import { PaymentGateway } from "../../src/modules/payments/entities/payment-gateway.entity";
// import { GatewayEnum } from "../../src/modules/payments/enums/gateway.enum";
// export class PaymentGatewaySeeder extends Seeder {
// private readonly logger = new Logger(PaymentGatewaySeeder.name);
// async run(em: EntityManager): Promise<void> {
// const paymentGateways: RequiredEntityData<PaymentGateway>[] = [
// {
// name: GatewayEnum.ZARINPAL,
// nameFa: "زرین پال",
// logoUrl: "https://storage.danakcorp.com/logo/fa-dark.png",
// description: "درگاه پرداخت زرین پال",
// },
// ];
// for (const paymentGateway of paymentGateways) {
// const existingPaymentGateway = await em.findOne(PaymentGateway, { name: paymentGateway.name });
// if (!existingPaymentGateway) {
// const createdPaymentGateway = em.create(PaymentGateway, paymentGateway);
// await em.persistAndFlush(createdPaymentGateway);
// this.logger.log(`[PaymentGatewaySeeder] Created payment gateway: ${createdPaymentGateway.name}`);
// } else {
// this.logger.log(`[PaymentGatewaySeeder] Payment gateway already exists: ${paymentGateway.name}`);
// }
// }
// }
// }
+36
View File
@@ -0,0 +1,36 @@
import { EntityManager, RequiredEntityData } from "@mikro-orm/postgresql";
import { Seeder } from "@mikro-orm/seeder";
import { Logger } from "@nestjs/common";
import { Role } from "../../src/modules/users/entities/role.entity";
import { RoleEnum } from "../../src/modules/users/enums/role.enum";
export class RoleSeeder extends Seeder {
private readonly logger = new Logger(RoleSeeder.name);
async run(em: EntityManager): Promise<void> {
const roles: RequiredEntityData<Role>[] = [
{
name: RoleEnum.ADMIN,
createdAt: new Date(),
updatedAt: new Date(),
},
{
name: RoleEnum.USER,
createdAt: new Date(),
updatedAt: new Date(),
},
];
for (const roleData of roles) {
const existingRole = await em.findOne(Role, { name: roleData.name });
if (!existingRole) {
const role = em.create(Role, roleData);
await em.persistAndFlush(role);
this.logger.log(`[RoleSeeder] Created role: ${roleData.name}`);
} else {
this.logger.log(`[RoleSeeder] Role already exists: ${roleData.name}`);
}
}
}
}