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)