Started implementing server share backend. Redesigned server authorization for api calls. Refactored controller names for servers. Moved some responses to correct namespace

This commit is contained in:
2025-06-05 23:35:39 +02:00
parent 4b1045d629
commit 1ec4450040
37 changed files with 1169 additions and 139 deletions

View File

@@ -1,7 +1,7 @@
using MoonlightServers.Frontend.Interfaces;
using MoonlightServers.Frontend.Models;
using MoonlightServers.Frontend.UI.Components.Servers.ServerTabs;
using MoonlightServers.Shared.Http.Responses.Users.Servers;
using MoonlightServers.Shared.Http.Responses.Client.Servers;
namespace MoonlightServers.Frontend.Implementations;

View File

@@ -1,5 +1,5 @@
using MoonlightServers.Frontend.Models;
using MoonlightServers.Shared.Http.Responses.Users.Servers;
using MoonlightServers.Shared.Http.Responses.Client.Servers;
namespace MoonlightServers.Frontend.Interfaces;

View File

@@ -2,8 +2,8 @@ using MoonCore.Attributes;
using MoonCore.Helpers;
using MoonCore.Models;
using MoonlightServers.Shared.Http.Requests.Client.Servers.Variables;
using MoonlightServers.Shared.Http.Responses.Client.Servers;
using MoonlightServers.Shared.Http.Responses.Client.Servers.Variables;
using MoonlightServers.Shared.Http.Responses.Users.Servers;
namespace MoonlightServers.Frontend.Services;
@@ -45,6 +45,13 @@ public class ServerService
);
}
public async Task<ServerStatsResponse> GetStats(int serverId)
{
return await HttpApiClient.GetJson<ServerStatsResponse>(
$"api/client/servers/{serverId}/stats"
);
}
public async Task<ServerWebSocketResponse> GetWebSocket(int serverId)
{
return await HttpApiClient.GetJson<ServerWebSocketResponse>(

View File

@@ -1,6 +1,7 @@
@using MoonCore.Helpers
@using MoonlightServers.Frontend.Services
@using MoonlightServers.Shared.Enums
@using MoonlightServers.Shared.Http.Responses.Users.Servers
@using MoonlightServers.Shared.Http.Responses.Client.Servers
@inject ServerService ServerService
@inject ILogger<ServerCard> Logger
@@ -57,7 +58,7 @@
<i class="icon-cpu"></i>
</div>
<div class="ms-3">56,8%</div>
<div class="ms-3">@(Stats.CpuUsage)%</div>
</div>
<div class="bg-gray-900 bg-opacity-45 py-1 px-2 rounded-lg flex flex-row">
@@ -65,7 +66,7 @@
<i class="icon-memory-stick"></i>
</div>
<div class="ms-3">4,2 GB / 8 GB</div>
<div class="ms-3">@(Formatter.FormatSize(Stats.MemoryUsage)) / @(Formatter.FormatSize(ByteConverter.FromMegaBytes(Server.Memory).Bytes))</div>
</div>
<div class="bg-gray-900 bg-opacity-45 py-1 px-2 rounded-lg flex flex-row">
@@ -147,6 +148,7 @@
[Parameter] public ServerDetailResponse Server { get; set; }
private ServerStatusResponse Status;
private ServerStatsResponse Stats;
private bool IsFailed = false;
private bool IsLoaded = false;
@@ -159,6 +161,7 @@
try
{
Status = await ServerService.GetStatus(Server.Id);
Stats = await ServerService.GetStats(Server.Id);
}
catch (Exception e)
{

View File

@@ -1,7 +1,7 @@
@using Microsoft.AspNetCore.SignalR.Client
@using MoonlightServers.Frontend.UI.Views.Client
@using MoonlightServers.Shared.Enums
@using MoonlightServers.Shared.Http.Responses.Users.Servers
@using MoonlightServers.Shared.Http.Responses.Client.Servers
@code
{

View File

@@ -1,4 +1,4 @@
@using MoonlightServers.Shared.Http.Responses.Users.Servers
@using MoonlightServers.Shared.Http.Responses.Client.Servers
@{
var gradient = Status switch
{

View File

@@ -4,13 +4,21 @@
@using MoonCore.Blazor.Tailwind.Components
@using MoonCore.Models
@using MoonlightServers.Frontend.Services
@using MoonlightServers.Shared.Http.Responses.Users.Servers
@using MoonlightServers.Shared.Http.Responses.Client.Servers
@inject ServerService ServerService
<LazyLoader Load="Load">
<div class="flex flex-col gap-y-5">
@* Folder design idea
@if (Servers.Length == 0)
{
<IconAlert Title="No servers found" Color="text-primary" Icon="icon-search">
There are no servers linked to your account
</IconAlert>
}
else
{
<div class="flex flex-col gap-y-5">
@* Folder design idea
<div class="w-full bg-gray-800 px-5 py-3.5 rounded-xl">
<div class="flex items-center">
<div class="bg-gray-900 bg-opacity-45 py-1 px-2 rounded-lg flex items-center">
@@ -28,11 +36,12 @@
</div>
</div>
*@
@foreach (var server in Servers)
{
<ServerCard Server="server"/>
}
</div>
@foreach (var server in Servers)
{
<ServerCard Server="server"/>
}
</div>
}
</LazyLoader>
@code

View File

@@ -3,7 +3,6 @@
@using Microsoft.AspNetCore.Http.Connections
@using Microsoft.AspNetCore.SignalR.Client
@using MoonlightServers.Shared.Http.Responses.Users.Servers
@using MoonCore.Blazor.Tailwind.Components
@using MoonCore.Exceptions
@using MoonCore.Helpers
@@ -11,6 +10,7 @@
@using MoonlightServers.Frontend.Models
@using MoonlightServers.Frontend.Services
@using MoonlightServers.Shared.Enums
@using MoonlightServers.Shared.Http.Responses.Client.Servers
@inject ServerService ServerService
@inject NavigationManager Navigation