Fix roles.json bug

This commit is contained in:
cyril lopez 2017-12-07 10:16:36 +01:00
parent 1a56f117ee
commit a19e6eaf15
2 changed files with 34 additions and 586 deletions

View File

@ -1,578 +0,0 @@
{
"0": {
"description": "",
"name": "Administrator",
"permissions": {
"content-manager": {
"controllers": {
"contentmanager": {
"models": {
"enabled": true,
"policy": ""
},
"find": {
"enabled": true,
"policy": ""
},
"count": {
"enabled": true,
"policy": ""
},
"findOne": {
"enabled": true,
"policy": ""
},
"create": {
"enabled": true,
"policy": ""
},
"update": {
"enabled": true,
"policy": ""
},
"delete": {
"enabled": true,
"policy": ""
},
"identity": {
"enabled": true,
"policy": ""
}
}
}
},
"content-type-builder": {
"controllers": {
"contenttypebuilder": {
"getModels": {
"enabled": true,
"policy": ""
},
"getModel": {
"enabled": true,
"policy": ""
},
"getConnections": {
"enabled": true,
"policy": ""
},
"createModel": {
"enabled": true,
"policy": ""
},
"updateModel": {
"enabled": true,
"policy": ""
},
"deleteModel": {
"enabled": true,
"policy": ""
},
"autoReload": {
"enabled": true,
"policy": ""
},
"checkTableExists": {
"enabled": true,
"policy": ""
},
"identity": {
"enabled": true,
"policy": ""
}
}
}
},
"settings-manager": {
"controllers": {
"settingsmanager": {
"menu": {
"enabled": true,
"policy": ""
},
"environments": {
"enabled": true,
"policy": ""
},
"languages": {
"enabled": true,
"policy": ""
},
"databases": {
"enabled": true,
"policy": ""
},
"database": {
"enabled": true,
"policy": ""
},
"databaseModel": {
"enabled": true,
"policy": ""
},
"get": {
"enabled": true,
"policy": ""
},
"update": {
"enabled": true,
"policy": ""
},
"createLanguage": {
"enabled": true,
"policy": ""
},
"deleteLanguage": {
"enabled": true,
"policy": ""
},
"createDatabase": {
"enabled": true,
"policy": ""
},
"updateDatabase": {
"enabled": true,
"policy": ""
},
"deleteDatabase": {
"enabled": true,
"policy": ""
},
"autoReload": {
"enabled": true,
"policy": ""
},
"identity": {
"enabled": true,
"policy": ""
}
}
}
},
"users-permissions": {
"controllers": {
"auth": {
"identity": {
"enabled": true,
"policy": ""
},
"callback": {
"enabled": true,
"policy": ""
},
"register": {
"enabled": true,
"policy": ""
},
"forgotPassword": {
"enabled": true,
"policy": ""
},
"changePassword": {
"enabled": true,
"policy": ""
}
},
"user": {
"identity": {
"enabled": true,
"policy": ""
},
"find": {
"enabled": true,
"policy": ""
},
"findOne": {
"enabled": true,
"policy": ""
},
"create": {
"enabled": true,
"policy": ""
},
"update": {
"enabled": true,
"policy": ""
},
"destroy": {
"enabled": true,
"policy": ""
}
},
"userspermissions": {
"createRole": {
"enabled": true,
"policy": ""
},
"deleteProvider": {
"enabled": true,
"policy": ""
},
"deleteRole": {
"enabled": true,
"policy": ""
},
"getPermissions": {
"enabled": true,
"policy": ""
},
"getPolicies": {
"enabled": true,
"policy": ""
},
"getRole": {
"enabled": true,
"policy": ""
},
"getRoles": {
"enabled": true,
"policy": ""
},
"getRoutes": {
"enabled": true,
"policy": ""
},
"index": {
"enabled": true,
"policy": ""
},
"init": {
"enabled": true,
"policy": ""
},
"searchUsers": {
"enabled": true,
"policy": ""
},
"updateRole": {
"enabled": true,
"policy": ""
},
"identity": {
"enabled": true,
"policy": ""
}
}
}
},
"application": {
"controllers": {
"bite": {
"find": {
"enabled": true,
"policy": ""
},
"findOne": {
"enabled": true,
"policy": ""
},
"create": {
"enabled": true,
"policy": ""
},
"update": {
"enabled": true,
"policy": ""
},
"destroy": {
"enabled": true,
"policy": ""
},
"identity": {
"enabled": true,
"policy": ""
}
}
}
}
}
},
"1": {
"name": "Guest",
"description": "",
"permissions": {
"application": {
"controllers": {
"bite": {
"find": {
"enabled": false,
"policy": ""
},
"findOne": {
"enabled": false,
"policy": ""
},
"create": {
"enabled": false,
"policy": ""
},
"update": {
"enabled": false,
"policy": ""
},
"destroy": {
"enabled": false,
"policy": ""
},
"identity": {
"enabled": false,
"policy": ""
}
}
}
},
"content-manager": {
"controllers": {
"contentmanager": {
"models": {
"enabled": false,
"policy": ""
},
"find": {
"enabled": false,
"policy": ""
},
"count": {
"enabled": false,
"policy": ""
},
"findOne": {
"enabled": false,
"policy": ""
},
"create": {
"enabled": false,
"policy": ""
},
"update": {
"enabled": false,
"policy": ""
},
"delete": {
"enabled": false,
"policy": ""
},
"identity": {
"enabled": false,
"policy": ""
}
}
}
},
"content-type-builder": {
"controllers": {
"contenttypebuilder": {
"getModels": {
"enabled": false,
"policy": ""
},
"getModel": {
"enabled": false,
"policy": ""
},
"getConnections": {
"enabled": false,
"policy": ""
},
"createModel": {
"enabled": false,
"policy": ""
},
"updateModel": {
"enabled": false,
"policy": ""
},
"deleteModel": {
"enabled": false,
"policy": ""
},
"autoReload": {
"enabled": false,
"policy": ""
},
"checkTableExists": {
"enabled": false,
"policy": ""
},
"identity": {
"enabled": false,
"policy": ""
}
}
}
},
"settings-manager": {
"controllers": {
"settingsmanager": {
"menu": {
"enabled": false,
"policy": ""
},
"environments": {
"enabled": false,
"policy": ""
},
"languages": {
"enabled": false,
"policy": ""
},
"databases": {
"enabled": false,
"policy": ""
},
"database": {
"enabled": false,
"policy": ""
},
"databaseModel": {
"enabled": false,
"policy": ""
},
"get": {
"enabled": false,
"policy": ""
},
"update": {
"enabled": false,
"policy": ""
},
"createLanguage": {
"enabled": false,
"policy": ""
},
"deleteLanguage": {
"enabled": false,
"policy": ""
},
"createDatabase": {
"enabled": false,
"policy": ""
},
"updateDatabase": {
"enabled": false,
"policy": ""
},
"deleteDatabase": {
"enabled": false,
"policy": ""
},
"autoReload": {
"enabled": false,
"policy": ""
},
"identity": {
"enabled": false,
"policy": ""
}
}
}
},
"users-permissions": {
"controllers": {
"auth": {
"callback": {
"enabled": true,
"policy": ""
},
"register": {
"enabled": true,
"policy": ""
},
"forgotPassword": {
"enabled": true,
"policy": ""
},
"changePassword": {
"enabled": true,
"policy": ""
},
"identity": {
"enabled": true,
"policy": ""
}
},
"user": {
"find": {
"enabled": false,
"policy": ""
},
"findOne": {
"enabled": false,
"policy": ""
},
"create": {
"enabled": false,
"policy": ""
},
"update": {
"enabled": false,
"policy": ""
},
"destroy": {
"enabled": false,
"policy": ""
},
"identity": {
"enabled": false,
"policy": ""
}
},
"userspermissions": {
"createRole": {
"enabled": false,
"policy": ""
},
"deleteProvider": {
"enabled": false,
"policy": ""
},
"deleteRole": {
"enabled": false,
"policy": ""
},
"getPermissions": {
"enabled": false,
"policy": ""
},
"getPolicies": {
"enabled": false,
"policy": ""
},
"getRole": {
"enabled": false,
"policy": ""
},
"getRoles": {
"enabled": false,
"policy": ""
},
"getRoutes": {
"enabled": false,
"policy": ""
},
"index": {
"enabled": false,
"policy": ""
},
"init": {
"enabled": true,
"policy": ""
},
"searchUsers": {
"enabled": false,
"policy": ""
},
"updateRole": {
"enabled": false,
"policy": ""
},
"identity": {
"enabled": false,
"policy": ""
}
}
}
}
}
}
}

View File

@ -169,7 +169,33 @@ module.exports = {
const appActions = Service.getActions();
const roleConfigPath = Service.getRoleConfigPath();
const writePermissions = Service.writePermissions;
const currentRoles = require(roleConfigPath);
let currentRoles;
try {
currentRoles = require(roleConfigPath);
} catch(err) {
currentRoles = {
'0': {
description: '',
name: 'Administrator',
permissions: {
application: {
controllers: {},
},
},
},
'1': {
description: '',
name: 'Guest',
permissions: {
application: {
controllers: {},
},
},
},
};
}
const remove = await Service.updateData(_.cloneDeep(currentRoles));
const added = await Service.updateData(_.cloneDeep(remove), 'set');
@ -205,6 +231,13 @@ module.exports = {
});
},
updateUserRole: async (user, role) => {
await strapi.query('user', 'users-permissions').update({
_id: user._id || user.id,
role: role.toString()
});
},
writePermissions: (data) => {
const roleConfigPath = strapi.plugins['users-permissions'].services.userspermissions.getRoleConfigPath();
@ -214,11 +247,4 @@ module.exports = {
strapi.log.error(err);
}
},
updateUserRole: async (user, role) => {
await strapi.query('user', 'users-permissions').update({
_id: user._id || user.id,
role: role.toString()
});
}
};