diff --git a/app/Http/Controllers/Api/ApplicationsController.php b/app/Http/Controllers/Api/ApplicationsController.php index 784a43100..b832a3128 100644 --- a/app/Http/Controllers/Api/ApplicationsController.php +++ b/app/Http/Controllers/Api/ApplicationsController.php @@ -1408,6 +1408,17 @@ class ApplicationsController extends Controller format: 'uuid', ) ), + new OA\Parameter( + name: 'lines', + in: 'query', + description: 'Number of lines to show from the end of the logs.', + required: false, + schema: new OA\Schema( + type: 'integer', + format: 'int32', + default: 100, + ) + ), ], responses: [ new OA\Response( @@ -1468,7 +1479,8 @@ class ApplicationsController extends Controller ], 400); } - $logs = getContainerLogs($application->destination->server, $container['ID']); + $lines = $request->query->get('lines', 100) ?: 100; + $logs = getContainerLogs($application->destination->server, $container['ID'], $lines); return response()->json([ 'logs' => $logs, diff --git a/routes/api.php b/routes/api.php index 11c61aa87..eaf155b3c 100644 --- a/routes/api.php +++ b/routes/api.php @@ -88,7 +88,7 @@ Route::group([ Route::patch('/applications/{uuid}/envs', [ApplicationsController::class, 'update_env_by_uuid'])->middleware(['api.ability:write']); Route::delete('/applications/{uuid}/envs/{env_uuid}', [ApplicationsController::class, 'delete_env_by_uuid'])->middleware(['api.ability:write']); // Route::post('/applications/{uuid}/execute', [ApplicationsController::class, 'execute_command_by_uuid'])->middleware(['ability:write']); - Route::get('/applications/{uuid}/logs', [ApplicationsController::class, 'logs_by_uuid'])->middleware(['api.ability:write']); + Route::get('/applications/{uuid}/logs', [ApplicationsController::class, 'logs_by_uuid'])->middleware(['api.ability:read']); Route::match(['get', 'post'], '/applications/{uuid}/start', [ApplicationsController::class, 'action_deploy'])->middleware(['api.ability:write']); Route::match(['get', 'post'], '/applications/{uuid}/restart', [ApplicationsController::class, 'action_restart'])->middleware(['api.ability:write']);