Настройка потока заявок на роли (DEV)
API: FastAPI
- В dev режимах фронтенд использует Vite‑proxy для пути
"/api".
- Proxy перенаправляет
"/api/*" → ${VITE_API_BASE_URL}/api/v1/*.
- В
.env.development.local:
VITE_API_BASE_URL=http://127.0.0.1:8002
VITE_DIRECT_API_IN_DEV=1 (чтобы в dev обращаться напрямую к бекенду)
Требуемые эндпойнты FastAPI
GET /api/v1/role-requests/available-roles → массив { id, name, description, hasRole, hasPendingRequest }
GET /api/v1/role-requests/my → заявки текущего пользователя
POST /api/v1/role-requests → создать заявку { role_id, reason? }
Supabase fallback
- Миграции:
supabase/migrations/20251207_role_requests.sql — таблица role_requests, RLS, RPC request_role, process_role_request и сид ролей.
supabase/migrations/20251207_unread_notifications_count.sql — заглушка RPC для уведомлений.
- Используются таблицы
roles, user_roles, role_requests.
SMS‑верификация телефона
- Edge функция
send-sms-verification должна быть задеплоена.
- Успешная проверка обновляет
users.phone_verified=true и profiles.phone.
Проверка
- Запустить FastAPI бекенд.
- Войти как турист →
/tourist/role-management.
- Должны отображаться «Доступные роли». Нажать «Запросить». В «Мои запросы» появится заявка.
- Админ: обработать заявку (RPC
process_role_request), затем активировать роль.