namespace NeonSprawl.Server.Game.Items; /// Maps GET /game/world/item-definitions (NEO-53). public static class ItemDefinitionsWorldApi { public static WebApplication MapItemDefinitionsWorldApi(this WebApplication app) { app.MapGet( "/game/world/item-definitions", (IItemDefinitionRegistry registry) => { var defs = registry.GetDefinitionsInIdOrder(); var items = new List(defs.Count); foreach (var d in defs) { items.Add( new ItemDefinitionJson { Id = d.Id, DisplayName = d.DisplayName, PrototypeRole = d.PrototypeRole, StackMax = d.StackMax, InventorySlotKind = d.InventorySlotKind, }); } return Results.Json( new ItemDefinitionsListResponse { SchemaVersion = ItemDefinitionsListResponse.CurrentSchemaVersion, Items = items, }); }); return app; } }