breaking: removal of deprecated privilege hooks

* filter:privileges.global.list
* filter:privileges.global.groups.list
* filter:privileges.global.list_human
* filter:privileges.global.groups.list_human
* filter:privileges.list
* filter:privileges.groups.list
* filter:privileges.list_human
* filter:privileges.groups.list_human
* filter:privileges.admin.list
* filter:privileges.admin.groups.list
* filter:privileges.admin.list_human
* filter:privileges.admin.groups.list_human
This commit is contained in:
Julian Lam
2023-12-04 14:21:05 -05:00
parent 547fb482eb
commit 8ea377a401
4 changed files with 13 additions and 91 deletions

View File

@@ -8,67 +8,11 @@ const als = require('../als');
const Hooks = module.exports;
Hooks._deprecated = new Map([
['filter:privileges.global.list', {
new: 'static:privileges.global.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.global.groups.list', {
new: 'static:privileges.global.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.global.list_human', {
new: 'static:privileges.global.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.global.groups.list_human', {
new: 'static:privileges.global.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.list', {
new: 'static:privileges.categories.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.groups.list', {
new: 'static:privileges.categories.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.list_human', {
new: 'static:privileges.categories.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.groups.list_human', {
new: 'static:privileges.categories.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.admin.list', {
new: 'static:privileges.admin.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.admin.groups.list', {
new: 'static:privileges.admin.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.admin.list_human', {
new: 'static:privileges.admin.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
['filter:privileges.admin.groups.list_human', {
new: 'static:privileges.admin.init',
since: 'v3.5.0',
until: 'v4.0.0',
}],
/* ['filter:old.hook.name', {
new: 'filter:new.hook.name',
since: 'v4.0.0',
until: 'v5.0.0',
}], */
]);
Hooks.internals = {

View File

@@ -39,8 +39,8 @@ privsAdmin.init = async () => {
}
};
privsAdmin.getUserPrivilegeList = async () => await plugins.hooks.fire('filter:privileges.admin.list', Array.from(_privilegeMap.keys()));
privsAdmin.getGroupPrivilegeList = async () => await plugins.hooks.fire('filter:privileges.admin.groups.list', Array.from(_privilegeMap.keys()).map(privilege => `groups:${privilege}`));
privsAdmin.getUserPrivilegeList = () => Array.from(_privilegeMap.keys());
privsAdmin.getGroupPrivilegeList = () => Array.from(_privilegeMap.keys()).map(privilege => `groups:${privilege}`);
privsAdmin.getPrivilegeList = async () => {
const [user, group] = await Promise.all([
privsAdmin.getUserPrivilegeList(),
@@ -149,18 +149,12 @@ privsAdmin.list = async function (uid) {
groupPrivilegeList.splice(idx, 1);
}
const labels = await utils.promiseParallel({
users: plugins.hooks.fire('filter:privileges.admin.list_human', privilegeLabels.slice()),
groups: plugins.hooks.fire('filter:privileges.admin.groups.list_human', privilegeLabels.slice()),
});
const keys = {
users: userPrivilegeList,
groups: groupPrivilegeList,
};
const payload = await utils.promiseParallel({
labels,
labelData: Array.from(_privilegeMap.values()),
users: helpers.getUserPrivileges(0, keys.users),
groups: helpers.getGroupPrivileges(0, keys.groups),

View File

@@ -53,8 +53,8 @@ privsCategories.getType = function (privilege) {
return priv && priv.type ? priv.type : '';
};
privsCategories.getUserPrivilegeList = async () => await plugins.hooks.fire('filter:privileges.list', Array.from(_privilegeMap.keys()));
privsCategories.getGroupPrivilegeList = async () => await plugins.hooks.fire('filter:privileges.groups.list', Array.from(_privilegeMap.keys()).map(privilege => `groups:${privilege}`));
privsCategories.getUserPrivilegeList = () => Array.from(_privilegeMap.keys());
privsCategories.getGroupPrivilegeList = () => Array.from(_privilegeMap.keys()).map(privilege => `groups:${privilege}`);
privsCategories.getPrivilegeList = async () => {
const [user, group] = await Promise.all([
@@ -72,27 +72,20 @@ privsCategories.getPrivilegesByFilter = function (filter) {
// Method used in admin/category controller to show all users/groups with privs in that given cid
privsCategories.list = async function (cid) {
let labels = Array.from(_privilegeMap.values()).map(data => data.label);
labels = await utils.promiseParallel({
users: plugins.hooks.fire('filter:privileges.list_human', labels.slice()),
groups: plugins.hooks.fire('filter:privileges.groups.list_human', labels.slice()),
});
const keys = await utils.promiseParallel({
users: privsCategories.getUserPrivilegeList(),
groups: privsCategories.getGroupPrivilegeList(),
});
const payload = await utils.promiseParallel({
labels,
labelData: Array.from(_privilegeMap.values()),
users: helpers.getUserPrivileges(cid, keys.users),
groups: helpers.getGroupPrivileges(cid, keys.groups),
});
payload.keys = keys;
payload.columnCountUserOther = payload.labels.users.length - privsCategories._coreSize;
payload.columnCountGroupOther = payload.labels.groups.length - privsCategories._coreSize;
payload.columnCountUserOther = payload.labelData.length - privsCategories._coreSize;
payload.columnCountGroupOther = payload.labelData.length - privsCategories._coreSize;
return payload;
};

View File

@@ -54,8 +54,8 @@ privsGlobal.getType = function (privilege) {
return priv && priv.type ? priv.type : '';
};
privsGlobal.getUserPrivilegeList = async () => await plugins.hooks.fire('filter:privileges.global.list', Array.from(_privilegeMap.keys()));
privsGlobal.getGroupPrivilegeList = async () => await plugins.hooks.fire('filter:privileges.global.groups.list', Array.from(_privilegeMap.keys()).map(privilege => `groups:${privilege}`));
privsGlobal.getUserPrivilegeList = () => Array.from(_privilegeMap.keys());
privsGlobal.getGroupPrivilegeList = () => Array.from(_privilegeMap.keys()).map(privilege => `groups:${privilege}`);
privsGlobal.getPrivilegeList = async () => {
const [user, group] = await Promise.all([
privsGlobal.getUserPrivilegeList(),
@@ -65,21 +65,12 @@ privsGlobal.getPrivilegeList = async () => {
};
privsGlobal.list = async function () {
async function getLabels() {
const labels = Array.from(_privilegeMap.values()).map(data => data.label);
return await utils.promiseParallel({
users: plugins.hooks.fire('filter:privileges.global.list_human', labels.slice()),
groups: plugins.hooks.fire('filter:privileges.global.groups.list_human', labels.slice()),
});
}
const keys = await utils.promiseParallel({
users: privsGlobal.getUserPrivilegeList(),
groups: privsGlobal.getGroupPrivilegeList(),
});
const payload = await utils.promiseParallel({
labels: getLabels(),
labelData: Array.from(_privilegeMap.values()),
users: helpers.getUserPrivileges(0, keys.users),
groups: helpers.getGroupPrivileges(0, keys.groups),