Criação dos endpoint's da tabela client
This commit is contained in:
parent
fe4391815d
commit
f5e67ef15b
3 changed files with 57 additions and 0 deletions
|
|
@ -0,0 +1,13 @@
|
|||
from abstracts.action import BaseAction
|
||||
from packages.v1.administrativo.schemas.client_schema import ClientCNSSchema
|
||||
from packages.v1.administrativo.repositories.client.client_get_cns_repository import GetCNSRepository
|
||||
|
||||
class GetCNSAction(BaseAction):
|
||||
|
||||
def execute(self, client_schema = ClientCNSSchema):
|
||||
|
||||
# Importação do repositório
|
||||
get_cns_repository = GetCNSRepository()
|
||||
|
||||
# Execução do repositório
|
||||
return get_cns_repository.execute(client_schema)
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
|
||||
from packages.v1.administrativo.schemas.client_schema import ClientCNSSchema, ClientSchema
|
||||
|
||||
class GetCNSRepository(BaseRepository):
|
||||
|
||||
def execute(self, client_schema = ClientCNSSchema)-> ClientSchema:
|
||||
|
||||
# Define a consulta sql
|
||||
sql = """ SELECT * FROM client c WHERE c.cns = :cns """
|
||||
|
||||
# Preenchimento dos parâmetros SQL
|
||||
params = {
|
||||
'cns': client_schema.cns
|
||||
}
|
||||
|
||||
# Execução da instrução sql
|
||||
return self.fetch_one(sql, params)
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.client_schema import ClientCNSSchema
|
||||
from packages.v1.administrativo.actions.client.client_get_cns_action import GetCNSAction
|
||||
|
||||
class GetCNSService:
|
||||
|
||||
def execute(self, client_schema: ClientCNSSchema, messageValidate: bool):
|
||||
|
||||
# Instânciamento de ação
|
||||
cns_action = GetCNSAction()
|
||||
|
||||
# Executa a ação em questão
|
||||
data = cns_action.execute(client_schema)
|
||||
|
||||
if messageValidate:
|
||||
|
||||
if not data:
|
||||
# Retorna uma exceção
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail='Não foi possível localizar o CNS do cliente'
|
||||
)
|
||||
|
||||
# Retorno da informação
|
||||
return data
|
||||
Loading…
Add table
Reference in a new issue