12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- const { KeycloakRepository, UserRepository, UserAreaRepository } = require('../../src/repository/admin/SalesRepository.js');
- const prisma = require('../../src/prisma/PrismaClient');
- const { faker } = require('@faker-js/faker');
- exports.seedSales = async () => {
- try {
- const provinces = await prisma.province.findMany();
- if (provinces.length === 0) throw new Error('No provinces found');
- const users = [
- {
- username: 'sales1',
- email: 'sales1@example.com',
- firstname: 'Sales',
- lastname: 'One',
- password: 'Sales@123',
- },
- {
- username: 'sales2',
- email: 'sales2@example.com',
- firstname: 'Sales',
- lastname: 'Two',
- password: 'Sales@123',
- },
- {
- username: 'sales3',
- email: 'sales3@example.com',
- firstname: 'Sales',
- lastname: 'Three',
- password: 'Sales@123',
- },
- ];
- for (const user of users) {
- const shuffled = provinces.sort(() => 0.5 - Math.random());
- const selectedProvinces = shuffled.slice(0, Math.floor(Math.random() * 3) + 1);
- const province_ids = selectedProvinces.map(p => p.id);
- user.province_ids = province_ids;
- const userId = await KeycloakRepository.createUser(user);
- await KeycloakRepository.assignSalesRole(userId);
- await UserRepository.createUser(userId, user);
- await UserAreaRepository.createMany(userId, province_ids);
- console.log(`✅ Seeded user ${user.username}`);
- }
- } catch (err) {
- console.error('❌ Failed to seed sales:', err.message);
- }
- };
|