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