Implemented basic ui for server sharing. Extracted server authorization. Refactoring and small improvements

This commit is contained in:
2025-06-11 21:59:49 +02:00
parent cfed1aefde
commit b53140e633
35 changed files with 1098 additions and 213 deletions

View File

@@ -23,6 +23,13 @@ public class ServerService
$"api/client/servers?page={page}&pageSize={perPage}"
);
}
public async Task<PagedData<ServerDetailResponse>> GetSharedServers(int page, int perPage)
{
return await HttpApiClient.GetJson<PagedData<ServerDetailResponse>>(
$"api/client/servers/shared?page={page}&pageSize={perPage}"
);
}
public async Task<ServerDetailResponse> GetServer(int serverId)
{

View File

@@ -0,0 +1,34 @@
using MoonCore.Attributes;
using MoonCore.Helpers;
using MoonCore.Models;
using MoonlightServers.Shared.Http.Requests.Client.Servers.Shares;
using MoonlightServers.Shared.Http.Responses.Client.Servers.Shares;
namespace MoonlightServers.Frontend.Services;
[Scoped]
public class ServerShareService
{
private readonly HttpApiClient ApiClient;
public ServerShareService(HttpApiClient apiClient)
{
ApiClient = apiClient;
}
public async Task<PagedData<ServerShareResponse>> Get(int id, int page, int pageSize)
=> await ApiClient.GetJson<PagedData<ServerShareResponse>>(
$"api/client/servers/{id}/shares?page={page}&pageSize={pageSize}");
public async Task<ServerShareResponse> Get(int id, int shareId)
=> await ApiClient.GetJson<ServerShareResponse>($"api/client/servers/{id}/shares/{shareId}");
public async Task<ServerShareResponse> Create(int id, CreateShareRequest request)
=> await ApiClient.PostJson<ServerShareResponse>($"api/client/servers/{id}/shares", request);
public async Task<ServerShareResponse> Update(int id, int shareId, UpdateShareRequest request)
=> await ApiClient.PatchJson<ServerShareResponse>($"api/client/servers/{id}/shares/{shareId}", request);
public async Task Delete(int id, int shareId)
=> await ApiClient.Delete($"api/client/servers/{id}/shares/{shareId}");
}