Files
vidconf/backend/api/teams.py

32 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Роутер справочника команд для аутентифицированных пользователей.
Отдельно от `/admin/teams` (админ-only CRUD): здесь только чтение полного
списка — нужно странице профиля (выбор команды). В отличие от
`GET /auth/registration-options`, список НЕ гасится тумблером
`registration_team_choice` (та настройка — только про публичную форму
регистрации, не про профиль уже аутентифицированного пользователя).
"""
from typing import Annotated
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from api.deps import get_current_user
from core.db import get_session
from models.user import User
from repositories.admin import TeamRepository
from schemas.admin import TeamOut
router = APIRouter(prefix="/api/v1/teams", tags=["teams"])
@router.get("", response_model=list[TeamOut])
async def list_teams(
user: Annotated[User, Depends(get_current_user)],
session: Annotated[AsyncSession, Depends(get_session)],
) -> list[TeamOut]:
"""Полный справочник команд, отсортированный по названию (выбор команды в профиле)."""
items, _ = await TeamRepository(session).list_all()
return [TeamOut.model_validate(team) for team in items]