Implemented node crud and status health check. Added daemon status health endpoint. Refactored project structure. Added sidebar items and ui views

This commit is contained in:
2026-03-05 10:56:52 +00:00
parent 2d1b48b0d4
commit 7c5dc657dc
54 changed files with 1808 additions and 222 deletions

View File

@@ -0,0 +1,21 @@
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"),
])
]);
}
}

View File

@@ -0,0 +1,29 @@
using LucideBlazor;
using Moonlight.Frontend.Interfaces;
using Moonlight.Frontend.Models;
using MoonlightServers.Shared;
namespace MoonlightServers.Frontend.Infrastructure;
public sealed class SidebarProvider : ISidebarProvider
{
public Task<SidebarItem[]> GetItemsAsync()
{
return Task.FromResult<SidebarItem[]>([
new SidebarItem()
{
Name = "Servers",
IconType = typeof(ServerIcon),
Path = "/servers"
},
new SidebarItem()
{
Group = "Admin",
Name = "Servers",
IconType = typeof(ServerIcon),
Path = "/admin/servers",
Policy = Permissions.Nodes.View
}
]);
}
}