validate([ 'username' => 'required', 'password' => 'required', ]); $user = User::where('username', $request->username)->first(); if (! $user || ! Hash::check($request->password, $user->password)) { return response()->json([ 'success' => false, 'message' => 'Username atau password salah.' ], 401); } $user->tokens()->delete(); $token = $user->createToken('auth_token')->plainTextToken; return response()->json([ 'success' => true, 'message' => 'Login berhasil', 'access_token' => $token, 'token_type' => 'Bearer', 'role' => $user->role, 'user' => [ 'id' => $user->id, 'name' => $user->name, 'username' => $user->username, ] ]); } public function logout(Request $request) { $token = $request->user()?->currentAccessToken(); if ($token) { $token->delete(); } return response()->json([ 'success' => true, 'message' => 'Berhasil logout' ]); } }