using LucideBlazor; using Moonlight.Frontend.Admin.Users.Shared; using Moonlight.Frontend.Infrastructure.Hooks; using MoonlightServers.Shared; namespace MoonlightServers.Frontend.Infrastructure; public class PermissionProvider : IPermissionProvider { public Task GetPermissionsAsync() { return Task.FromResult([ new PermissionCategory("Servers - Nodes", typeof(ServerIcon), [ new Permission(Permissions.Nodes.View, "View", "Viewing all nodes"), new Permission(Permissions.Nodes.Create, "Create", "Creating new nodes"), new Permission(Permissions.Nodes.Edit, "Edit", "Editing nodes"), new Permission(Permissions.Nodes.Delete, "Delete", "Deleting nodes"), ]), new PermissionCategory("Servers - Servers", typeof(ContainerIcon), [ new Permission(Permissions.Servers.View, "View", "Viewing all servers"), new Permission(Permissions.Servers.Create, "Create", "Creating new servers"), new Permission(Permissions.Servers.Edit, "Edit", "Editing servers"), new Permission(Permissions.Servers.Delete, "Delete", "Deleting servers"), ]), new PermissionCategory("Servers - Templates", typeof(ContainerIcon), [ new Permission(Permissions.Templates.View, "View", "Viewing all templates"), new Permission(Permissions.Templates.Create, "Create", "Creating new templates"), new Permission(Permissions.Templates.Edit, "Edit", "Editing templates"), new Permission(Permissions.Templates.Delete, "Delete", "Deleting templates"), ]) ]); } }