Add admin roles, user management, and campaign deletion
This commit is contained in:
30
RpgRoller/Api/AdminEndpoints.cs
Normal file
30
RpgRoller/Api/AdminEndpoints.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using RpgRoller.Contracts;
|
||||
using RpgRoller.Services;
|
||||
|
||||
namespace RpgRoller.Api;
|
||||
|
||||
internal static class AdminEndpoints
|
||||
{
|
||||
public static RouteGroupBuilder MapAdminEndpoints(this RouteGroupBuilder group)
|
||||
{
|
||||
group.MapGet("/admin/users", (HttpContext context, IGameService game) =>
|
||||
{
|
||||
var result = game.GetUsers(context.GetRequiredSessionToken());
|
||||
return ApiResultMapper.ToApiResult(result);
|
||||
});
|
||||
|
||||
group.MapPut("/admin/users/{userId:guid}/roles", (Guid userId, UpdateUserRolesRequest request, HttpContext context, IGameService game) =>
|
||||
{
|
||||
var result = game.UpdateUserRoles(context.GetRequiredSessionToken(), userId, request.Roles);
|
||||
return ApiResultMapper.ToApiResult(result);
|
||||
});
|
||||
|
||||
group.MapDelete("/admin/users/{userId:guid}", (Guid userId, HttpContext context, IGameService game) =>
|
||||
{
|
||||
var result = game.DeleteUser(context.GetRequiredSessionToken(), userId);
|
||||
return ApiResultMapper.ToApiResult(result);
|
||||
});
|
||||
|
||||
return group;
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,8 @@ public static class ApiEndpointRegistration
|
||||
authenticatedApi.MapMeEndpoints();
|
||||
authenticatedApi.MapCampaignEndpoints();
|
||||
authenticatedApi.MapCharacterEndpoints();
|
||||
authenticatedApi.MapAdminEndpoints();
|
||||
authenticatedApi.MapSkillEndpoints();
|
||||
authenticatedApi.MapStateEventEndpoints();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,12 @@ internal static class CampaignEndpoints
|
||||
return ApiResultMapper.ToApiResult(result);
|
||||
});
|
||||
|
||||
group.MapDelete("/campaigns/{campaignId:guid}", (Guid campaignId, HttpContext context, IGameService game) =>
|
||||
{
|
||||
var result = game.DeleteCampaign(context.GetRequiredSessionToken(), campaignId);
|
||||
return ApiResultMapper.ToApiResult(result);
|
||||
});
|
||||
|
||||
return group;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user