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

27 lines
No EOL
1.1 KiB
Python

from packages.v1.administrativo.schemas.log_schema import LogIdSchema
from packages.v1.administrativo.repositories.log.log_delete_repository import LogDeleteRepository
class LogDeleteAction:
"""
Action para a exclusão de um registro na tabela 'log'.
Utiliza o schema com o ID do log e delega a operação ao repositório.
"""
def execute(self, log_schema: LogIdSchema):
"""
Executa a lógica de exclusão do log.
Note que, embora a tabela 'log' possua vários campos
(log_id, client_id, date_post, file), a exclusão normalmente
requer apenas a chave primária ('log_id'), que deve ser encapsulada
no schema 'LogIdSchema'.
:param log_schema: Schema contendo o ID do log a ser excluído.
:return: Resultado da operação de exclusão do repositório.
"""
# Instancia o repositório específico para a exclusão de logs
delete_repository = LogDeleteRepository()
# Chama o método execute do repositório, passando o schema do log
return delete_repository.execute(log_schema)