import { isThemeRegistered } from '../../lib/plugins/theme-utils'
import { doesVideoExist } from '../../helpers/middlewares'
import { UserRole } from '../../../shared/models/users'
-import { MUserDefault } from '@server/typings/models'
+import { MUserDefault } from '@server/types/models'
import { Hooks } from '@server/lib/plugins/hooks'
+const usersListValidator = [
+ query('blocked')
+ .optional()
+ .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
+
+ return next()
+ }
+]
+
const usersAddValidator = [
body('username').custom(isUserUsernameValid).withMessage('Should have a valid username (lowercase alphanumeric characters)'),
body('password').custom(isUserPasswordValidOrEmpty).withMessage('Should have a valid password'),
async (req: express.Request, res: express.Response, next: express.NextFunction) => {
logger.debug('Checking usersUpdateMe parameters', { parameters: omit(req.body, 'password') })
+ const user = res.locals.oauth.token.User
+
if (req.body.password || req.body.email) {
+ if (user.pluginAuth !== null) {
+ return res.status(400)
+ .json({ error: 'You cannot update your email or password that is associated with an external auth system.' })
+ }
+
if (!req.body.currentPassword) {
return res.status(400)
.json({ error: 'currentPassword parameter is missing.' })
- .end()
}
- const user = res.locals.oauth.token.User
if (await user.isPasswordMatch(req.body.currentPassword) !== true) {
return res.status(401)
.json({ error: 'currentPassword is invalid.' })
// ---------------------------------------------------------------------------
export {
+ usersListValidator,
usersAddValidator,
deleteMeValidator,
usersRegisterValidator,