95 lines
No EOL
3.9 KiB
Python
95 lines
No EOL
3.9 KiB
Python
# Importação de bibliotecas
|
|
from fastapi import APIRouter, Depends, status
|
|
from actions.jwt.get_current_user import get_current_user
|
|
from packages.v1.administrativo.controllers.t_imovel_unidade_controller import TImovelUnidadeController
|
|
from packages.v1.administrativo.schemas.t_imovel_unidade_schema import (
|
|
TImovelUnidadeIndexSchema,
|
|
TImovelUnidadeSaveSchema,
|
|
TImovelUnidadeUpdateSchema,
|
|
TImovelUnidadeIdSchema
|
|
)
|
|
|
|
# Inicializa o roteador para as rotas do tipo de reconhecimento
|
|
router = APIRouter()
|
|
|
|
# Instanciamento do controller desejado
|
|
t_imovel_unidade_controller = TImovelUnidadeController()
|
|
|
|
# Lista todos os registros de t_imovel_unidade
|
|
@router.get('/imovel/{imovel_id}',
|
|
status_code=status.HTTP_200_OK,
|
|
summary='Lista todos os registros de t_imovel_unidade cadastrados',
|
|
response_description='Lista todos os registros de t_imovel_unidade cadastrados')
|
|
async def index(imovel_id: int, current_user: dict = Depends(get_current_user)):
|
|
|
|
t_imovel_unidade_index_schema = TImovelUnidadeIndexSchema(imovel_id=imovel_id)
|
|
|
|
# Busca todos os registros de t_imovel_unidade cadastrados
|
|
response = t_imovel_unidade_controller.index(t_imovel_unidade_index_schema)
|
|
|
|
# Retorna os dados localizados
|
|
return response
|
|
|
|
|
|
# Localiza um registro de t_imovel_unidade pelo ID
|
|
@router.get('/{imovel_unidade_id}',
|
|
status_code=status.HTTP_200_OK,
|
|
summary='Busca um registro de t_imovel_unidade em específico pelo ID',
|
|
response_description='Busca um registro de t_imovel_unidade em específico')
|
|
async def show(imovel_unidade_id : int, current_user: dict = Depends(get_current_user)):
|
|
|
|
# Cria o schema com os dados recebidos
|
|
t_imovel_unidade_id_schema = TImovelUnidadeIdSchema(imovel_unidade_id=imovel_unidade_id)
|
|
|
|
# Busca um registro de t_imovel_unidade específico pelo ID
|
|
response = t_imovel_unidade_controller.show(t_imovel_unidade_id_schema)
|
|
|
|
# Retorna os dados localizados
|
|
return response
|
|
|
|
|
|
# Cadastro de registro de t_imovel_unidade
|
|
@router.post('/',
|
|
status_code=status.HTTP_201_CREATED,
|
|
summary='Cadastra um registro de t_imovel_unidade',
|
|
response_description='Cadastra um registro de t_imovel_unidade')
|
|
async def save(t_imovel_unidade_save_schema: TImovelUnidadeSaveSchema, current_user: dict = Depends(get_current_user)):
|
|
|
|
# Efetua o cadastro no banco de dados
|
|
response = t_imovel_unidade_controller.save(t_imovel_unidade_save_schema)
|
|
|
|
# Retorna os dados localizados
|
|
return response
|
|
|
|
|
|
# Atualiza os dados de um registro de t_imovel_unidade
|
|
@router.put('/{imovel_unidade_id}',
|
|
status_code=status.HTTP_200_OK,
|
|
summary='Atualiza um registro de t_imovel_unidade',
|
|
response_description='Atualiza um registro de t_imovel_unidade')
|
|
async def update(imovel_unidade_id: int, t_imovel_unidade_update_schema: TImovelUnidadeUpdateSchema, current_user: dict = Depends(get_current_user)):
|
|
|
|
# Adiciona o ID do registro ao schema
|
|
t_imovel_unidade_update_schema.imovel_unidade_id = imovel_unidade_id
|
|
|
|
# Efetua a atualização dos dados
|
|
response = t_imovel_unidade_controller.update(t_imovel_unidade_update_schema)
|
|
|
|
# Retorna os dados localizados
|
|
return response
|
|
|
|
# Exclui um determinado registro de t_imovel_unidade
|
|
@router.delete('/{imovel_unidade_id}',
|
|
status_code=status.HTTP_200_OK,
|
|
summary='Remove um registro de t_imovel_unidade',
|
|
response_description='Remove um registro de t_imovel_unidade')
|
|
async def delete(imovel_unidade_id: int, current_user: dict = Depends(get_current_user)):
|
|
|
|
# Cria o schema com os dados recebidos
|
|
t_imovel_unidade_id_schema = TImovelUnidadeIdSchema(imovel_unidade_id=imovel_unidade_id)
|
|
|
|
# Efetua a exclusão do registro de t_imovel_unidade
|
|
response = t_imovel_unidade_controller.delete(t_imovel_unidade_id_schema)
|
|
|
|
# Retorna os dados localizados
|
|
return response |