monitoring-api/packages/v1/administrativo/actions/log/log_save_action.py
2025-10-06 09:30:41 -03:00

26 lines
No EOL
1.1 KiB
Python

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)