diff --git a/src/helpers/permissionHelper.ts b/src/helpers/permissionHelper.ts index a078028..9b7f6a3 100644 --- a/src/helpers/permissionHelper.ts +++ b/src/helpers/permissionHelper.ts @@ -103,7 +103,7 @@ export default class PermissionHelper { for (let section of sections) { if (permissions[section].all) { let types = permissions[section].all; - if (types == "*") { + if (types == "*" || types.length == permissionTypes.length) { output.push(`${section}.*`); } else { for (let type of types) { @@ -114,7 +114,7 @@ export default class PermissionHelper { let modules = Object.keys(permissions[section]) as Array; for (let module of modules) { let types = permissions[section][module]; - if (types == "*") { + if (types == "*" || types.length == permissionTypes.length) { output.push(`${section}.${module}.*`); } else { for (let type of types) { @@ -127,7 +127,11 @@ export default class PermissionHelper { return output; } - static getWhatToAdd() {} + static getWhatToAdd(before: Array, after: Array): Array { + return after.filter((permission) => !before.includes(permission)); + } - static getWhatToRemove() {} + static getWhatToRemove(before: Array, after: Array): Array { + return before.filter((permission) => !after.includes(permission)); + } }