Files
sakhteman/auth/urls/role.py
T

37 lines
1.0 KiB
Python
Raw Normal View History

2024-02-15 00:17:51 +03:30
from typing import List
from fastapi import Request, Body
from auth.models.roles import RoleModel
from auth.repositories.AuthRepository import AuthRepository
from core.app import app
from core.utils.router import generate_router, safe_route
router = generate_router("roles", auth_dependencies=True)
_tag_base = ['roles']
@router.get('/routes', tags=_tag_base)
async def get_routes(request: Request) -> List[str]:
roles_ids = request.state.user.roles if request.state.user.roles else []
return await safe_route('fetch', AuthRepository.get_f_routes, roles_ids)
@router.post('/create', tags=_tag_base)
async def create(_input: RoleModel = Body(...)):
return await safe_route('create', AuthRepository.create_role, _input)
@router.get('/modules', tags=_tag_base)
async def get_my_modules():
return await safe_route('fetch', AuthRepository.get_my_modules)
@router.post('', tags=_tag_base)
async def fetch() -> List[str]:
return await safe_route('fetch', AuthRepository.get_roles)
app.include_router(router)