功能:完善用户与项目管理框架
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
export const permissions = {
|
||||
settingsManage: "settings.manage",
|
||||
usersManage: "users.manage",
|
||||
projectsManage: "projects.manage",
|
||||
contentEdit: "content.edit",
|
||||
contentPublish: "content.publish",
|
||||
contentView: "content.view",
|
||||
};
|
||||
|
||||
const rolePermissions = {
|
||||
system_admin: Object.values(permissions),
|
||||
admin: [
|
||||
permissions.usersManage,
|
||||
permissions.projectsManage,
|
||||
permissions.contentEdit,
|
||||
permissions.contentPublish,
|
||||
permissions.contentView,
|
||||
],
|
||||
editor: [permissions.contentEdit, permissions.contentPublish, permissions.contentView],
|
||||
viewer: [permissions.contentView],
|
||||
user: [permissions.contentView],
|
||||
};
|
||||
|
||||
export function hasPermission(user, permission) {
|
||||
if (!user) return false;
|
||||
return Boolean(rolePermissions[user.role]?.includes(permission));
|
||||
}
|
||||
|
||||
export function publicPermissions(user) {
|
||||
return rolePermissions[user?.role] ?? [];
|
||||
}
|
||||
Reference in New Issue
Block a user