Blame view
server/modules/generate-accounts.js
1.35 KB
0ccda7775
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
let administrators = [ { name: { first: 'Admin', last: 'McAdmin' }, email: 'admin@admin.com', password: 'password' } ]; let generateAccounts = () => { let fakeUserCount = 5, usersExist = _checkIfAccountsExist( administrators.length + fakeUserCount ); if ( !usersExist ) { _createUsers( administrators ); _createUsers( _generateFakeUsers( fakeUserCount ) ); } }; let _checkIfAccountsExist = ( count ) => { let userCount = Meteor.users.find().count(); return userCount < count ? false : true; }; let _createUsers = ( users ) => { for ( let i = 0; i < users.length; i++ ) { let user = users[ i ], userExists = _checkIfUserExists( user.email ); if ( !userExists ) { _createUser( user ); } } }; let _checkIfUserExists = ( email ) => { return Meteor.users.findOne( { 'emails.address': email } ); }; let _createUser = ( user ) => { Accounts.createUser({ email: user.email, password: user.password, profile: { name: user.name } }); }; let _generateFakeUsers = ( count ) => { let users = []; for ( let i = 0; i < count; i++ ) { users.push({ name: { first: faker.name.firstName(), last: faker.name.lastName() }, email: faker.internet.email(), password: 'password' }); } return users; }; Modules.server.generateAccounts = generateAccounts; |