diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 82ee9e0..f9a7ab6 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -4,12 +4,9 @@ namespace App\Http\Controllers; use App\Http\Requests\Auth\LoginRequest; use App\Http\Traits\ApiResponse; -use App\Models\User; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Session; class AuthController extends Controller { @@ -17,27 +14,6 @@ class AuthController extends Controller public function login(LoginRequest $request): JsonResponse { - $user = User::where('username', $request->username)->first(); - $telephoneId = $user->telephone_id; - - if ($user->is_online) { - return $this->errorResponse(__('messages.user_already_online'), 409); - - } - - if ($telephoneId) { - $previousOfflineUser = User::where('telephone_id', $telephoneId) - ->where('id', '!=', $user->id) - ->where('is_online', false) - ->first(); - - if ($previousOfflineUser) { - DB::table('sessions') - ->where('user_id', $previousOfflineUser->id) - ->delete(); - } - } - if ($this->attemptLogin($request)) { $request->session()->regenerate(); @@ -58,13 +34,9 @@ class AuthController extends Controller Auth::user()->update([ 'last_login' => now(), 'telephone_id' => $request->telephone_id, - 'is_online' => true ]); - DB::table('sessions') - ->where('user_id', Auth::id()) - ->where('id', '!=', Session::getId()) - ->delete(); } + public function logout(Request $request): JsonResponse { Auth::user()->update([ diff --git a/app/Http/Requests/Auth/LoginRequest.php b/app/Http/Requests/Auth/LoginRequest.php index a2cd90f..b1de752 100644 --- a/app/Http/Requests/Auth/LoginRequest.php +++ b/app/Http/Requests/Auth/LoginRequest.php @@ -14,7 +14,7 @@ class LoginRequest extends FormRequest */ public function authorize(): bool { - return true; + return !User::query()->where('username', '=', $this->username)->value('is_online'); } /**