-
Notifications
You must be signed in to change notification settings - Fork 46
/
010-add-user-device-manager-role.js
44 lines (37 loc) · 1.11 KB
/
010-add-user-device-manager-role.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const async = require('async')
, mongoose = require('mongoose');
require('../models/role');
const RoleModel = mongoose.model('Role');
exports.id = 'add-user-device-manager-role';
exports.up = function(done) {
async.series([
createManagerRole,
], function(err) {
done(err);
});
};
function createManagerRole(callback) {
const userPermissions = [
'CREATE_EVENT',
'CREATE_TEAM',
'READ_TEAM',
'READ_DEVICE', 'UPDATE_DEVICE',
'READ_LAYER_ALL',
'READ_USER', 'UPDATE_USER',
'READ_ROLE',
'CREATE_OBSERVATION', 'READ_OBSERVATION_EVENT', 'UPDATE_OBSERVATION_EVENT', 'DELETE_OBSERVATION',
'CREATE_LOCATION', 'READ_LOCATION_EVENT', 'UPDATE_LOCATION_EVENT', 'DELETE_LOCATION'
];
const managerRole = {
name: 'EVENT_MANAGER_ROLE',
description: 'Role which allows user to manage teams and events.',
permissions: userPermissions
};
console.log('Update event/team manager role to add user and device edit permissions...');
RoleModel.updateOne({name: 'EVENT_MANAGER_ROLE'}, managerRole, function(err) {
callback(err);
});
}
exports.down = function(done) {
done();
};