query('per_page', 15); $perPage = $perPage > 0 && $perPage <= 100 ? $perPage : 15; $users = User::orderBy('id')->paginate($perPage); return UserResource::collection($users)->response(); } public function store(StoreUserRequest $request): JsonResponse { $payload = $request->validated(); $payload['is_active'] = true; $user = User::create($payload); return (new UserResource($user))->response()->setStatusCode(201); } public function update(UpdateUserRequest $request, User $user): JsonResponse { $user->update($request->validated()); return (new UserResource($user))->response(); } public function deactivate(User $user): JsonResponse { $user->update(['is_active' => false]); return (new UserResource($user))->response(); } public function activate(User $user): JsonResponse { $user->update(['is_active' => true]); return (new UserResource($user))->response(); } }