Kart Manager API
BFF слой между клиентами (desktop/web/mobile/hub) и Supabase. Прямого доступа к БД у клиентов нет.
- POST /api/activate — активация десктопа по license_key + machine_id
- GET /api/locations — каталог картодромов
- GET /api/locations/[id] — детали
- POST /api/bookings — создать бронь
- GET /api/bookings?location_id=&date= — список (для расчёта слотов)
- POST /api/pilots — регистрация
- GET /api/pilots?phone= — поиск по телефону для ЛК
- GET /api/passings?pilot_name=&location_id=&limit= — круги
- GET /api/sessions?location_id= — сессии
- GET /api/leaderboard?location_id=&range= — рейтинг
- POST /api/sync/push (desktop JWT) — батч upsert в sessions/passings/bookings
- POST /api/sync/location-settings (desktop JWT)
- GET /api/sync/bookings-since?since= (desktop JWT)
- GET /api/admin/licenses (admin key)
- POST /api/admin/licenses (admin key) — создать лицензию
- DELETE /api/admin/licenses?key=&action=revoke|unbind