After_Chido_Api/api/v1/roles.py

34 lines
1.1 KiB
Python

from fastapi import APIRouter, Depends
from services.role_service import RoleService
from models.schemas import Role
from config.database import get_db
from fastapi.security import OAuth2PasswordBearer
router = APIRouter()
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/token")
@router.post("/", status_code=201)
async def create_role(role: Role, db=Depends(get_db), token: str = Depends(oauth2_scheme)):
return await RoleService.create_role(role, db, token)
@router.get("/{role_id}")
async def get_role(role_id: int, db=Depends(get_db)):
return await RoleService.get_role(role_id, db)
@router.get("/")
async def get_all_roles(db=Depends(get_db)):
return await RoleService.get_all_roles(db)
@router.put("/{role_id}")
async def update_role(role_id: int, data: dict, db=Depends(get_db), token: str = Depends(oauth2_scheme)):
return await RoleService.update_role(role_id, data, db, token)
@router.delete("/{role_id}")
async def delete_role(role_id: int, db=Depends(get_db), token: str = Depends(oauth2_scheme)):
return await RoleService.delete_role(role_id, db, token)