From cc6614fe970b946285b4d3e61dbf3cb0f07354c1 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sun, 23 Nov 2025 09:55:09 +0330 Subject: [PATCH] update seeder --- src/seeders/DatabaseSeeder.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/seeders/DatabaseSeeder.ts b/src/seeders/DatabaseSeeder.ts index 9da7927..f10cf59 100644 --- a/src/seeders/DatabaseSeeder.ts +++ b/src/seeders/DatabaseSeeder.ts @@ -10,6 +10,7 @@ import { Restaurant } from '../modules/restaurants/entities/restaurant.entity'; import { User } from '../modules/users/entities/user.entity'; import { Permission, PermissionTitles } from '../common/enums/permission.enum'; import { PaymentMethod } from '../modules/payments/entities/payment-method.entity'; +import { RestaurantPaymentMethod } from '../modules/payments/entities/restaurant-payment-method.entity'; import { ShipmentMethod } from '../modules/restaurants/entities/shipment-method.entity'; export class DatabaseSeeder extends Seeder { @@ -206,6 +207,32 @@ export class DatabaseSeeder extends Seeder { const zhivan = await em.findOne(Restaurant, { slug: 'zhivan' }); const boote = await em.findOne(Restaurant, { slug: 'boote' }); + // 5.5. Create Restaurant Payment Methods + const allRestaurants = [zhivan, boote].filter(Boolean) as Restaurant[]; + const allPaymentMethods = await em.find(PaymentMethod, { isActive: true }); + + for (const restaurant of allRestaurants) { + if (!restaurant) continue; + + for (const paymentMethod of allPaymentMethods) { + const existing = await em.findOne(RestaurantPaymentMethod, { + restaurant: { id: restaurant.id }, + paymentMethod: { id: paymentMethod.id }, + }); + + if (!existing) { + const restaurantPaymentMethod = em.create(RestaurantPaymentMethod, { + restaurant, + paymentMethod, + isActive: true, + }); + em.persist(restaurantPaymentMethod); + } + } + } + + await em.flush(); + // 6. Create Categories (Farsi) const categories = [ { title: 'غذای اصلی', restId: zhivan?.id },