WIP - fixed #15439 - check db on healthcheck

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2024-09-02 20:27:59 +01:00
parent e1fcfc8dc1
commit e2adaa7da6
3 changed files with 31 additions and 10 deletions

View file

@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\DB;
/**
* This controller provide the health route for
@ -20,8 +21,19 @@ class HealthController extends BaseController
*/
public function get()
{
return response()->json([
'status' => 'ok',
]);
try {
DB::select('select 2 + 2');
return response()->json([
'status' => 'ok',
], 200);
} catch (\PDOException $e) {
return response()->json([
'status' => 'database error: '.$e->getMessage(),
], 500);
}
}
}

View file

@ -19,7 +19,6 @@ class Kernel extends HttpKernel
\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\CheckForSetup::class,
\App\Http\Middleware\CheckForDebug::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrimStrings::class,
@ -39,6 +38,7 @@ class Kernel extends HttpKernel
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\App\Http\Middleware\CheckForSetup::class,
\App\Http\Middleware\CheckLocale::class,
\App\Http\Middleware\CheckUserIsActivated::class,
\App\Http\Middleware\CheckForTwoFactor::class,
@ -46,13 +46,19 @@ class Kernel extends HttpKernel
\App\Http\Middleware\AssetCountForSidebar::class,
\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'auth:api',
\App\Http\Middleware\CheckForSetup::class,
\App\Http\Middleware\CheckLocale::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'health' => [
],
];
/**

View file

@ -536,13 +536,16 @@ Route::group(['middleware' => 'web'], function () {
)->name('logout.post');
});
// Use the
Route::group(['middleware' => 'health'], function () {
Route::get(
'/health',
[HealthController::class, 'get']
)->name('health');
});
//Auth::routes();
Route::get(
'/health',
[HealthController::class, 'get']
)->name('health');
Route::middleware(['auth'])->get(
'/',
[DashboardController::class, 'index']