Files
vtuber-awards/Backend/Endpoints/AdminModerationEndpoints.cs
T
2026-06-25 19:52:46 +02:00

46 lines
2.8 KiB
C#

namespace Backend.Endpoints;
public static partial class AdminModerationEndpoints
{
public static RouteGroupBuilder MapAdminModerationEndpoints(this RouteGroupBuilder group)
{
group.MapDelete("/clips/{clipId:int}", DeleteClip)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequireWritePermission(context, next, Backend.Security.AdminPermissionCatalog.Clips))
.WithName("DeleteAdminClip")
.WithOpenApi();
group.MapPost("/clips/{clipId:int}/status", UpdateClipStatus)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequireWritePermission(context, next, Backend.Security.AdminPermissionCatalog.Clips))
.WithName("UpdateAdminClipStatus")
.WithOpenApi();
group.MapPost("/nominations/{nominationId:int}/approve", ApproveNomination)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequireWritePermission(context, next, Backend.Security.AdminPermissionCatalog.Nominations))
.WithName("ApproveAdminNomination")
.WithOpenApi();
group.MapPost("/nominations/{nominationId:int}/reject", RejectNomination)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequireWritePermission(context, next, Backend.Security.AdminPermissionCatalog.Nominations))
.WithName("RejectAdminNomination")
.WithOpenApi();
group.MapGet("/risk-flags", GetRiskFlags)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequirePermission(context, next, Backend.Security.AdminPermissionCatalog.Risk))
.WithName("GetAdminRiskFlags")
.WithOpenApi();
group.MapPost("/risk-flags/{riskFlagId:int}/resolve", ResolveRiskFlag)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequireWritePermission(context, next, Backend.Security.AdminPermissionCatalog.Risk))
.WithName("ResolveRiskFlag")
.WithOpenApi();
group.MapPost("/risk-flags/bulk-resolve", BulkResolveRiskFlags)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequireWritePermission(context, next, Backend.Security.AdminPermissionCatalog.Risk))
.WithName("BulkResolveRiskFlags")
.WithOpenApi();
group.MapGet("/risk-rules", GetRiskRules)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequirePermission(context, next, Backend.Security.AdminPermissionCatalog.Risk))
.WithName("GetAdminRiskRules")
.WithOpenApi();
group.MapPut("/risk-rules", UpdateRiskRules)
.AddEndpointFilter((context, next) => AdminEndpointConventions.RequireWritePermission(context, next, Backend.Security.AdminPermissionCatalog.Risk))
.WithName("UpdateAdminRiskRules")
.WithOpenApi();
return group;
}
}