arbret/backend/routes/meta.py
counterweight 6c218130e9
Add ruff linter/formatter for Python
- Add ruff as dev dependency
- Configure ruff in pyproject.toml with strict 88-char line limit
- Ignore B008 (FastAPI Depends pattern is standard)
- Allow longer lines in tests for readability
- Fix all lint issues in source files
- Add Makefile targets: lint-backend, format-backend, fix-backend
2025-12-21 21:54:26 +01:00

18 lines
603 B
Python

"""Meta endpoints for shared constants."""
from fastapi import APIRouter
from models import ROLE_ADMIN, ROLE_REGULAR, InviteStatus, Permission
from schemas import ConstantsResponse
router = APIRouter(prefix="/api/meta", tags=["meta"])
@router.get("/constants", response_model=ConstantsResponse)
async def get_constants() -> ConstantsResponse:
"""Get shared constants for frontend/backend synchronization."""
return ConstantsResponse(
permissions=[p.value for p in Permission],
roles=[ROLE_ADMIN, ROLE_REGULAR],
invite_statuses=[s.value for s in InviteStatus],
)