Refactor runtime bootstrap and ship control flows

This commit is contained in:
2026-04-03 01:12:26 -04:00
parent 0bb72bee35
commit 706e1cda8f
129 changed files with 9588 additions and 3548 deletions

View 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);
}
}