import type { HttpContext } from '@adonisjs/core/http' import ParseLog from '#models/parse_log' export default class ParseLogsController { /** * List parse logs with pagination, ordered by latest * GET /api/parse-logs?page=1&limit=20 */ async index({ request, response }: HttpContext) { const page = request.input('page', 1) const limit = request.input('limit', 20) const pageNumber = Math.max(1, Number(page)) const limitNumber = Math.min(100, Math.max(1, Number(limit))) try { const parseLogs = await ParseLog.query() .orderBy('started_at', 'desc') .paginate(pageNumber, limitNumber) return response.ok(parseLogs.serialize()) } catch (error) { return response.internalServerError({ error: 'Failed to fetch parse logs', message: error instanceof Error ? error.message : 'Unknown error', }) } } }