+import { body, param, query } from 'express-validator'
+import { omit } from 'lodash'
+import { Hooks } from '@server/lib/plugins/hooks'
+import { MUserDefault } from '@server/types/models'
+import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
+import { UserRole } from '../../../shared/models/users'
+import { UserRegister } from '../../../shared/models/users/user-register.model'
+import { isActorPreferredUsernameValid } from '../../helpers/custom-validators/activitypub/actor'
+import { toBooleanOrNull, toIntOrNull } from '../../helpers/custom-validators/misc'
+import { isThemeNameValid } from '../../helpers/custom-validators/plugins'
+import {
+ isNoInstanceConfigWarningModal,
+ isNoWelcomeModal,
+ isUserAdminFlagsValid,
+ isUserAutoPlayNextVideoValid,
+ isUserAutoPlayVideoValid,
+ isUserBlockedReasonValid,
+ isUserDescriptionValid,
+ isUserDisplayNameValid,
+ isUserNSFWPolicyValid,
+ isUserPasswordValid,
+ isUserPasswordValidOrEmpty,
+ isUserRoleValid,
+ isUserUsernameValid,
+ isUserVideoLanguages,
+ isUserVideoQuotaDailyValid,
+ isUserVideoQuotaValid,
+ isUserVideosHistoryEnabledValid
+} from '../../helpers/custom-validators/users'
+import { isVideoChannelNameValid } from '../../helpers/custom-validators/video-channels'
+import { logger } from '../../helpers/logger'
+import { isThemeRegistered } from '../../lib/plugins/theme-utils'
+import { Redis } from '../../lib/redis'
+import { isSignupAllowed, isSignupAllowedForCurrentIP } from '../../lib/signup'
+import { ActorModel } from '../../models/actor/actor'
+import { UserModel } from '../../models/user/user'
+import { areValidationErrors, doesVideoExist, isValidVideoIdParam } from './shared'
+
+const usersListValidator = [
+ query('blocked')
+ .optional()
+ .customSanitizer(toBooleanOrNull)
+ .isBoolean().withMessage('Should be a valid boolean banned state'),
+
+ (req: express.Request, res: express.Response, next: express.NextFunction) => {
+ logger.debug('Checking usersList parameters', { parameters: req.query })
+
+ if (areValidationErrors(req, res)) return