validate([ 'perPage' => 'nullable|integer|min:1', ...DatabaseHelper::getOrderBysValidations(), 'search' => DatabaseHelper::getSearchValidation() ]); $data = User::multiSearch($request->search, ['email', 'username']) ->multiOrderBy($request->orderBys, 'created_at desc') ->paginate($request->perPage ?? 10 ); return JSONResponse::Success(['data' => $data]); } public function save(Request $request) { return User::upsertFromRequest($request); } public function update(Request $request) { return User::upsertFromRequest($request); } public function changePassword(Request $request) { return User::changePasswordFromRequest($request); } public function delete(Request $request) { return User::deleteFromRequest($request); } public function changeStatus(Request $request) { return User::changeStatusFromRequest($request); } }