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