Compare commits
2 Commits
c5e38c8f39
...
eca0126f45
| Author | SHA1 | Date |
|---|---|---|
|
|
eca0126f45 | |
|
|
3f48cea5c3 |
|
|
@ -1,6 +1,6 @@
|
||||||
const bcrypt = require("bcryptjs");
|
const bcrypt = require("bcryptjs");
|
||||||
|
|
||||||
export const createUsers = async (queryInterface, roles, users) => {
|
const createUsers = async (queryInterface, roles, users) => {
|
||||||
// Create Authentications
|
// Create Authentications
|
||||||
await queryInterface.bulkInsert('Authentications', users.map((player) => {
|
await queryInterface.bulkInsert('Authentications', users.map((player) => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -26,22 +26,22 @@ export const createUsers = async (queryInterface, roles, users) => {
|
||||||
};
|
};
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const createdUsers = await queryInterface.select(null, 'Users');
|
|
||||||
const userRoles = createdUsers.flatMap(user => user.roles.map(role => ({
|
|
||||||
id: user.id,
|
|
||||||
role: role
|
|
||||||
})));
|
|
||||||
|
|
||||||
const rolesByName = roles.reduce((map, role) => {
|
const rolesByName = roles.reduce((map, role) => {
|
||||||
map[role.name] = role;
|
map[role.name] = role;
|
||||||
return map;
|
return map;
|
||||||
})
|
}, {});
|
||||||
|
|
||||||
|
const createdUsers = await queryInterface.select(null, 'Users');
|
||||||
|
const userRoles = users.flatMap(user => user.roles.map(role => ({
|
||||||
|
id: createdUsers.find(user => user.firstName === user.firstName && user.lastName === user.lastName).id,
|
||||||
|
role: rolesByName[role]
|
||||||
|
})));
|
||||||
|
|
||||||
// Create UserRoles
|
// Create UserRoles
|
||||||
await queryInterface.bulkInsert('UserRoles', userRoles.map(userRole => {
|
await queryInterface.bulkInsert('UserRoles', userRoles.map(userRole => {
|
||||||
return {
|
return {
|
||||||
userId: userRole.id,
|
userId: userRole.id,
|
||||||
roleId: rolesByName[userRole.role].id,
|
roleId: userRole.role.id,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date()
|
updatedAt: new Date()
|
||||||
};
|
};
|
||||||
|
|
@ -50,9 +50,11 @@ export const createUsers = async (queryInterface, roles, users) => {
|
||||||
return createdUsers;
|
return createdUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const createPlayer = async (queryInterface, roles, players) => {
|
const createPlayer = async (queryInterface, roles, players) => {
|
||||||
|
const users = await createUsers(queryInterface, roles, players.map(player => ({
|
||||||
const users = await createUsers(queryInterface, roles, players);
|
...player,
|
||||||
|
roles: player.roles || ['player']
|
||||||
|
})));
|
||||||
|
|
||||||
// Create Players
|
// Create Players
|
||||||
await queryInterface.bulkInsert('Players', players.map(player => {
|
await queryInterface.bulkInsert('Players', players.map(player => {
|
||||||
|
|
@ -64,6 +66,7 @@ export const createPlayer = async (queryInterface, roles, players) => {
|
||||||
bats: player.bats,
|
bats: player.bats,
|
||||||
throws: player.throws,
|
throws: player.throws,
|
||||||
state: player.state,
|
state: player.state,
|
||||||
|
jerseyNumber: player.jerseyNumber,
|
||||||
userId: user ? user.id : null,
|
userId: user ? user.id : null,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date()
|
updatedAt: new Date()
|
||||||
|
|
@ -72,3 +75,8 @@ export const createPlayer = async (queryInterface, roles, players) => {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
createPlayer,
|
||||||
|
createUsers
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ module.exports = {
|
||||||
|
|
||||||
const roles = await queryInterface.select(null, 'Roles');
|
const roles = await queryInterface.select(null, 'Roles');
|
||||||
const players = [
|
const players = [
|
||||||
{ email: 'ryan.nolan@bullpen.com', password: 'ryan$123', firstName: 'Nolan', lastName: 'Ryan', dateOfBirth: new Date(1947, 1, 31), gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
{ email: 'ryan.nolan@bullpen.com', password: 'ryan$123', firstName: 'Nolan', lastName: 'Ryan', dateOfBirth: new Date(1947, 1, 31), jerseyNumber: 17, gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
||||||
{ email: 'sandy.koufax@bullpen.com', password: 'sandy$123', firstName: 'Sandy', lastName: 'Koufax', dateOfBirth: new Date(1935, 12, 30), gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
{ email: 'sandy.koufax@bullpen.com', password: 'sandy$123', firstName: 'Sandy', lastName: 'Koufax', dateOfBirth: new Date(1935, 12, 30), jerseyNumber: 18, gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
||||||
{ email: 'pedro.martinez@bullpen.com', password: 'pedro$123', firstName: 'Pedro', lastName: 'Martinez', dateOfBirth: new Date(1971, 10, 25), gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
{ email: 'pedro.martinez@bullpen.com', password: 'pedro$123', firstName: 'Pedro', lastName: 'Martinez', dateOfBirth: new Date(1971, 10, 25), jerseyNumber: 19, gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
||||||
{ email: 'randy.johnson@bullpen.com', password: 'randy$123', firstName: 'Randy', lastName: 'Johnson', dateOfBirth: new Date(1963, 9, 10), gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
{ email: 'randy.johnson@bullpen.com', password: 'randy$123', firstName: 'Randy', lastName: 'Johnson', dateOfBirth: new Date(1963, 9, 10), jerseyNumber: 20, gender: 'male', bats: 'right', throws: 'right', state: 'active' },
|
||||||
];
|
];
|
||||||
|
|
||||||
await createPlayer(queryInterface, roles, players);
|
await createPlayer(queryInterface, roles, players);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue