[MVPTN-106] feat(c_caixa_servico): Adicionado endpint que retorna c_caixa_servico pelo sistema_id
This commit is contained in:
parent
348cc3169d
commit
a61ea6d33d
6 changed files with 95 additions and 3 deletions
|
|
@ -0,0 +1,16 @@
|
|||
from abstracts.action import BaseAction
|
||||
from packages.v1.administrativo.schemas.c_caixa_servico_schema import CCaixaServicoSistemaIdSchema
|
||||
from packages.v1.administrativo.repositories.c_caixa_servico.c_caixa_servico_get_by_sistema_id_repository import ShowSistemaIdRepository
|
||||
|
||||
class ShowSistemaIdAction(BaseAction):
|
||||
|
||||
def execute(self, caixa_servico_schema : CCaixaServicoSistemaIdSchema):
|
||||
|
||||
# Instânciamento do repositório sql
|
||||
show_sistema_id_repository = ShowSistemaIdRepository()
|
||||
|
||||
# Execução do sql
|
||||
response = show_sistema_id_repository.execute(caixa_servico_schema)
|
||||
|
||||
# Retorno da informação
|
||||
return response
|
||||
|
|
@ -4,7 +4,8 @@ from packages.v1.administrativo.schemas.c_caixa_servico_schema import (
|
|||
CCaixaServicoSaveSchema,
|
||||
CCaixaServicoUpdateSchema,
|
||||
CCaixaServicoIdSchema,
|
||||
CCaixaServicoDescricaoSchema
|
||||
CCaixaServicoDescricaoSchema,
|
||||
CCaixaServicoSistemaIdSchema
|
||||
)
|
||||
|
||||
class CCaixaServicoController:
|
||||
|
|
@ -65,7 +66,23 @@ class CCaixaServicoController:
|
|||
return {
|
||||
'message' : 'Caixa Serviço localizado com sucesso',
|
||||
'data': self.show_service.execute(caixa_servico_schema, True)# True para retornar a mensagem de erro caso não localize o serviço
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Busca um caixa serviço pelp sistema_id
|
||||
def getSistemaId(self, caixa_servico_schema : CCaixaServicoSistemaIdSchema):
|
||||
|
||||
#Importação da classe desejada
|
||||
show_sistema_id_service = self.dynamic_import.service('c_caixa_servico_get_sistema_id_service', 'GetSistemaIdService')
|
||||
|
||||
# Instânciamento da classe desejada
|
||||
self.show_sistema_id_service = show_sistema_id_service()
|
||||
|
||||
# Busca e retorna o usuário desejado
|
||||
return {
|
||||
'message' : 'Caixa Serviços localizados com sucesso',
|
||||
'data': self.show_sistema_id_service.execute(caixa_servico_schema)
|
||||
}
|
||||
|
||||
|
||||
# Cadastra um novo usuário
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ from packages.v1.administrativo.schemas.c_caixa_servico_schema import (
|
|||
CCaixaServicoSchema,
|
||||
CCaixaServicoSaveSchema,
|
||||
CCaixaServicoUpdateSchema,
|
||||
CCaixaServicoDescricaoSchema
|
||||
CCaixaServicoDescricaoSchema,
|
||||
CCaixaServicoSistemaIdSchema
|
||||
)
|
||||
|
||||
# Inicializa o roteador para as rotas de usuário
|
||||
|
|
@ -47,6 +48,23 @@ async def getDescricao(descricao : str, current_user: dict = Depends(get_current
|
|||
return response
|
||||
|
||||
|
||||
# Localiza um caixa serviço pelo sistema_id
|
||||
@router.get('/sistema/{sistema_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary='Busca registros pelo sistema_id',
|
||||
response_description='Busca registros pelo sistema_id')
|
||||
async def getSistemaId(sistema_id : int, current_user: dict = Depends(get_current_user)):
|
||||
|
||||
# Cria o schema com os dados recebidos
|
||||
caixa_servico_schema = CCaixaServicoSistemaIdSchema(sistema_id=sistema_id)
|
||||
|
||||
# Busca um usuário especifico pelo e-mail
|
||||
response = c_caixa_servico_controller.getSistemaId(caixa_servico_schema)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
||||
|
||||
# Localiza um serviço pelo ID
|
||||
@router.get('/{caixa_servico_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from packages.v1.administrativo.schemas.c_caixa_servico_schema import CCaixaServicoSistemaIdSchema
|
||||
|
||||
class ShowSistemaIdRepository(BaseRepository):
|
||||
|
||||
def execute(self, caixa_servico_schema : CCaixaServicoSistemaIdSchema):
|
||||
|
||||
# Montagem do sql
|
||||
sql = """ SELECT * FROM C_CAIXA_SERVICO ccs WHERE ccs.sistema_id = :sistema_id ORDER BY ccs.descricao ASC"""
|
||||
|
||||
# Preenchimento de parâmetros
|
||||
params = {
|
||||
'sistema_id' : caixa_servico_schema.sistema_id
|
||||
}
|
||||
|
||||
# Execução do sql
|
||||
return self.fetch_all(sql, params)
|
||||
|
|
@ -209,6 +209,13 @@ class CCaixaServicoIdSchema(BaseModel):
|
|||
caixa_servico_id: int
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema para localizar um caixa serviço especifico pelo ID (GET)
|
||||
# ----------------------------------------------------
|
||||
class CCaixaServicoSistemaIdSchema(BaseModel):
|
||||
sistema_id: int
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema para localizar um caixa serviço pela descrição (GET)
|
||||
# ----------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.c_caixa_servico_schema import CCaixaServicoSistemaIdSchema
|
||||
from packages.v1.administrativo.actions.c_caixa_servico.c_caixa_servico_get_by_sistema_id_action import ShowSistemaIdAction
|
||||
|
||||
class GetSistemaIdService:
|
||||
|
||||
def execute(self, caixa_servico_schema: CCaixaServicoSistemaIdSchema):
|
||||
|
||||
# Instânciamento de ação
|
||||
show_sistema_id_action = ShowSistemaIdAction()
|
||||
|
||||
# Executa a ação em questão
|
||||
data = show_sistema_id_action.execute(caixa_servico_schema)
|
||||
|
||||
# Retorno da informação
|
||||
return data
|
||||
Loading…
Add table
Reference in a new issue