mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
✨ init roles
This commit is contained in:
parent
13c6193bea
commit
62fe8dbe89
4 changed files with 225 additions and 6 deletions
49
src/routers/roles.py
Normal file
49
src/routers/roles.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
from fastapi import APIRouter, Depends
|
||||
from src.services.auth import get_current_user
|
||||
|
||||
from src.services.roles import Role, create_role, delete_role, get_role, update_role
|
||||
from src.services.users import User
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.post("/")
|
||||
async def api_create_role(role_object: Role, current_user: User = Depends(get_current_user)):
|
||||
"""
|
||||
Create new role
|
||||
"""
|
||||
return await create_role(role_object, current_user)
|
||||
|
||||
|
||||
@router.get("/{role_id}")
|
||||
async def api_get_role(role_id: str):
|
||||
"""
|
||||
Get single role by role_id
|
||||
"""
|
||||
return await get_role(role_id)
|
||||
|
||||
|
||||
@router.get("/page/{page}/limit/{limit}")
|
||||
async def api_get_role_by(page: int, limit: int):
|
||||
"""
|
||||
Get roles by page and limit
|
||||
"""
|
||||
return await get_role(page, limit)
|
||||
|
||||
|
||||
@router.put("/{role_id}")
|
||||
async def api_update_role(role_object: Role, role_id: str, current_user: User = Depends(get_current_user)):
|
||||
"""
|
||||
Update role by role_id
|
||||
"""
|
||||
return await update_role(role_object, role_id, current_user)
|
||||
|
||||
|
||||
@router.delete("/{role_id}")
|
||||
async def api_delete_role(role_id: str, current_user: User = Depends(get_current_user)):
|
||||
"""
|
||||
Delete role by ID
|
||||
"""
|
||||
|
||||
return await delete_role(role_id, current_user)
|
||||
Loading…
Add table
Add a link
Reference in a new issue