first commit

This commit is contained in:
Senad Uka
2018-05-07 16:07:00 +02:00
commit 8b4f09f9d5
3368 changed files with 852614 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
/* eslint no-console: "off" */
const { assign, keys } = Object;
const normalizeRoles = (profiles) => {
const roleKeys = keys(profiles);
if (roleKeys.length === 0) {
console.warn('[Authorize Warning] You need to specify at least one profile');
return arg => arg;
}
if (roleKeys.length === 1) {
return profiles[roleKeys[0]].authorize;
}
const roles = profiles.reduce((result, profile) => {
const profileRoles = keys(profile.roles).reduce((r, key) => {
const role = r;
if (result[key]) {
role[key] = result[key].concat(profile.roles[key]);
} else {
role[key] = profile.roles[key];
}
return role;
}, {});
return assign(
{},
result,
profileRoles,
);
}, {});
return roles;
};
export default normalizeRoles;