video-playlists.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { exists } from './misc'
  2. import validator from 'validator'
  3. import { CONSTRAINTS_FIELDS, VIDEO_PLAYLIST_PRIVACIES, VIDEO_PLAYLIST_TYPES } from '../../initializers/constants'
  4. const PLAYLISTS_CONSTRAINT_FIELDS = CONSTRAINTS_FIELDS.VIDEO_PLAYLISTS
  5. function isVideoPlaylistNameValid (value: any) {
  6. return exists(value) && validator.isLength(value, PLAYLISTS_CONSTRAINT_FIELDS.NAME)
  7. }
  8. function isVideoPlaylistDescriptionValid (value: any) {
  9. return value === null || (exists(value) && validator.isLength(value, PLAYLISTS_CONSTRAINT_FIELDS.DESCRIPTION))
  10. }
  11. function isVideoPlaylistPrivacyValid (value: number) {
  12. return validator.isInt(value + '') && VIDEO_PLAYLIST_PRIVACIES[value] !== undefined
  13. }
  14. function isVideoPlaylistTimestampValid (value: any) {
  15. return value === null || (exists(value) && validator.isInt('' + value, { min: 0 }))
  16. }
  17. function isVideoPlaylistTypeValid (value: any) {
  18. return exists(value) && VIDEO_PLAYLIST_TYPES[value] !== undefined
  19. }
  20. // ---------------------------------------------------------------------------
  21. export {
  22. isVideoPlaylistNameValid,
  23. isVideoPlaylistDescriptionValid,
  24. isVideoPlaylistPrivacyValid,
  25. isVideoPlaylistTimestampValid,
  26. isVideoPlaylistTypeValid
  27. }