0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Migration for webhook permissions (#9320)

refs https://github.com/TryGhost/Ghost/pull/9230
This commit is contained in:
Katharina Irrgang 2017-12-12 15:12:34 +01:00 committed by Kevin Ansfield
parent 6f6c8f4521
commit a98346e2ce

View file

@ -0,0 +1,44 @@
var _ = require('lodash'),
utils = require('../../../schema/fixtures/utils'),
permissions = require('../../../../permissions'),
logging = require('../../../../logging'),
resource = 'webhook',
_private = {};
_private.getPermissions = function getPermissions() {
return utils.findModelFixtures('Permission', {object_type: resource});
};
_private.getRelations = function getRelations() {
return utils.findPermissionRelationsForObject(resource);
};
_private.printResult = function printResult(result, message) {
if (result.done === result.expected) {
logging.info(message);
} else {
logging.warn('(' + result.done + '/' + result.expected + ') ' + message);
}
};
module.exports.config = {
transaction: true
};
module.exports.up = function addRedirectsPermissions(options) {
var modelToAdd = _private.getPermissions(),
relationToAdd = _private.getRelations(),
localOptions = _.merge({
context: {internal: true}
}, options);
return utils.addFixturesForModel(modelToAdd, localOptions)
.then(function (result) {
_private.printResult(result, 'Adding permissions fixtures for ' + resource + 's');
return utils.addFixturesForRelation(relationToAdd, localOptions);
})
.then(function (result) {
_private.printResult(result, 'Adding permissions_roles fixtures for ' + resource + 's');
return permissions.init(localOptions);
});
};