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

28 lines
No EOL
1.1 KiB
Python

from abstracts.action import BaseAction
from packages.v1.administrativo.repositories.log.log_index_repository import LogIndexRepository
from typing import Tuple, List, Dict, Any
class LogIndexAction(BaseAction):
"""
Action responsável por orquestrar a listagem (indexação) de todos
os registros da tabela 'log' com suporte a paginação.
"""
# O método execute agora recebe 'first' e 'skip'
def execute(self, first: int, skip: int) -> Tuple[List[Dict[str, Any]], int]:
"""
Executa a lógica de listagem com paginação.
:param first: Número máximo de registros a retornar (LIMIT).
:param skip: Número de registros a pular (OFFSET).
:return: Tupla com a lista de logs e o total de registros.
"""
# Instânciamento do repositório de indexação (listagem)
log_index_repository = LogIndexRepository()
# Execução do repositório para buscar os logs com paginação
response, total_records = log_index_repository.execute(first, skip)
# Retorno da informação
return response, total_records