This commit is contained in:
2025-12-13 12:30:38 +03:30
parent 5d872db4ad
commit 9d9de98c03
13 changed files with 142 additions and 91 deletions
+5
View File
@@ -13,6 +13,7 @@ import { AdminsSeeder } from './admins.seeder';
import { UsersSeeder } from './users.seeder';
import { CouponsSeeder } from './coupons.seeder';
import { NotificationPreferencesSeeder } from './notification-preferences.seeder';
import { UserWalletsSeeder } from './user-wallets.seeder';
export class DatabaseSeeder extends Seeder {
async run(em: EntityManager) {
@@ -64,5 +65,9 @@ export class DatabaseSeeder extends Seeder {
// 12. Create Users
const usersSeeder = new UsersSeeder();
await usersSeeder.run(em);
// 13. Create User Wallets
const userWalletsSeeder = new UserWalletsSeeder();
await userWalletsSeeder.run(em);
}
}
+33
View File
@@ -0,0 +1,33 @@
import type { EntityManager } from '@mikro-orm/core';
import { User } from '../modules/users/entities/user.entity';
import { Restaurant } from '../modules/restaurants/entities/restaurant.entity';
import { UserWallet } from '../modules/users/entities/user-wallet.entity';
export class UserWalletsSeeder {
async run(em: EntityManager): Promise<void> {
const users = await em.find(User, {});
const restaurants = await em.find(Restaurant, {});
for (const user of users) {
for (const restaurant of restaurants) {
// Check if wallet already exists for this user-restaurant combination
const existingWallet = await em.findOne(UserWallet, {
user: { id: user.id },
restaurant: { id: restaurant.id },
});
if (!existingWallet) {
const wallet = em.create(UserWallet, {
user,
restaurant,
wallet: 150000,
points: 125,
});
em.persist(wallet);
}
}
}
await em.flush();
}
}
-2
View File
@@ -22,8 +22,6 @@ export class UsersSeeder {
marriageDate: new Date(userData.marriageDate),
isActive: userData.isActive,
gender: userData.gender,
wallet: userData.wallet,
points: userData.points,
});
em.persist(user);
}