forked from ngageoint/mage-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
020-add-export-permissions.js
37 lines (31 loc) · 1.1 KB
/
020-add-export-permissions.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
"use strict";
const log = require('winston');
exports.id = 'add-export-permissions';
exports.up = function (done) {
try {
log.info('Adding export permissions (READ_EXPORT, DELETE_EXPORT)');
this.db.collection('roles', { strict: true }, function (err, rolesCollection) {
if (err) return done(err);
rolesCollection.updateOne({ name: 'ADMIN_ROLE' }, { $push: { permissions: { $each: ['READ_EXPORT', 'DELETE_EXPORT'] } } })
.then(() => done())
.catch(err => done(err));
});
} catch (err) {
log.warn('Failed adding export roles', err);
done(err);
}
};
exports.down = function (done) {
try {
log.info('Removing export permissions (READ_EXPORT, DELETE_EXPORT)');
this.db.collection('roles', { strict: true }, function (err, rolesCollection) {
if (err) return done(err);
rolesCollection.updateOne({ name: 'ADMIN_ROLE' }, { $pull: { permissions: { $each: ['READ_EXPORT', 'DELETE_EXPORT'] } } })
.then(() => done())
.catch(err => done(err));
});
} catch (err) {
log.warn('Failed removing export roles', err);
done(err);
}
};