33 lines
1.6 KiB
C#
33 lines
1.6 KiB
C#
using LucideBlazor;
|
|
using Moonlight.Frontend.Interfaces;
|
|
using Moonlight.Frontend.Models;
|
|
using Moonlight.Shared;
|
|
|
|
namespace Moonlight.Frontend.Implementations;
|
|
|
|
public sealed class PermissionProvider : IPermissionProvider
|
|
{
|
|
public Task<PermissionCategory[]> GetPermissionsAsync()
|
|
{
|
|
return Task.FromResult<PermissionCategory[]>([
|
|
new PermissionCategory("Users", typeof(UserRoundIcon), [
|
|
new Permission(Permissions.Users.Create, "Create", "Create new users"),
|
|
new Permission(Permissions.Users.View, "View", "View all users"),
|
|
new Permission(Permissions.Users.Edit, "Edit", "Edit user details"),
|
|
new Permission(Permissions.Users.Delete, "Delete", "Delete user accounts"),
|
|
new Permission(Permissions.Users.Logout, "Logout", "Logout user accounts"),
|
|
]),
|
|
new PermissionCategory("Roles", typeof(UsersRoundIcon), [
|
|
new Permission(Permissions.Roles.Create, "Create", "Create new roles"),
|
|
new Permission(Permissions.Roles.View, "View", "View all roles"),
|
|
new Permission(Permissions.Roles.Edit, "Edit", "Edit role details"),
|
|
new Permission(Permissions.Roles.Delete, "Delete", "Delete role accounts"),
|
|
new Permission(Permissions.Roles.Members, "Members", "Manage role members"),
|
|
]),
|
|
new PermissionCategory("System", typeof(CogIcon), [
|
|
new Permission(Permissions.System.Info, "Info", "View system info"),
|
|
new Permission(Permissions.System.Diagnose, "Diagnose", "Run diagnostics"),
|
|
]),
|
|
]);
|
|
}
|
|
} |