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