11 lines
560 B
JavaScript
11 lines
560 B
JavaScript
function roleOf(user) { return user?.isAdmin ? "admin" : user?.isMod ? "mod" : user?.id ? "user" : "anonymous"; }
|
|
function canUse(user, config) {
|
|
const role = roleOf(user);
|
|
if (role === "anonymous") return false;
|
|
return role === "admin" ? config.assistant_visibility.admins : role === "mod" ? config.assistant_visibility.mods : config.assistant_visibility.users;
|
|
}
|
|
function roleAllows(actual, required) {
|
|
const rank={anonymous:0,user:1,mod:2,admin:3}; return rank[actual] >= rank[required || "user"];
|
|
}
|
|
module.exports = { roleOf, canUse, roleAllows };
|