-
Notifications
You must be signed in to change notification settings - Fork 0
/
Accounts.js
28 lines (25 loc) · 946 Bytes
/
Accounts.js
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
import { Meteor } from 'meteor/meteor';
import { Accounts } from 'meteor/accounts-base';
import { Roles } from 'meteor/alanning:roles';
/* eslint-disable no-console */
function createUser(email, password, role) {
console.log(` Creating new user ${email}.`);
const userID = Accounts.createUser({
username: email,
email: email,
password: password,
});
if (role === 'admin') {
Roles.createRole(role, { unlessExists: true });
Roles.addUsersToRoles(userID, 'admin');
}
}
/** When running app for first time, pass a settings file to set up a default user account. */
if (Meteor.users.find().count() === 0) {
if (Meteor.settings.defaultAccounts) {
console.log('Creating the default user(s)');
Meteor.settings.defaultAccounts.map(({ email, password, role }) => createUser(email, password, role));
} else {
console.log('Cannot initialize the database! Please invoke meteor with a settings file.');
}
}