Files
echoes-of-the-ash/api/migrate_main.py
2025-11-27 16:27:01 +01:00

91 lines
3.1 KiB
Python

"""
Script to help migrate main.py endpoints to router files.
This script analyzes endpoint patterns and generates router code.
"""
# Endpoint grouping patterns
ROUTER_GROUPS = {
"game_routes": [
"/api/game/state",
"/api/game/profile",
"/api/game/spend_point",
"/api/game/location",
"/api/game/move",
"/api/game/inspect",
"/api/game/interact",
"/api/game/use_item",
"/api/game/pickup",
"/api/game/inventory",
"/api/game/item/drop"
],
"equipment": [
"/api/game/equip",
"/api/game/unequip",
"/api/game/equipment",
"/api/game/repair_item",
"/api/game/repairable",
"/api/game/salvageable"
],
"crafting": [
"/api/game/craftable",
"/api/game/craft_item",
"/api/game/uncraft_item"
],
"loot": [
"/api/game/corpse/{corpse_id}",
"/api/game/loot_corpse"
],
"combat": [
"/api/game/combat",
"/api/game/combat/initiate",
"/api/game/combat/action",
"/api/game/pvp/initiate",
"/api/game/pvp/status",
"/api/game/pvp/acknowledge",
"/api/game/pvp/action"
],
"admin": [
"/api/internal/player/by_id/{player_id}",
"/api/internal/player/{player_id}/combat",
"/api/internal/combat/create",
"/api/internal/combat/{player_id}",
"/api/internal/player/{player_id}",
"/api/internal/player/{player_id}/move",
"/api/internal/player/{player_id}/inspect",
"/api/internal/player/{player_id}/interact",
"/api/internal/player/{player_id}/inventory",
"/api/internal/player/{player_id}/use_item",
"/api/internal/player/{player_id}/pickup",
"/api/internal/player/{player_id}/drop_item",
"/api/internal/player/{player_id}/equip",
"/api/internal/player/{player_id}/unequip",
"/api/internal/dropped-items",
"/api/internal/dropped-items/{dropped_item_id}",
"/api/internal/location/{location_id}/dropped-items",
"/api/internal/corpses/player",
"/api/internal/corpses/player/{corpse_id}",
"/api/internal/corpses/npc",
"/api/internal/corpses/npc/{corpse_id}",
"/api/internal/wandering-enemies",
"/api/internal/location/{location_id}/wandering-enemies",
"/api/internal/wandering-enemies/{enemy_id}",
"/api/internal/inventory/item/{item_db_id}",
"/api/internal/cooldown/{cooldown_key}",
"/api/internal/location/{location_id}/corpses/player",
"/api/internal/location/{location_id}/corpses/npc",
"/api/internal/image-cache/{image_path:path}",
"/api/internal/image-cache",
"/api/internal/player/{player_id}/status-effects"
],
"statistics": [
"/api/statistics/{player_id}",
"/api/statistics/me",
"/api/leaderboard/{stat_name}"
]
}
print("Router migration patterns defined")
print(f"Total routes to migrate: {sum(len(v) for v in ROUTER_GROUPS.values())}")
for router_name, routes in ROUTER_GROUPS.items():
print(f" - {router_name}: {len(routes)} routes")