from packages.v1.administrativo.schemas.log_schema import LogSaveSchema from packages.v1.administrativo.repositories.log.log_save_repository import LogSaveRepository class LogSaveAction: """ Action responsável por orquestrar a operação de salvar (inserir ou atualizar) um registro na tabela 'log'. """ def execute(self, log_schema: LogSaveSchema): """ Executa a lógica de salvamento do log. O schema 'LogSaveSchema' deve conter todos os campos necessários para a operação de persistência, baseados na DDL: client_id, date_post (opcional na entrada, pois tem DEFAULT), e file. :param log_schema: Schema contendo os dados do log a serem salvos. :return: Resultado da operação de salvamento do repositório. """ # Instancia o repositório específico para a operação de salvar logs save_repository = LogSaveRepository() # Chama o método execute do repositório, passando o objeto schema return save_repository.execute(log_schema)