api-admim/app/routers/rotas.py

88 lines
2.6 KiB
Python

from app.database import models
from app.routers.rotas_dinamicas import create_dynamic_router
from app.routers.router_pessoa import router as pessoa
from app.s3.router_s3 import router as s3
from app import schemas
from app.rbac.routes_login import router as fastapi_user
from app.rbac.routes_usuario_logado import router as fastapi_logado
# Instanciando o DynamicRouter com o repositório injetado diretamente nas funções
tipo_endereco = create_dynamic_router(
rota_prefix="/api/tipo_endereco",
rota_tags=["Tipo Endereço"],
db_model=models.ComercialTipoEndereco,
create=schemas.tipo_endereco_schemas.Create,
request=schemas.tipo_endereco_schemas.Request,
request_formatado=schemas.tipo_endereco_schemas.Request,
id_many=schemas.tipo_endereco_schemas.IdsRequest,
id_one=schemas.tipo_endereco_schemas.IdRequest,
update=schemas.tipo_endereco_schemas.UpdateRequest,
updates=schemas.tipo_endereco_schemas.UpdateManyRequest,
ativo=schemas.utils.RegistroAtivo,
permissao_total=1,
permissao_setor=2,
permissao_endpoint=31,
permissao_especifica_inicial=201,
ordenacao="tipo_endereco_descricao"
)
endereco = create_dynamic_router(
rota_prefix="/api/endereco",
rota_tags=["Endereço"],
db_model=models.ComercialEndereco,
create=schemas.endereco_schemas.Create,
request=schemas.endereco_schemas.Request,
request_formatado=schemas.endereco_schemas.Request,
id_many=schemas.endereco_schemas.IdsRequest,
id_one=schemas.endereco_schemas.IdRequest,
update=schemas.endereco_schemas.UpdateRequest,
updates=schemas.endereco_schemas.UpdateManyRequest,
ativo=schemas.utils.RegistroAtivo,
permissao_total=1,
permissao_setor=2,
permissao_endpoint=32,
permissao_especifica_inicial=301
)
papel = create_dynamic_router(
rota_prefix="/api/papeis",
rota_tags=["Papeis"],
db_model=models.RbacPapel,
create=schemas.papel_shemas.Create,
request=schemas.papel_shemas.Request,
request_formatado=schemas.papel_shemas.Request,
id_many=schemas.papel_shemas.IdsRequest,
id_one=schemas.papel_shemas.IdRequest,
update=schemas.papel_shemas.UpdateRequest,
updates=schemas.papel_shemas.UpdateManyRequest,
permissao_total=1,
permissao_setor=3,
permissao_endpoint=41,
permissao_especifica_inicial=1201
)
# Rotas não dinâmicas
pessoa_router = pessoa
fastapi_user_router = fastapi_user
fastapi_logado_router = fastapi_logado
s3_router = s3
# Lista de roteadores para serem registrados
routers = [
fastapi_user_router,
fastapi_logado_router,
tipo_endereco,
endereco,
pessoa_router,
papel,
s3_router,
]