[MVPTN-18] feat(CRUD): Cria endpoints funcionais de timovel e timovelUnidade
This commit is contained in:
parent
a7978d385e
commit
588a8dc156
22 changed files with 160 additions and 183 deletions
|
|
@ -21,4 +21,6 @@ class TImovelDeleteAction(BaseAction):
|
|||
t_imovel_delete_repository = TImovelDeleteRepository()
|
||||
|
||||
# Execução do repositório
|
||||
return t_imovel_delete_repository.execute(t_imovel_id_schema)
|
||||
response = t_imovel_delete_repository.execute(t_imovel_id_schema)
|
||||
|
||||
return response
|
||||
|
|
@ -9,7 +9,7 @@ class TImovelUnidadeDeleteAction(BaseAction):
|
|||
de exclusão de um registro na tabela t_t_imovel_unidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeSchema):
|
||||
def execute(self, t_imovel_unidade_id_schema: TImovelUnidadeSchema):
|
||||
"""
|
||||
Executa a operação de exclusão no banco de dados.
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ class TImovelUnidadeDeleteAction(BaseAction):
|
|||
O resultado da operação de exclusão.
|
||||
"""
|
||||
# Instanciamento do repositório
|
||||
delete_repository = TImovelUnidadeDeleteRepository()
|
||||
t_imovel_unidade_delete_repository = TImovelUnidadeDeleteRepository()
|
||||
|
||||
# Execução do repositório
|
||||
return delete_repository.execute(t_imovel_unidade_schema)
|
||||
return t_imovel_unidade_delete_repository.execute(t_imovel_unidade_id_schema)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
from abstracts.action import BaseAction
|
||||
from api.packages.v1.administrativo.repositories.t_imovel_unidade.t_imovel_unidade_save_repository import TImovelUnidadeSaveRepository
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeSchema
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeSaveSchema
|
||||
|
||||
class TImovelUnidadeSaveAction(BaseAction):
|
||||
"""
|
||||
|
|
@ -8,7 +8,7 @@ class TImovelUnidadeSaveAction(BaseAction):
|
|||
de salvar um novo registro na tabela t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeSchema):
|
||||
def execute(self, t_imovel_unidade_save_schema: TImovelUnidadeSaveSchema):
|
||||
"""
|
||||
Executa a operação de salvamento.
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ class TImovelUnidadeSaveAction(BaseAction):
|
|||
t_imovel_unidade_save_repository = TImovelUnidadeSaveRepository()
|
||||
|
||||
# Execução do repositório
|
||||
response = t_imovel_unidade_save_repository.execute(t_imovel_unidade_schema)
|
||||
response = t_imovel_unidade_save_repository.execute(t_imovel_unidade_save_schema)
|
||||
|
||||
# Retorno da informação
|
||||
return response
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
from abstracts.action import BaseAction
|
||||
from api.packages.v1.administrativo.repositories.t_imovel_unidade.t_imovel_unidade_show_repository import TImovelUnidadeShowRepository
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeSchema
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeIdSchema
|
||||
|
||||
class TImovelUnidadeShowAction(BaseAction):
|
||||
"""
|
||||
|
|
@ -8,7 +8,7 @@ class TImovelUnidadeShowAction(BaseAction):
|
|||
de um registro na tabela t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeSchema):
|
||||
def execute(self, t_imovel_unidade_id_schema: TImovelUnidadeIdSchema):
|
||||
"""
|
||||
Executa a operação de exibição.
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ class TImovelUnidadeShowAction(BaseAction):
|
|||
t_imovel_unidade_show_repository = TImovelUnidadeShowRepository()
|
||||
|
||||
# Execução do repositório
|
||||
response = t_imovel_unidade_show_repository.execute(t_imovel_unidade_schema)
|
||||
response = t_imovel_unidade_show_repository.execute(t_imovel_unidade_id_schema)
|
||||
|
||||
# Retorno da informação
|
||||
return response
|
||||
|
|
@ -9,7 +9,7 @@ class TImovelUnidadeUpdateAction(BaseAction):
|
|||
de um registro na tabela t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeUpdateSchema):
|
||||
def execute(self, t_imovel_unidade_update_schema: TImovelUnidadeUpdateSchema):
|
||||
"""
|
||||
Executa a operação de atualização.
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ class TImovelUnidadeUpdateAction(BaseAction):
|
|||
O resultado da operação de atualização.
|
||||
"""
|
||||
# Instância o repositório de atualização
|
||||
t_imovelUnidade_update_repository = TImovelUnidadeUpdateRepository()
|
||||
t_imovel_unidade_update_repository = TImovelUnidadeUpdateRepository()
|
||||
|
||||
# Chama o método de execução do repositório para realizar a atualização
|
||||
return t_imovelUnidade_update_repository.execute(t_imovel_unidade_schema)
|
||||
return t_imovel_unidade_update_repository.execute(t_imovel_unidade_update_schema)
|
||||
|
|
@ -36,7 +36,7 @@ class TImovelController:
|
|||
|
||||
|
||||
# Busca um registro de t_imovel específico pelo ID
|
||||
def show(self, t_imovel_schema: TImovelIdSchema):
|
||||
def show(self, t_imovel_id_schema: TImovelIdSchema):
|
||||
|
||||
#Importação da classe desejada
|
||||
show_service = self.dynamic_import.service('t_imovel_show_service', 'TImovelShowService')
|
||||
|
|
@ -47,8 +47,8 @@ class TImovelController:
|
|||
# Busca e retorna o registro de t_imovel desejado
|
||||
return {
|
||||
'message': 'Registro de t_imovel localizado com sucesso',
|
||||
'data': self.show_service.execute(t_imovel_schema)
|
||||
}
|
||||
'data': self.show_service.execute(t_imovel_id_schema)
|
||||
}
|
||||
|
||||
# Cadastra um novo registro de t_imovel
|
||||
def save(self, t_imovel_save_schema: TImovelSaveSchema):
|
||||
|
|
@ -65,7 +65,7 @@ class TImovelController:
|
|||
}
|
||||
|
||||
# Atualiza os dados de um registro de t_imovel
|
||||
def update(self, t_imovel_id: int, t_imovel_schema: TImovelUpdateSchema):
|
||||
def update(self, t_imovel_update_schema: TImovelUpdateSchema):
|
||||
|
||||
#Importação da classe desejada
|
||||
update_service = self.dynamic_import.service('t_imovel_update_service', 'TImovelUpdateService')
|
||||
|
|
@ -76,7 +76,7 @@ class TImovelController:
|
|||
# Busca e retorna o registro de t_imovel desejado
|
||||
return {
|
||||
'message': 'Registro de t_imovel atualizado com sucesso',
|
||||
'data': self.update_service.execute(t_imovel_id, t_imovel_schema)
|
||||
'data': self.update_service.execute(t_imovel_update_schema)
|
||||
}
|
||||
|
||||
# Exclui um registro de t_imovel
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class TImovelUnidadeController:
|
|||
self.dynamic_import.set_table("t_imovel_unidade")
|
||||
pass
|
||||
|
||||
# Lista todos os registros de censec_qualidade
|
||||
# Lista todos os registros de imovel_unidade
|
||||
def index(self, t_imovel_unidade_index_schema: TImovelUnidadeIndexSchema):
|
||||
|
||||
# Importação da classe desejada
|
||||
|
|
@ -28,68 +28,69 @@ class TImovelUnidadeController:
|
|||
# Instância da classe service
|
||||
self.t_imovel_index_service = t_imovel_index_service()
|
||||
|
||||
# Lista todos os registros de censec_qualidade
|
||||
# Lista todos os registros de imovel_unidade
|
||||
return {
|
||||
'message': 'Registros de t_imovel_unidade localizados com sucesso',
|
||||
'data': self.t_imovel_index_service.execute(t_imovel_unidade_index_schema)
|
||||
}
|
||||
|
||||
|
||||
# Busca um registro de censec_qualidade específico pelo ID
|
||||
def show(self, t_imovel_unidade_schema: TImovelUnidadeIdSchema):
|
||||
# Busca um registro de imovel_unidade específico pelo ID
|
||||
def show(self, t_imovel_unidade_id_schema: TImovelUnidadeIdSchema):
|
||||
|
||||
#Importação da classe desejada
|
||||
show_service = self.dynamic_import.service('t_imovel_unidade_show_service', 'ShowService')
|
||||
t_imovel_unidade_show_service = self.dynamic_import.service('t_imovel_unidade_show_service', 'TImovelUnidadeShowService')
|
||||
|
||||
# Instância da classe desejada
|
||||
self.show_service = show_service()
|
||||
self.t_imovel_unidade_show_service = t_imovel_unidade_show_service()
|
||||
|
||||
# Busca e retorna o registro de censec_qualidade desejado
|
||||
# Busca e retorna o registro de imovel_unidade desejado
|
||||
return {
|
||||
'message': 'Registro de censec_qualidade localizado com sucesso',
|
||||
'data': self.show_service.execute(t_imovel_unidade_schema)
|
||||
'message': 'Registro de imovel_unidade localizado com sucesso',
|
||||
'data': self.t_imovel_unidade_show_service.execute(t_imovel_unidade_id_schema)
|
||||
}
|
||||
|
||||
# Cadastra um novo registro de censec_qualidade
|
||||
def save(self, t_imovel_unidade_schema: TImovelUnidadeSaveSchema):
|
||||
# Cadastra um novo registro de imovel_unidade
|
||||
def save(self, t_imovel_unidade_save_schema: TImovelUnidadeSaveSchema):
|
||||
|
||||
#Importação da classe desejada
|
||||
save_service = self.dynamic_import.service('t_imovel_unidade_save_service', 'SaveService')
|
||||
t_imovel_unidade_save_service = self.dynamic_import.service('t_imovel_unidade_save_service', 'TImovelUnidadeSaveService')
|
||||
|
||||
# Instância da classe desejada
|
||||
self.save_service = save_service()
|
||||
# Busca e retorna o registro de censec_qualidade desejado
|
||||
self.t_imovel_unidade_save_service = t_imovel_unidade_save_service()
|
||||
|
||||
# Busca e retorna o registro de imovel_unidade desejado
|
||||
return {
|
||||
'message': 'Registro de censec_qualidade salvo com sucesso',
|
||||
'data': self.save_service.execute(t_imovel_unidade_schema)
|
||||
'message': 'Registro de imovel_unidade salvo com sucesso',
|
||||
'data': self.t_imovel_unidade_save_service.execute(t_imovel_unidade_save_schema)
|
||||
}
|
||||
|
||||
# Atualiza os dados de um registro de censec_qualidade
|
||||
def update(self, t_imovel_unidade_id: int, t_imovel_unidade_schema: TImovelUnidadeUpdateSchema):
|
||||
# Atualiza os dados de um registro de imovel_unidade
|
||||
def update(self, t_imovel_unidade_update_schema: TImovelUnidadeUpdateSchema):
|
||||
|
||||
#Importação da classe desejada
|
||||
update_service = self.dynamic_import.service('t_imovel_unidade_update_service', 'UpdateService')
|
||||
t_imovel_unidade_update_service = self.dynamic_import.service('t_imovel_unidade_update_service', 'TImovelUnidadeUpdateService')
|
||||
|
||||
# Instância da classe desejada
|
||||
self.update_service = update_service()
|
||||
self.t_imovel_unidade_update_service = t_imovel_unidade_update_service()
|
||||
|
||||
# Busca e retorna o registro de censec_qualidade desejado
|
||||
# Busca e retorna o registro de imovel_unidade desejado
|
||||
return {
|
||||
'message': 'Registro de censec_qualidade atualizado com sucesso',
|
||||
'data': self.update_service.execute(t_imovel_unidade_id, t_imovel_unidade_schema)
|
||||
'message': 'Registro de imovel_unidade atualizado com sucesso',
|
||||
'data': self.t_imovel_unidade_update_service.execute(t_imovel_unidade_update_schema)
|
||||
}
|
||||
|
||||
# Exclui um registro de censec_qualidade
|
||||
def delete(self, t_imovel_unidade_schema: TImovelUnidadeIdSchema):
|
||||
# Exclui um registro de imovel_unidade
|
||||
def delete(self, t_imovel_unidade_id_schema: TImovelUnidadeIdSchema):
|
||||
|
||||
#Importação da classe desejada
|
||||
delete_service = self.dynamic_import.service('t_imovel_unidade_delete_service', 'DeleteService')
|
||||
t_imovel_unidade_delete_service = self.dynamic_import.service('t_imovel_unidade_delete_service', 'TImovelUnidadeDeleteService')
|
||||
|
||||
# Instância da classe desejada
|
||||
self.delete_service = delete_service()
|
||||
self.t_imovel_unidade_delete_service = t_imovel_unidade_delete_service()
|
||||
|
||||
# Busca e retorna o registro de censec_qualidade desejado
|
||||
# Busca e retorna o registro de imovel_unidade desejado
|
||||
return {
|
||||
'message': 'Registro de censec_qualidade removido com sucesso',
|
||||
'data': self.delete_service.execute(t_imovel_unidade_schema)
|
||||
'message': 'Registro de imovel_unidade removido com sucesso',
|
||||
'data': self.t_imovel_unidade_delete_service.execute(t_imovel_unidade_id_schema)
|
||||
}
|
||||
|
|
@ -17,13 +17,13 @@ router = APIRouter()
|
|||
t_imovel_controller = TImovelController()
|
||||
|
||||
# Lista todos os registros de t_imovel
|
||||
@router.get('/classe/{imovel_id}',
|
||||
@router.get('/classe/{tipo_classe}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary='Lista todos os registros de t_imovel cadastrados',
|
||||
response_description='Lista todos os registros de t_imovel cadastrados')
|
||||
async def index(imovel_id: int, current_user: dict = Depends(get_current_user)):
|
||||
async def index(tipo_classe: int, current_user: dict = Depends(get_current_user)):
|
||||
|
||||
t_imovel_index_schema = TImovelIndexSchema(imovel_id=imovel_id)
|
||||
t_imovel_index_schema = TImovelIndexSchema(tipo_classe=tipo_classe)
|
||||
|
||||
# Busca todos os registros de t_imovel cadastrados
|
||||
response = t_imovel_controller.index(t_imovel_index_schema)
|
||||
|
|
@ -31,7 +31,6 @@ async def index(imovel_id: int, current_user: dict = Depends(get_current_user)):
|
|||
# Retorna os dados localizados
|
||||
return response
|
||||
|
||||
|
||||
# Localiza um registro de t_imovel pelo ID
|
||||
@router.get('/{imovel_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
|
|
@ -40,15 +39,14 @@ async def index(imovel_id: int, current_user: dict = Depends(get_current_user)):
|
|||
async def show(imovel_id : int, current_user: dict = Depends(get_current_user)):
|
||||
|
||||
# Cria o schema com os dados recebidos
|
||||
t_imovel_schema = TImovelIdSchema(imovel_id=imovel_id)
|
||||
t_imovel_id_schema = TImovelIdSchema(imovel_id=imovel_id)
|
||||
|
||||
# Busca um registro de t_imovel específico pelo ID
|
||||
response = t_imovel_controller.show(t_imovel_schema)
|
||||
response = t_imovel_controller.show(t_imovel_id_schema)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
||||
|
||||
# Cadastro de registro de t_imovel
|
||||
@router.post('/',
|
||||
status_code=status.HTTP_201_CREATED,
|
||||
|
|
@ -62,16 +60,18 @@ async def save(t_imovel_schema: TImovelSaveSchema, current_user: dict = Depends(
|
|||
# Retorna os dados localizados
|
||||
return response
|
||||
|
||||
|
||||
# Atualiza os dados de um registro de t_imovel
|
||||
@router.put('/{imovel_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary='Atualiza um registro de t_imovel',
|
||||
response_description='Atualiza um registro de t_imovel')
|
||||
async def update(imovel_id: int, t_imovel_schema: TImovelUpdateSchema, current_user: dict = Depends(get_current_user)):
|
||||
async def update(imovel_id: int, t_imovel_update_schema: TImovelUpdateSchema, current_user: dict = Depends(get_current_user)):
|
||||
|
||||
# Adiciona o ID do registro ao schema
|
||||
t_imovel_update_schema.imovel_id = imovel_id
|
||||
|
||||
# Efetua a atualização dos dados
|
||||
response = t_imovel_controller.update(imovel_id, t_imovel_schema)
|
||||
response = t_imovel_controller.update(t_imovel_update_schema)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
|
|
|||
|
|
@ -40,10 +40,10 @@ async def index(imovel_id: int, current_user: dict = Depends(get_current_user)):
|
|||
async def show(imovel_unidade_id : int, current_user: dict = Depends(get_current_user)):
|
||||
|
||||
# Cria o schema com os dados recebidos
|
||||
t_imovel_unidade_schema = TImovelUnidadeIdSchema(imovel_unidade_id=imovel_unidade_id)
|
||||
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_schema)
|
||||
response = t_imovel_unidade_controller.show(t_imovel_unidade_id_schema)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
|
@ -54,10 +54,10 @@ async def show(imovel_unidade_id : int, current_user: dict = Depends(get_current
|
|||
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_schema: TImovelUnidadeSaveSchema, current_user: dict = Depends(get_current_user)):
|
||||
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_schema)
|
||||
response = t_imovel_unidade_controller.save(t_imovel_unidade_save_schema)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
|
@ -68,10 +68,13 @@ async def save(t_imovel_unidade_schema: TImovelUnidadeSaveSchema, current_user:
|
|||
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_schema: TImovelUnidadeUpdateSchema, current_user: dict = Depends(get_current_user)):
|
||||
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(imovel_unidade_id, t_imovel_unidade_schema)
|
||||
response = t_imovel_unidade_controller.update(t_imovel_unidade_update_schema)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
|
@ -84,10 +87,10 @@ async def update(imovel_unidade_id: int, t_imovel_unidade_schema: TImovelUnidade
|
|||
async def delete(imovel_unidade_id: int, current_user: dict = Depends(get_current_user)):
|
||||
|
||||
# Cria o schema com os dados recebidos
|
||||
t_imovel_unidade_schema = TImovelUnidadeIdSchema(imovel_unidade_id=imovel_unidade_id)
|
||||
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_schema)
|
||||
response = t_imovel_unidade_controller.delete(t_imovel_unidade_id_schema)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
|
@ -19,6 +19,7 @@ class TImovelDeleteRepository(BaseRepository):
|
|||
O resultado da operação de exclusão.
|
||||
"""
|
||||
try:
|
||||
|
||||
# Montagem do sql
|
||||
sql = """ DELETE FROM T_IMOVEL TI WHERE TI.IMOVEL_ID = :imovelId """
|
||||
|
||||
|
|
@ -34,6 +35,7 @@ class TImovelDeleteRepository(BaseRepository):
|
|||
return response
|
||||
|
||||
except Exception as e:
|
||||
|
||||
# Informa que houve uma falha na exclusão
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
|
|
|
|||
|
|
@ -15,14 +15,18 @@ class TImovelIndexRepository(BaseRepository):
|
|||
Uma lista de dicionários contendo os dados dos registros.
|
||||
"""
|
||||
# Montagem do SQL
|
||||
sql = """ SELECT TI.*, GTBB.DESCRICAO AS GTBB_DESCRICAO FROM T_IMOVEL TI
|
||||
JOIN G_TB_BAIRRO GTBB ON TI.TB_BAIRRO_ID = GTBB.TB_BAIRRO_ID
|
||||
WHERE TI.TIPO_CLASSE = :tipoClasse """
|
||||
sql = """ SELECT TI.*,
|
||||
GTBB.DESCRICAO AS GTBB_DESCRICAO
|
||||
FROM T_IMOVEL TI
|
||||
JOIN G_TB_BAIRRO GTBB ON TI.TB_BAIRRO_ID = GTBB.TB_BAIRRO_ID
|
||||
WHERE TI.TIPO_CLASSE = :tipoClasse """
|
||||
|
||||
params = {
|
||||
"tipoClasse": t_imovel_index_schema.tipo_classe
|
||||
}
|
||||
|
||||
print(params)
|
||||
|
||||
# Execução do sql
|
||||
response = self.fetch_all(sql, params)
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ class TImovelUnidadeDeleteRepository(BaseRepository):
|
|||
t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeIdSchema):
|
||||
def execute(self, t_imovel_unidade_id_schema: TImovelUnidadeIdSchema):
|
||||
"""
|
||||
Executa a consulta SQL para remover um registro pelo ID.
|
||||
|
||||
|
|
@ -24,7 +24,7 @@ class TImovelUnidadeDeleteRepository(BaseRepository):
|
|||
|
||||
# Preenchimento de parâmetros
|
||||
params = {
|
||||
"imovel_unidade_id": t_imovel_unidade_schema.imovel_unidade_id
|
||||
"imovel_unidade_id": t_imovel_unidade_id_schema.imovel_unidade_id
|
||||
}
|
||||
|
||||
# Execução do sql
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from packages.v1.administrativo.schemas.t_imovel_unidade_schema import TUnidadeImovelUnidadeSchema
|
||||
from packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeSaveSchema
|
||||
|
||||
|
||||
class TImovelUnidadeSaveRepository(BaseRepository):
|
||||
|
|
@ -8,12 +8,12 @@ class TImovelUnidadeSaveRepository(BaseRepository):
|
|||
Repositório para a operação de salvamento de um novo registro na tabela t_t_imovel_unidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TUnidadeImovelUnidadeSchema):
|
||||
def execute(self, t_imovel_unidade_save_schema: TImovelUnidadeSaveSchema):
|
||||
"""
|
||||
Executa a operação de salvamento no banco de dados.
|
||||
|
||||
Args:
|
||||
t_imovel_unidade_schema (TUnidadeImovelUnidadeSchema): O esquema com os dados a serem salvos.
|
||||
t_imovel_unidade_save_schema (TUnidadeImovelUnidadeSchema): O esquema com os dados a serem salvos.
|
||||
|
||||
Returns:
|
||||
O registro recém-criado.
|
||||
|
|
@ -107,41 +107,41 @@ class TImovelUnidadeSaveRepository(BaseRepository):
|
|||
# Preenchimento dos parâmetros
|
||||
# ----------------------------------------------------
|
||||
params = {
|
||||
'imovel_unidade_id': t_imovel_unidade_schema.imovel_unidade_id,
|
||||
'imovel_id': t_imovel_unidade_schema.imovel_id,
|
||||
'numero_unidade': t_imovel_unidade_schema.numero_unidade,
|
||||
'quadra': t_imovel_unidade_schema.quadra,
|
||||
'area': t_imovel_unidade_schema.area,
|
||||
'superquadra': t_imovel_unidade_schema.superquadra,
|
||||
'conjunto': t_imovel_unidade_schema.conjunto,
|
||||
'bloco': t_imovel_unidade_schema.bloco,
|
||||
'area_descritiva': t_imovel_unidade_schema.area_descritiva,
|
||||
'caracteristica': t_imovel_unidade_schema.caracteristica,
|
||||
'reserva_florestal': t_imovel_unidade_schema.reserva_florestal,
|
||||
'geo_referenciamento': t_imovel_unidade_schema.geo_referenciamento,
|
||||
'logradouro': t_imovel_unidade_schema.logradouro,
|
||||
'tb_tipologradouro_id': t_imovel_unidade_schema.tb_tipologradouro_id,
|
||||
'selecionado': t_imovel_unidade_schema.selecionado,
|
||||
'complemento': t_imovel_unidade_schema.complemento,
|
||||
'tipo_imovel': t_imovel_unidade_schema.tipo_imovel,
|
||||
'tipo_construcao': t_imovel_unidade_schema.tipo_construcao,
|
||||
'texto': t_imovel_unidade_schema.texto,
|
||||
'numero_edificacao': t_imovel_unidade_schema.numero_edificacao,
|
||||
'iptu': t_imovel_unidade_schema.iptu,
|
||||
'ccir': t_imovel_unidade_schema.ccir,
|
||||
'nirf': t_imovel_unidade_schema.nirf,
|
||||
'lote': t_imovel_unidade_schema.lote,
|
||||
'torre': t_imovel_unidade_schema.torre,
|
||||
'nomeloteamento': t_imovel_unidade_schema.nomeloteamento,
|
||||
'nomecondominio': t_imovel_unidade_schema.nomecondominio,
|
||||
'numero': t_imovel_unidade_schema.numero,
|
||||
'cnm_numero': t_imovel_unidade_schema.cnm_numero,
|
||||
'imovel_publico_uniao': t_imovel_unidade_schema.imovel_publico_uniao,
|
||||
'spu_rip': t_imovel_unidade_schema.spu_rip,
|
||||
'cat': t_imovel_unidade_schema.cat,
|
||||
'inscricao_municipal': t_imovel_unidade_schema.inscricao_municipal,
|
||||
'cib': t_imovel_unidade_schema.cib,
|
||||
'area_construida': t_imovel_unidade_schema.area_construida,
|
||||
'imovel_unidade_id': t_imovel_unidade_save_schema.imovel_unidade_id,
|
||||
'imovel_id': t_imovel_unidade_save_schema.imovel_id,
|
||||
'numero_unidade': t_imovel_unidade_save_schema.numero_unidade,
|
||||
'quadra': t_imovel_unidade_save_schema.quadra,
|
||||
'area': t_imovel_unidade_save_schema.area,
|
||||
'superquadra': t_imovel_unidade_save_schema.superquadra,
|
||||
'conjunto': t_imovel_unidade_save_schema.conjunto,
|
||||
'bloco': t_imovel_unidade_save_schema.bloco,
|
||||
'area_descritiva': t_imovel_unidade_save_schema.area_descritiva,
|
||||
'caracteristica': t_imovel_unidade_save_schema.caracteristica,
|
||||
'reserva_florestal': t_imovel_unidade_save_schema.reserva_florestal,
|
||||
'geo_referenciamento': t_imovel_unidade_save_schema.geo_referenciamento,
|
||||
'logradouro': t_imovel_unidade_save_schema.logradouro,
|
||||
'tb_tipologradouro_id': t_imovel_unidade_save_schema.tb_tipologradouro_id,
|
||||
'selecionado': t_imovel_unidade_save_schema.selecionado,
|
||||
'complemento': t_imovel_unidade_save_schema.complemento,
|
||||
'tipo_imovel': t_imovel_unidade_save_schema.tipo_imovel,
|
||||
'tipo_construcao': t_imovel_unidade_save_schema.tipo_construcao,
|
||||
'texto': t_imovel_unidade_save_schema.texto,
|
||||
'numero_edificacao': t_imovel_unidade_save_schema.numero_edificacao,
|
||||
'iptu': t_imovel_unidade_save_schema.iptu,
|
||||
'ccir': t_imovel_unidade_save_schema.ccir,
|
||||
'nirf': t_imovel_unidade_save_schema.nirf,
|
||||
'lote': t_imovel_unidade_save_schema.lote,
|
||||
'torre': t_imovel_unidade_save_schema.torre,
|
||||
'nomeloteamento': t_imovel_unidade_save_schema.nomeloteamento,
|
||||
'nomecondominio': t_imovel_unidade_save_schema.nomecondominio,
|
||||
'numero': t_imovel_unidade_save_schema.numero,
|
||||
'cnm_numero': t_imovel_unidade_save_schema.cnm_numero,
|
||||
'imovel_publico_uniao': t_imovel_unidade_save_schema.imovel_publico_uniao,
|
||||
'spu_rip': t_imovel_unidade_save_schema.spu_rip,
|
||||
'cat': t_imovel_unidade_save_schema.cat,
|
||||
'inscricao_municipal': t_imovel_unidade_save_schema.inscricao_municipal,
|
||||
'cib': t_imovel_unidade_save_schema.cib,
|
||||
'area_construida': t_imovel_unidade_save_schema.area_construida,
|
||||
}
|
||||
|
||||
# Execução do sql
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ class TImovelUnidadeShowRepository(BaseRepository):
|
|||
Repositório para a operação de exibição de um registro na tabela t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeIdSchema):
|
||||
def execute(self, t_imovel_unidade_id_schema: TImovelUnidadeIdSchema):
|
||||
"""
|
||||
Busca um registro específico de CENSEC_QUALIDADE pelo ID.
|
||||
|
||||
|
|
@ -22,11 +22,11 @@ class TImovelUnidadeShowRepository(BaseRepository):
|
|||
"""
|
||||
try:
|
||||
# Montagem do SQL
|
||||
sql = "SELECT * FROM T_IMOVEL_UNIDADE WHERE IMOVEL_UNIDADE_ID = :imovel_unidade_Id"
|
||||
sql = "SELECT * FROM T_IMOVEL_UNIDADE WHERE IMOVEL_UNIDADE_ID = :imovel_unidade_id"
|
||||
|
||||
# Preenchimento de parâmetros
|
||||
params = {
|
||||
'imovel_unidade_Id': t_imovel_unidade_schema.imovel_unidade_id
|
||||
'imovel_unidade_id': t_imovel_unidade_id_schema.imovel_unidade_id
|
||||
}
|
||||
|
||||
# Execução do SQL
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ class TImovelUnidadeUpdateRepository(BaseRepository):
|
|||
Repositório para a operação de atualização na tabela T_CENSEC_QUALIDADE.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_id : int, t_imovel_unidade_schema: TImovelUnidadeUpdateSchema):
|
||||
def execute(self, t_imovel_unidade_update_schema: TImovelUnidadeUpdateSchema):
|
||||
"""
|
||||
Executa a atualização de um registro na tabela.
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ class TImovelUnidadeUpdateRepository(BaseRepository):
|
|||
|
||||
# Monta dinamicamente os campos presentes no schema
|
||||
for attr, column in field_map.items():
|
||||
value = getattr(t_imovel_unidade_schema, attr, None)
|
||||
value = getattr(t_imovel_unidade_update_schema, attr, None)
|
||||
if value is not None:
|
||||
updates.append(f"{column} = :{attr}")
|
||||
params[attr] = value
|
||||
|
|
@ -79,7 +79,7 @@ class TImovelUnidadeUpdateRepository(BaseRepository):
|
|||
)
|
||||
|
||||
# ID obrigatório
|
||||
params["t_imovel_unidade_id"] = t_imovel_unidade_id
|
||||
params["t_imovel_unidade_id"] = t_imovel_unidade_update_schema.imovel_unidade_id
|
||||
|
||||
# Monta o SQL dinâmico
|
||||
sql = f"""
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class TImovelSchema(BaseModel):
|
|||
# Schema base
|
||||
# ----------------------------------------------------
|
||||
class TImovelIndexSchema(BaseModel):
|
||||
tipo_classe: str = None
|
||||
tipo_classe: int = None
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
|
@ -100,6 +100,7 @@ class TImovelSaveSchema(BaseModel):
|
|||
# Schema para atualização de IMÓVEL (PUT)
|
||||
# ----------------------------------------------------
|
||||
class TImovelUpdateSchema(BaseModel):
|
||||
imovel_id: int = None
|
||||
tipo_classe: Optional[str] = None
|
||||
tipo_registro: Optional[str] = None
|
||||
data_registro: Optional[datetime] = None
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ class TImovelUnidadeIdSchema(BaseModel):
|
|||
# ----------------------------------------------------
|
||||
class TImovelUnidadeSaveSchema(BaseModel):
|
||||
imovel_id: int
|
||||
imovel_unidade_id: Optional[int] = None
|
||||
numero_unidade: str
|
||||
area: float
|
||||
logradouro: str
|
||||
|
|
@ -152,6 +153,7 @@ class TImovelUnidadeSaveSchema(BaseModel):
|
|||
# Schema para atualização de unidade (PUT)
|
||||
# ----------------------------------------------------
|
||||
class TImovelUnidadeUpdateSchema(BaseModel):
|
||||
imovel_unidade_id: Optional[int] = None
|
||||
imovel_id: Optional[int] = None
|
||||
numero_unidade: Optional[str] = None
|
||||
area: Optional[float] = None
|
||||
|
|
@ -189,42 +191,5 @@ class TImovelUnidadeUpdateSchema(BaseModel):
|
|||
cib: Optional[str] = None
|
||||
area_construida: Optional[float] = None
|
||||
|
||||
# Sanitiza campos textuais
|
||||
@field_validator(
|
||||
'numero_unidade', 'quadra', 'superquadra', 'conjunto', 'bloco',
|
||||
'area_descritiva', 'caracteristica', 'reserva_florestal', 'geo_referenciamento',
|
||||
'logradouro', 'selecionado', 'complemento', 'numero_edificacao',
|
||||
'iptu', 'ccir', 'nirf', 'lote', 'torre', 'nomeloteamento', 'nomecondominio',
|
||||
'cnm_numero', 'imovel_publico_uniao', 'spu_rip', 'cat', 'inscricao_municipal', 'cib'
|
||||
)
|
||||
def sanitize_fields(cls, v):
|
||||
if v:
|
||||
return Text.sanitize_input(v)
|
||||
return v
|
||||
|
||||
# Valida campo BLOB
|
||||
@field_validator('texto')
|
||||
def validate_blob(cls, v):
|
||||
if v is not None and not isinstance(v, bytes):
|
||||
raise ValueError('O campo TEXTO deve ser do tipo bytes.')
|
||||
return v
|
||||
|
||||
# Garante que ao menos um campo seja enviado
|
||||
@model_validator(mode='after')
|
||||
def validate_partial_update(self):
|
||||
if not any([
|
||||
self.imovel_id, self.numero_unidade, self.area, self.logradouro,
|
||||
self.tb_tipologradouro_id, self.texto, self.quadra, self.superquadra,
|
||||
self.conjunto, self.bloco, self.area_descritiva, self.caracteristica,
|
||||
self.reserva_florestal, self.geo_referenciamento, self.selecionado,
|
||||
self.complemento, self.tipo_imovel, self.tipo_construcao, self.numero_edificacao,
|
||||
self.iptu, self.ccir, self.nirf, self.lote, self.torre, self.nomeloteamento,
|
||||
self.nomecondominio, self.numero, self.cnm_numero, self.imovel_publico_uniao,
|
||||
self.spu_rip, self.cat, self.inscricao_municipal, self.cib, self.area_construida
|
||||
]):
|
||||
return self
|
||||
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail="Pelo menos um campo deve ser fornecido para a atualização."
|
||||
)
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
|
@ -22,13 +22,14 @@ class TImovelSaveService:
|
|||
def execute(self, t_imovel_save_schema: TImovelSaveSchema):
|
||||
|
||||
# Verifica se precisa gerar o ID de sequência
|
||||
# Coluna primária ajustada
|
||||
if not t_imovel_save_schema.imovel_id:
|
||||
|
||||
# Crio um objeto de sequencia
|
||||
sequencia_schema = GSequenciaSchema()
|
||||
|
||||
# Define os dados para atualizar a sequencia
|
||||
sequencia_schema.tabela = 'T_IMOVEL'
|
||||
sequencia_schema.tabela = 'T_IMOVEL' # Nome da tabela ajustado
|
||||
|
||||
# Busco a sequência atualizada
|
||||
generate = GenerateService()
|
||||
|
|
@ -37,10 +38,11 @@ class TImovelSaveService:
|
|||
sequencia = generate.execute(sequencia_schema)
|
||||
|
||||
# Atualiza os dados da chave primária
|
||||
t_imovel_save_schema.imovel_id = sequencia.sequencia
|
||||
t_imovel_save_schema.imovel_id = sequencia.sequencia # Coluna primária ajustada
|
||||
|
||||
# Instanciamento de ações
|
||||
# Ação já é importada como SaveAction
|
||||
t_imovel_save_action = TImovelSaveAction()
|
||||
|
||||
# Retorna o resultado da operação
|
||||
return t_imovel_save_action.execute(t_imovel_save_schema)
|
||||
return t_imovel_save_action.execute(t_imovel_save_schema) # Nome do parâmetro ajustado
|
||||
|
|
@ -1,28 +1,28 @@
|
|||
from api.packages.v1.administrativo.actions.t_imovel_unidade.t_imovel_unidade_show_action import TImovelUnidadeShowAction
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeIdSchema
|
||||
from api.packages.v1.administrativo.actions.t_imovel.t_imovel_show_action import TImovelShowAction
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_schema import TImovelIdSchema
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
class TImovelUnidadeShowService:
|
||||
class TImovelShowService:
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de busca de um registro na tabela t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_id_schema: TImovelUnidadeIdSchema):
|
||||
def execute(self, t_imovel_id_schema: TImovelIdSchema):
|
||||
"""
|
||||
Executa a operação de busca no banco de dados.
|
||||
|
||||
Args:
|
||||
t_imovel_unidade_schema (TCensecQualidadeIdSchema): O esquema com o ID a ser buscado.
|
||||
t_imovel_schema (TCensecQualidadeIdSchema): O esquema com o ID a ser buscado.
|
||||
|
||||
Returns:
|
||||
O resultado da busca.
|
||||
"""
|
||||
# Instanciamento da ação
|
||||
t_imovel_unidade_show_action = TImovelUnidadeShowAction()
|
||||
t_imovel_show_action = TImovelShowAction()
|
||||
|
||||
# Executa a ação em questão
|
||||
data = t_imovel_unidade_show_action.execute(t_imovel_unidade_id_schema)
|
||||
data = t_imovel_show_action.execute(t_imovel_id_schema)
|
||||
|
||||
if not data:
|
||||
# Retorna uma exceção
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
|
||||
from api.packages.v1.administrativo.actions.t_imovel_unidade.t_imovel_unidade_update_action import TImovelUnidadeUpdateAction
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeUpdateSchema
|
||||
from api.packages.v1.administrativo.actions.t_imovel.t_imovel_update_action import TImovelUpdateAction
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_schema import TImovelUpdateSchema
|
||||
|
||||
|
||||
class TImovelUnidadeUpdateService:
|
||||
class TImovelUpdateService:
|
||||
"""
|
||||
Serviço para a operação de atualização de um registro na tabela
|
||||
t_censec_qualidade.
|
||||
"""
|
||||
def execute(self, t_imovel_unidade_update_schema: TImovelUnidadeUpdateSchema):
|
||||
def execute(self, t_imovel_update_schema: TImovelUpdateSchema):
|
||||
"""
|
||||
Executa a operação de atualização no banco de dados.
|
||||
|
||||
Args:
|
||||
t_imovel_unidade_schema (TCensecQualidadeUpdateSchema): O esquema com os dados a serem atualizados.
|
||||
t_imovel_schema (TCensecQualidadeUpdateSchema): O esquema com os dados a serem atualizados.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de atualização.
|
||||
"""
|
||||
# Instanciamento de ações
|
||||
t_imovel_unidade_update_action = TImovelUnidadeUpdateAction()
|
||||
t_imovel_update_action = TImovelUpdateAction()
|
||||
|
||||
# Retorna o resultado da operação
|
||||
return t_imovel_unidade_update_action.execute(t_imovel_unidade_update_schema)
|
||||
return t_imovel_update_action.execute(t_imovel_update_schema)
|
||||
|
|
@ -8,7 +8,7 @@ class TImovelUnidadeDeleteService:
|
|||
de exclusão de um registro na tabela t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeIdSchema):
|
||||
def execute(self, t_imovel_unidade_id_schema: TImovelUnidadeIdSchema):
|
||||
"""
|
||||
Executa a operação de exclusão do registro no banco de dados.
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ class TImovelUnidadeDeleteService:
|
|||
t_imovel_unidade_delete = TImovelUnidadeDeleteAction()
|
||||
|
||||
# Executa a ação em questão
|
||||
data = t_imovel_unidade_delete.execute(t_imovel_unidade_schema)
|
||||
data = t_imovel_unidade_delete.execute(t_imovel_unidade_id_schema)
|
||||
|
||||
# Retorno da informação
|
||||
return data
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
from actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from api.packages.v1.administrativo.actions.t_imovel_unidade.t_imovel_unidade_save_action import TImovelUnidadeSaveAction
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeSchema
|
||||
from api.packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeSaveSchema, TImovelUnidadeSchema
|
||||
from packages.v1.sequencia.schemas.g_sequencia import GSequenciaSchema
|
||||
from packages.v1.sequencia.services.g_sequencia.generate_service import GenerateService
|
||||
from fastapi import HTTPException, status
|
||||
|
|
@ -19,19 +19,16 @@ class TImovelUnidadeSaveService:
|
|||
pass
|
||||
|
||||
# Cadastra o novo CENSEC_QUALIDADE
|
||||
def execute(self, t_imovel_unidade_schema: TImovelUnidadeSchema):
|
||||
|
||||
# Armazena possíveis erros
|
||||
errors = []
|
||||
def execute(self, t_imovel_unidade_save_schema: TImovelUnidadeSaveSchema):
|
||||
|
||||
# Verifica se precisa gerar o ID de sequência
|
||||
if not t_imovel_unidade_schema.imovel_unidade_id:
|
||||
if not t_imovel_unidade_save_schema.imovel_unidade_id:
|
||||
|
||||
# Crio um objeto de sequencia
|
||||
sequencia_schema = GSequenciaSchema()
|
||||
|
||||
# Define os dados para atualizar a sequencia
|
||||
sequencia_schema.tabela = 'T_CENSEC_QUALIDADE'
|
||||
sequencia_schema.tabela = 'T_IMOVEL_UNIDADE'
|
||||
|
||||
# Busco a sequência atualizada
|
||||
generate = GenerateService()
|
||||
|
|
@ -40,10 +37,10 @@ class TImovelUnidadeSaveService:
|
|||
sequencia = generate.execute(sequencia_schema)
|
||||
|
||||
# Atualiza os dados da chave primária
|
||||
t_imovel_unidade_schema.imovel_unidade_id = sequencia.sequencia
|
||||
t_imovel_unidade_save_schema.imovel_unidade_id = sequencia.sequencia
|
||||
|
||||
# Instanciamento de ações
|
||||
t_imovel_unidade_save_action = TImovelUnidadeSaveAction()
|
||||
|
||||
# Retorna o resultado da operação
|
||||
return t_imovel_unidade_save_action.execute(t_imovel_unidade_schema)
|
||||
return t_imovel_unidade_save_action.execute(t_imovel_unidade_save_schema)
|
||||
Loading…
Add table
Reference in a new issue