Spaces:
Runtime error
Runtime error
File size: 1,299 Bytes
ae443d3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | """
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'"
}
})
|