27 lines
731 B
Python
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()
|