aboutsummaryrefslogtreecommitdiffstats
path: root/ui/imports/startup/server/seeds/users.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/imports/startup/server/seeds/users.js')
-rw-r--r--ui/imports/startup/server/seeds/users.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/ui/imports/startup/server/seeds/users.js b/ui/imports/startup/server/seeds/users.js
new file mode 100644
index 0000000..34c20c6
--- /dev/null
+++ b/ui/imports/startup/server/seeds/users.js
@@ -0,0 +1,51 @@
+/////////////////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others /
+// /
+// All rights reserved. This program and the accompanying materials /
+// are made available under the terms of the Apache License, Version 2.0 /
+// which accompanies this distribution, and is available at /
+// http://www.apache.org/licenses/LICENSE-2.0 /
+/////////////////////////////////////////////////////////////////////////////////////////
+import * as R from 'ramda';
+import { Roles } from 'meteor/alanning:roles';
+
+let users = [
+ {
+ username: 'admin',
+ name: 'admin',
+ email: 'admin@example.com',
+ password: '123456',
+ roles: [
+ { role: 'manage-users', group: Roles.GLOBAL_GROUP },
+ { role: 'manage-link-types', group: Roles.GLOBAL_GROUP },
+ { role: 'manage-clique-types', group: Roles.GLOBAL_GROUP },
+ { role: 'manage-clique-constraints', group: Roles.GLOBAL_GROUP },
+ { role: 'view-env', group: Roles.GLOBAL_GROUP },
+ { role: 'edit-env', group: Roles.GLOBAL_GROUP },
+ ]
+ }
+];
+
+R.forEach((user) => {
+ let id;
+ let userDb = Meteor.users.findOne({ username: user.username });
+ if (R.isNil(userDb)) {
+ console.log('creating user', user);
+ id = Accounts.createUser({
+ username: user.username,
+ email: user.email,
+ password: user.password,
+ profile: { name: user.name }
+ });
+ } else {
+ id = userDb._id;
+ }
+
+ if (user.roles.length > 0) {
+ console.log('adding roles to user', user, user.roles);
+
+ R.forEach((roleItem) => {
+ Roles.addUsersToRoles(id, roleItem.role, roleItem.group);
+ }, user.roles);
+ }
+}, users);