Criação dos endpoint's da tabela client

This commit is contained in:
Kenio 2025-10-17 11:21:28 -03:00
parent fe4391815d
commit f5e67ef15b
3 changed files with 57 additions and 0 deletions

View file

@ -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)

View file

@ -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)

View file

@ -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