from fastapi import HTTPException, status from packages.v1.administrativo.schemas.client_schema import ClientSchema from packages.v1.administrativo.actions.client.client_show_action import ShowAction class ShowService: """ Service responsável por orquestrar a visualização de um cliente específico (geralmente pelo client_id), delegando a execução para a Action. """ def execute(self, client_schema: ClientSchema): """ Executa o serviço de visualização de um cliente. :param client_schema: Schema contendo o client_id. :return: O registro do cliente encontrado. """ # Instânciamento de ação show_action = ShowAction() # Executa a ação em questão data = show_action.execute(client_schema) if not data: # Retorna uma exceção se o registro não for encontrado raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail='Não foi possível localizar o registro do cliente' ) # Retorno da informação return data