31 lines
No EOL
1.2 KiB
Python
31 lines
No EOL
1.2 KiB
Python
from abstracts.action import BaseAction
|
|
from packages.v1.administrativo.schemas.client_schema import ClientSchema
|
|
from packages.v1.administrativo.repositories.client.client_show_repository import ClientShowRepository
|
|
|
|
|
|
class ClientShowAction(BaseAction):
|
|
"""
|
|
Action responsável por orquestrar a visualização (show) de um registro
|
|
único na tabela 'client', geralmente utilizando o 'client_id'.
|
|
"""
|
|
|
|
def execute(self, client_schema: ClientSchema):
|
|
"""
|
|
Executa a lógica de busca e exibição do cliente.
|
|
|
|
O schema 'ClientSchema' é usado para transportar o 'client_id', que
|
|
será o critério principal para buscar os dados completos do cliente:
|
|
cns, name, date_register, state, city, responsible, consultant,
|
|
e type_contract.
|
|
|
|
:param client_schema: Schema contendo o ID do cliente a ser exibido.
|
|
:return: O registro de cliente encontrado ou None/erro.
|
|
"""
|
|
# Instânciamento do repositório de visualização (show)
|
|
show_repository = ClientShowRepository()
|
|
|
|
# Execução do repositório
|
|
response = show_repository.execute(client_schema)
|
|
|
|
# Retorno da informação
|
|
return response |