41 lines
1.3 KiB
TypeScript
Executable File
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);
|
|
}
|
|
};
|