push my ork

This commit is contained in:
2024-08-15 09:20:20 +02:00
parent decb932a1c
commit 3522aff72c
13 changed files with 100 additions and 118 deletions

View File

@@ -1,17 +1,13 @@
using OwnChar.Api.Packets;
namespace OwnChar.Server.Api.Endpoint;
namespace OwnChar.Server.Api.Endpoint;
internal class ApiBuilder(WebApplication app) : IApiBuilder
internal class ApiBuilder : IApiBuilder
{
public void MapRequest(string pattern, Delegate action)
{
Map(pattern + "/{request}", action);
}
private readonly Dictionary<ApiMapInfo, Delegate> handlers = [];
public IReadOnlyDictionary<ApiMapInfo, Delegate> Handlers => handlers;
public void Map(string pattern, Delegate action)
{
//app.Map(pattern, action);
app.MapPost(pattern, action);
handlers.Add(new(pattern, "POST"), action);
}
}

View File

@@ -0,0 +1,3 @@
namespace OwnChar.Server.Api.Endpoint;
public record struct ApiMapInfo(string Pattern, string Method);

View File

@@ -1,9 +1,8 @@
using OwnChar.Api.Packets;
namespace OwnChar.Server.Api.Endpoint;
namespace OwnChar.Server.Api.Endpoint;
public interface IApiBuilder
{
void MapRequest(string pattern, Delegate action);
public IReadOnlyDictionary<ApiMapInfo, Delegate> Handlers { get; }
void Map(string path, Delegate action);
}

View File

@@ -13,15 +13,15 @@ internal class GroupsApi(IServer server) : IApiEndpoint
{
public void Initialize(IApiBuilder builder)
{
builder.MapRequest("/groups/get/byid", GetById);
builder.MapRequest("/groups/get", Get);
builder.MapRequest("/groups/create", Create);
builder.MapRequest("/groups/update", Update);
builder.MapRequest("/groups/delete", Delete);
builder.MapRequest("/groups/members/get", GetMembers);
builder.MapRequest("/groups/members/add", AddMembers);
builder.MapRequest("/groups/members/update", UpdateMember);
builder.MapRequest("/groups/members/remove", RemoveMembers);
builder.Map("/groups/get/byid", GetById);
builder.Map("/groups/get", Get);
builder.Map("/groups/create", Create);
builder.Map("/groups/update", Update);
builder.Map("/groups/delete", Delete);
builder.Map("/groups/members/get", GetMembers);
builder.Map("/groups/members/add", AddMembers);
builder.Map("/groups/members/update", UpdateMember);
builder.Map("/groups/members/remove", RemoveMembers);
}
private IResult GetById(GetSinlgeObjectRequest request)

View File

@@ -9,8 +9,8 @@ internal class LoginApi(ServerContext server) : IApiEndpoint
{
public void Initialize(IApiBuilder builder)
{
builder.Map("/auth/login/{request}", Login);
builder.Map("/auth/logout/{request}", Logout);
builder.Map("/auth/login", Login);
builder.Map("/auth/logout", Logout);
}
private IResult Login(LoginRequest request)