monitoring-api/packages/v1/administrativo/actions/log/log_client_action.py

30 lines
No EOL
1.1 KiB
Python

from abstracts.action import BaseAction
from packages.v1.administrativo.schemas.log_schema import LogClientIdSchema
from packages.v1.administrativo.repositories.log.log_show_repository import LogClientRepository
class LogClientAction(BaseAction):
"""
Action responsável por orquestrar a visualização (show) de um registro
único na tabela 'log', geralmente utilizando o 'log_id'.
"""
def execute(self, log_schema: LogClientIdSchema):
"""
Executa a lógica de busca e exibição do log.
O schema 'LogClientIdSchema' é usado para transportar o 'client_id', que
será o critério principal para buscar os dados completos
(client_id, date_post, file) do log.
:param log_schema: Schema contendo o ID do log a ser exibido.
:return: O registro de log encontrado ou None/erro.
"""
# Instânciamento do repositório de visualização (show)
client_repository = LogClientRepository()
# Execução do repositório
response = client_repository.execute(log_schema)
# Retorno da informação
return response