Перейти к содержанию

Настройка потока заявок на роли (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.

Проверка

  1. Запустить FastAPI бекенд.
  2. Войти как турист → /tourist/role-management.
  3. Должны отображаться «Доступные роли». Нажать «Запросить». В «Мои запросы» появится заявка.
  4. Админ: обработать заявку (RPC process_role_request), затем активировать роль.