28 lines
No EOL
1.1 KiB
Python
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 |