monitoring-api/packages/v1/administrativo/actions/client/client_show_action.py

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 ShowRepository
class ShowAction(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 = ShowRepository()
# Execução do repositório
response = show_repository.execute(client_schema)
# Retorno da informação
return response