Compare commits

..

No commits in common. "eca0126f45b43f417811dc096aa47eb99430a698" and "c5e38c8f39aa1f8e564f29ee88e9066231481086" have entirely different histories.

2 changed files with 16 additions and 24 deletions

View File

@ -1,6 +1,6 @@
const bcrypt = require("bcryptjs");
const createUsers = async (queryInterface, roles, users) => {
export const createUsers = async (queryInterface, roles, users) => {
// Create Authentications
await queryInterface.bulkInsert('Authentications', users.map((player) => {
return {
@ -26,22 +26,22 @@ 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) => {
map[role.name] = role;
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
await queryInterface.bulkInsert('UserRoles', userRoles.map(userRole => {
return {
userId: userRole.id,
roleId: userRole.role.id,
roleId: rolesByName[userRole.role].id,
createdAt: new Date(),
updatedAt: new Date()
};
@ -50,11 +50,9 @@ const createUsers = async (queryInterface, roles, users) => {
return createdUsers;
}
const createPlayer = async (queryInterface, roles, players) => {
const users = await createUsers(queryInterface, roles, players.map(player => ({
...player,
roles: player.roles || ['player']
})));
export const createPlayer = async (queryInterface, roles, players) => {
const users = await createUsers(queryInterface, roles, players);
// Create Players
await queryInterface.bulkInsert('Players', players.map(player => {
@ -66,7 +64,6 @@ const createPlayer = async (queryInterface, roles, players) => {
bats: player.bats,
throws: player.throws,
state: player.state,
jerseyNumber: player.jerseyNumber,
userId: user ? user.id : null,
createdAt: new Date(),
updatedAt: new Date()
@ -75,8 +72,3 @@ const createPlayer = async (queryInterface, roles, players) => {
}
module.exports = {
createPlayer,
createUsers
}

View File

@ -8,10 +8,10 @@ module.exports = {
const roles = await queryInterface.select(null, 'Roles');
const players = [
{ 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), 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), 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), jerseyNumber: 20, 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), 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: '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: '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' },
];
await createPlayer(queryInterface, roles, players);