fedi-feed-router/backend/app/Http/Controllers/Api/V1/LogsController.php

43 lines
1.3 KiB
PHP
Raw Normal View History

2025-08-02 15:20:09 +02:00
<?php
namespace App\Http\Controllers\Api\V1;
use App\Models\Log;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class LogsController extends BaseController
{
/**
* Display a listing of logs
*/
public function index(Request $request): JsonResponse
{
try {
$perPage = min($request->get('per_page', 20), 100);
$level = $request->get('level');
$query = Log::orderBy('created_at', 'desc');
if ($level) {
$query->where('level', $level);
}
$logs = $query->paginate($perPage);
return $this->sendResponse([
'logs' => $logs->items(),
'pagination' => [
'current_page' => $logs->currentPage(),
'last_page' => $logs->lastPage(),
'per_page' => $logs->perPage(),
'total' => $logs->total(),
'from' => $logs->firstItem(),
'to' => $logs->lastItem(),
],
], 'Logs retrieved successfully.');
} catch (\Exception $e) {
return $this->sendError('Failed to retrieve logs: ' . $e->getMessage(), [], 500);
}
}
}