X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fuser-notifications.ts;h=3ded8d8cf9c01e9039d40edc64efb6a9f9f8b9dd;hb=6702a1b2ccd666285dee9c72b5bace641d2fce8b;hp=8202f307e5ebfee4170137dc052fd8e9338bf472;hpb=cef534ed53e4518fe0acf581bfe880788d42fc36;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/user-notifications.ts b/server/middlewares/validators/user-notifications.ts index 8202f307e..3ded8d8cf 100644 --- a/server/middlewares/validators/user-notifications.ts +++ b/server/middlewares/validators/user-notifications.ts @@ -1,10 +1,25 @@ import * as express from 'express' import 'express-validator' -import { body } from 'express-validator/check' +import { body, query } from 'express-validator/check' import { logger } from '../../helpers/logger' import { areValidationErrors } from './utils' import { isUserNotificationSettingValid } from '../../helpers/custom-validators/user-notifications' -import { isIntArray } from '../../helpers/custom-validators/misc' +import { isNotEmptyIntArray } from '../../helpers/custom-validators/misc' + +const listUserNotificationsValidator = [ + query('unread') + .optional() + .toBoolean() + .isBoolean().withMessage('Should have a valid unread boolean'), + + (req: express.Request, res: express.Response, next: express.NextFunction) => { + logger.debug('Checking listUserNotificationsValidator parameters', { parameters: req.query }) + + if (areValidationErrors(req, res)) return + + return next() + } +] const updateNotificationSettingsValidator = [ body('newVideoFromSubscription') @@ -13,8 +28,22 @@ const updateNotificationSettingsValidator = [ .custom(isUserNotificationSettingValid).withMessage('Should have a valid new comment on my video notification setting'), body('videoAbuseAsModerator') .custom(isUserNotificationSettingValid).withMessage('Should have a valid new video abuse as moderator notification setting'), + body('videoAutoBlacklistAsModerator') + .custom(isUserNotificationSettingValid).withMessage('Should have a valid video auto blacklist notification setting'), body('blacklistOnMyVideo') .custom(isUserNotificationSettingValid).withMessage('Should have a valid new blacklist on my video notification setting'), + body('myVideoImportFinished') + .custom(isUserNotificationSettingValid).withMessage('Should have a valid video import finished video notification setting'), + body('myVideoPublished') + .custom(isUserNotificationSettingValid).withMessage('Should have a valid video published notification setting'), + body('commentMention') + .custom(isUserNotificationSettingValid).withMessage('Should have a valid comment mention notification setting'), + body('newFollow') + .custom(isUserNotificationSettingValid).withMessage('Should have a valid new follow notification setting'), + body('newUserRegistration') + .custom(isUserNotificationSettingValid).withMessage('Should have a valid new user registration notification setting'), + body('newInstanceFollower') + .custom(isUserNotificationSettingValid).withMessage('Should have a valid new instance follower notification setting'), (req: express.Request, res: express.Response, next: express.NextFunction) => { logger.debug('Checking updateNotificationSettingsValidator parameters', { parameters: req.body }) @@ -27,7 +56,8 @@ const updateNotificationSettingsValidator = [ const markAsReadUserNotificationsValidator = [ body('ids') - .custom(isIntArray).withMessage('Should have a valid notification ids to mark as read'), + .optional() + .custom(isNotEmptyIntArray).withMessage('Should have a valid notification ids to mark as read'), (req: express.Request, res: express.Response, next: express.NextFunction) => { logger.debug('Checking markAsReadUserNotificationsValidator parameters', { parameters: req.body }) @@ -41,6 +71,7 @@ const markAsReadUserNotificationsValidator = [ // --------------------------------------------------------------------------- export { + listUserNotificationsValidator, updateNotificationSettingsValidator, markAsReadUserNotificationsValidator }