Spaces:
Runtime error
Runtime error
| """ | |
| Programs Endpoint | |
| ================= | |
| /api/programs - 지원 마일리지 프로그램 목록 | |
| API 키 불필요 (공개 정보) | |
| """ | |
| from starlette.requests import Request | |
| from starlette.responses import JSONResponse | |
| from app.config import MILEAGE_PROGRAMS, CABIN_DISPLAY_NAMES | |
| async def list_programs(request: Request) -> JSONResponse: | |
| """ | |
| 지원되는 마일리지 프로그램 목록 반환 (API 키 불필요) | |
| """ | |
| formatted_programs = [] | |
| for prog in MILEAGE_PROGRAMS: | |
| cabin_names = [CABIN_DISPLAY_NAMES.get(c, c) for c in prog["cabins"]] | |
| formatted_programs.append({ | |
| "code": prog["code"], | |
| "name": prog["name"], | |
| "cabins": cabin_names, | |
| "provides_seat_count": prog["has_seat_count"], | |
| "provides_trip_details": prog["has_trip_data"], | |
| "notes": prog.get("notes"), | |
| }) | |
| return JSONResponse({ | |
| "success": True, | |
| "count": len(formatted_programs), | |
| "programs": formatted_programs, | |
| "usage": { | |
| "search": "Use 'code' in the 'programs' parameter of /api/award/search", | |
| "routes": "Use 'code' as 'source' parameter of /api/award/routes", | |
| "example": "/api/award/search with programs='aeroplan,united'" | |
| } | |
| }) | |