fix: the bug in the payment service

This commit is contained in:
Mahyargdz
2025-05-21 10:06:29 +03:30
parent 858f55bb0b
commit 9b3b5b41d7
10 changed files with 454 additions and 103 deletions
+2
View File
@@ -2,6 +2,7 @@ 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 {
@@ -10,6 +11,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 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}`);
}
}
}
}