Files
dsc-api/database/seeders/payment-gateway.seeder.ts
T
2025-06-07 15:50:37 +03:30

41 lines
1.3 KiB
TypeScript
Executable File

import { Logger } from "@nestjs/common";
import { DataSource } from "typeorm";
import { PaymentGateway } from "../../src/modules/payments/entities/payment-gateway.entity";
import { GatewayEnum } from "../../src/modules/payments/enums/gateway.enum";
const paymentGateways: Partial<PaymentGateway>[] = [
{
name: GatewayEnum.ZARINPAL,
nameFa: "زرین پال",
logoUrl: "https://www.zarinpal.com/docs/logo/fa-dark.svg",
description: "درگاه پرداخت زرین پال",
},
{
name: GatewayEnum.PARSIAN,
nameFa: "پارسیان",
logoUrl: "https://www.parsian.ir/docs/logo/fa-dark.svg",
description: "درگاه پرداخت پارسیان",
},
];
export const seedPaymentGateways = async (dataSource: DataSource, logger: Logger) => {
try {
const paymentGatewayRepo = dataSource.getRepository(PaymentGateway);
for (const paymentGateway of paymentGateways) {
const existingPg = await paymentGatewayRepo.findOne({ where: { name: paymentGateway.name } });
if (existingPg) {
logger.log(`${paymentGateway.name} already exists`);
continue;
}
const pg = paymentGatewayRepo.create(paymentGateway);
await paymentGatewayRepo.save(pg);
}
logger.log("pg seeded successfully");
} catch (error) {
logger.error("error in seeding pg", error);
process.exit(1);
}
};