Seeding users

We are going to use the faker library (https://github.com/marak/Faker.js/) to create a list of users that we will be using in our REST API. Create a seed.js file inside server/helpers/seed.js, as follows:

if (
process.argv.length <= 2 ||
!['Admin', 'User', 'Doctor'].includes(process.argv[2])
) {
console.log(`The script need a params: ${__filename}`);
console.log('Params valid: Doctor');
process.exit(-1);
}

const faker = require('faker');
require('../helpers/prototype');
const Model = require('../models');

const run = param => {
console.log(`Script runing: ${param}`);

switch (param) {
case 'Doctor':
return Promise.all(
[...new Array(100).keys()].map(() =>
Model.users.createData(
{
password: '123123',
confirmPassword: '123123',
email: faker.internet.email(),
photo: faker.image.imageUrl(),
name: faker.name.findName(),
},
{ role: 'practitioner' },
),
),
);
case 'Admin':
return Model.users.createData(
{
password: '123123',
confirmPassword: '123123',
email: '[email protected]',
photo: faker.image.imageUrl(),
name: faker.name.findName(),
},
{ role: 'admin' },
);
default:
return Promise.all(
[...new Array(100).keys()].map(() =>
Model.users.createData({
password: '123123',
confirmPassword: '123123',
email: faker.internet.email(),
photo: faker.image.imageUrl(),
name: faker.name.findName(),
}),
),
);
}
};

run(process.argv[2])
.then((...others) => {
console.log('Finished:', others);
})
.catch(error => {
console.log('Error:', error);
process.exit(-1);
});

Now we can use the seeder class to seed different types of users (Doctor, User, and Admin). We already did these steps in Chapter 6, Extending Redux by Middleware. Run the seeder commands to generate different types of users:

node server/helpers/seed.js User 
node server/helpers/seed.js Doctor
node server/helpers/seed.js Admin
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset