wallet
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user