Refactor endpoint services to accept narrow inputs
This commit is contained in:
@@ -17,7 +17,7 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.GetMineAsync(player);
|
||||
return await service.GetMineAsync(player.Id);
|
||||
});
|
||||
|
||||
group.MapPost("/", async ([FromBody] SuggestionRequest request, HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -26,7 +26,19 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.CreateAsync(player, request);
|
||||
return await service.CreateAsync(
|
||||
player.Id,
|
||||
new SuggestionInput(
|
||||
request.Name,
|
||||
request.Genre,
|
||||
request.Description,
|
||||
request.ScreenshotUrl,
|
||||
request.YoutubeUrl,
|
||||
request.GameUrl,
|
||||
request.MinPlayers,
|
||||
request.MaxPlayers
|
||||
)
|
||||
);
|
||||
}).AddEndpointFilter(new PhaseOrJokerFilter());
|
||||
|
||||
group.MapDelete("/{id:int}", async (int id, HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -35,8 +47,7 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
var isAdmin = await EndpointHelpers.IsAdmin(ctx, db);
|
||||
return await service.DeleteAsync(player, isAdmin, id);
|
||||
return await service.DeleteAsync(player.Id, id);
|
||||
});
|
||||
|
||||
group.MapPut("/{id:int}", async (int id, [FromBody] SuggestionRequest request, HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -45,8 +56,20 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
var isAdmin = player.IsAdmin;
|
||||
return await service.UpdateAsync(player, isAdmin, id, request);
|
||||
return await service.UpdateAsync(
|
||||
player.Id,
|
||||
id,
|
||||
new SuggestionInput(
|
||||
request.Name,
|
||||
request.Genre,
|
||||
request.Description,
|
||||
request.ScreenshotUrl,
|
||||
request.YoutubeUrl,
|
||||
request.GameUrl,
|
||||
request.MinPlayers,
|
||||
request.MaxPlayers
|
||||
)
|
||||
);
|
||||
});
|
||||
|
||||
group.MapGet("/all", async (HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -55,7 +78,7 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.GetAllAsync(player);
|
||||
return await service.GetAllAsync(player.Id);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user