Decouple workflow services from HTTP result types
This commit is contained in:
@@ -17,7 +17,8 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.GetMineAsync(player.Id);
|
||||
var result = await service.GetMineAsync(player.Id);
|
||||
return result.ToHttpResult(Results.Ok);
|
||||
});
|
||||
|
||||
group.MapPost("/", async ([FromBody] SuggestionRequest request, HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -26,7 +27,7 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.CreateAsync(
|
||||
var result = await service.CreateAsync(
|
||||
player.Id,
|
||||
new SuggestionInput(
|
||||
request.Name,
|
||||
@@ -39,6 +40,8 @@ public static class SuggestEndpoints
|
||||
request.MaxPlayers
|
||||
)
|
||||
);
|
||||
|
||||
return result.ToHttpResult(payload => Results.Created($"/api/suggestions/{payload.Id}", payload));
|
||||
}).AddEndpointFilter(new PhaseOrJokerFilter());
|
||||
|
||||
group.MapDelete("/{id:int}", async (int id, HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -47,7 +50,8 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.DeleteAsync(player.Id, id);
|
||||
var result = await service.DeleteAsync(player.Id, id);
|
||||
return result.ToHttpResult(Results.NoContent);
|
||||
});
|
||||
|
||||
group.MapPut("/{id:int}", async (int id, [FromBody] SuggestionRequest request, HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -56,7 +60,7 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.UpdateAsync(
|
||||
var result = await service.UpdateAsync(
|
||||
player.Id,
|
||||
id,
|
||||
new SuggestionInput(
|
||||
@@ -70,6 +74,8 @@ public static class SuggestEndpoints
|
||||
request.MaxPlayers
|
||||
)
|
||||
);
|
||||
|
||||
return result.ToHttpResult(Results.Ok);
|
||||
});
|
||||
|
||||
group.MapGet("/all", async (HttpContext ctx, AppDbContext db, SuggestionWorkflowService service) =>
|
||||
@@ -78,7 +84,8 @@ public static class SuggestEndpoints
|
||||
if (player is null)
|
||||
return EndpointHelpers.UnauthorizedError();
|
||||
|
||||
return await service.GetAllAsync(player.Id);
|
||||
var result = await service.GetAllAsync(player.Id);
|
||||
return result.ToHttpResult(Results.Ok);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user