Add notifications in the client
[oweals/peertube.git] / server / helpers / custom-validators / user-notifications.ts
1 import { exists } from './misc'
2 import * as validator from 'validator'
3 import { UserNotificationType } from '../../../shared/models/users'
4 import { UserNotificationSettingValue } from '../../../shared/models/users/user-notification-setting.model'
5
6 function isUserNotificationTypeValid (value: any) {
7   return exists(value) && validator.isInt('' + value) && UserNotificationType[value] !== undefined
8 }
9
10 function isUserNotificationSettingValid (value: any) {
11   return exists(value) &&
12     validator.isInt('' + value) && (
13       value === UserNotificationSettingValue.NONE ||
14       value === UserNotificationSettingValue.WEB ||
15       value === UserNotificationSettingValue.EMAIL ||
16       value === (UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL)
17     )
18 }
19
20 export {
21   isUserNotificationSettingValid,
22   isUserNotificationTypeValid
23 }