Files
Servers/MoonlightServers.Frontend/Infrastructure/PermissionProvider.cs

33 lines
1.7 KiB
C#

using LucideBlazor;
using Moonlight.Frontend.Interfaces;
using Moonlight.Frontend.Models;
using MoonlightServers.Shared;
namespace MoonlightServers.Frontend.Infrastructure;
public class PermissionProvider : IPermissionProvider
{
public Task<PermissionCategory[]> GetPermissionsAsync()
{
return Task.FromResult<PermissionCategory[]>([
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"),
])
]);
}
}