psb_hack/api/app/controllers/roles_router.py

27 lines
731 B
Python

from typing import List, Optional
from fastapi import APIRouter, Depends, Response
from sqlalchemy.ext.asyncio import AsyncSession
from app.database.session import get_db
from app.domain.entities.roles import RoleRead
from app.domain.models import User
from app.infrastructure.dependencies import require_admin
from app.infrastructure.roles_service import RolesService
roles_router = APIRouter()
@roles_router.get(
'/',
response_model=List[RoleRead],
summary='Returns all roles',
description='Returns all roles',
)
async def get_all_roles(
db: AsyncSession = Depends(get_db),
user: User = Depends(require_admin),
):
roles_service = RolesService(db)
return await roles_service.get_all()