only('email', 'password'); if (!Auth::attempt($credentials)) { return $this->unauthorized('Invalid credentials'); } $user = Auth::user(); if (!$user->isActive()) { Auth::logout(); return $this->forbidden('Your account is inactive'); } $token = $user->createToken('auth-token')->plainTextToken; return $this->success([ 'user' => new UserResource($user), 'token' => $token, ], 'Login successful'); } public function register(RegisterRequest $request): JsonResponse { $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), 'type' => 'member', 'role' => 'member', 'status' => 'active', ]); $token = $user->createToken('auth-token')->plainTextToken; return $this->created([ 'user' => new UserResource($user), 'token' => $token, ], 'Registration successful'); } public function user(Request $request): JsonResponse { return $this->success( new UserResource($request->user()) ); } public function logout(Request $request): JsonResponse { $request->user()->currentAccessToken()->delete(); return $this->success(null, 'Logged out successfully'); } }