%PDF- %PDF-
Direktori : /var/www/html/klinisol/klinisol-api/app/Http/Middleware/ |
Current File : //var/www/html/klinisol/klinisol-api/app/Http/Middleware/SetDatabaseConnection.php |
<?php namespace App\Http\Middleware; use App\Models\Department; use App\Tenancy; use Closure; use Illuminate\Http\Request; class SetDatabaseConnection { /** * Handle an incoming request. * * @param Request $request * @param Closure $next * @return mixed */ public function handle(Request $request, Closure $next) { if ($conn = $request->header('Department')) { /** @var Department $result */ $result = Department::on('klinisol_main') ->where('is_active', '=', 1) ->where('code', $conn) ->first(); if ($result) { $current_host = config('database.connections.mysql.host'); $current_db = config('database.connections.mysql.database'); if ($current_host !== $result->host || $current_db !== $result->database) { Tenancy::setDBConnection($result); } return $next($request); } return response()->json(['error' => 'Department value is not valid!'], 401); } return response()->json(['error' => 'No department is selected!'], 401); } }