Refactor runtime bootstrap and ship control flows
This commit is contained in:
35
apps/backend/Ships/Api/GetShipAutomationCatalogHandler.cs
Normal file
35
apps/backend/Ships/Api/GetShipAutomationCatalogHandler.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using FastEndpoints;
|
||||
|
||||
namespace SpaceGame.Api.Ships.Api;
|
||||
|
||||
public sealed class GetShipAutomationCatalogHandler : EndpointWithoutRequest<ShipAutomationCatalogSnapshot>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
Get("/api/ships/catalog");
|
||||
AllowAnonymous();
|
||||
}
|
||||
|
||||
public override async Task HandleAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
var snapshot = new ShipAutomationCatalogSnapshot(
|
||||
ShipAutomationCatalog.Behaviors
|
||||
.Select(definition => new ShipBehaviorDefinitionSnapshot(
|
||||
definition.Id,
|
||||
definition.Label,
|
||||
definition.Category,
|
||||
definition.SupportStatus.ToString(),
|
||||
definition.Notes))
|
||||
.ToList(),
|
||||
ShipAutomationCatalog.Orders
|
||||
.Select(definition => new ShipOrderDefinitionSnapshot(
|
||||
definition.Id,
|
||||
definition.Label,
|
||||
definition.Category,
|
||||
definition.SupportStatus.ToString(),
|
||||
definition.Notes))
|
||||
.ToList());
|
||||
|
||||
await SendOkAsync(snapshot, cancellationToken);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user