aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/helpers/custom-validators/activitypub/playlist.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/helpers/custom-validators/activitypub/playlist.ts')
-rw-r--r--server/helpers/custom-validators/activitypub/playlist.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/server/helpers/custom-validators/activitypub/playlist.ts b/server/helpers/custom-validators/activitypub/playlist.ts
new file mode 100644
index 000000000..ecdc7975e
--- /dev/null
+++ b/server/helpers/custom-validators/activitypub/playlist.ts
@@ -0,0 +1,25 @@
1import { exists } from '../misc'
2import { PlaylistObject } from '../../../../shared/models/activitypub/objects/playlist-object'
3import * as validator from 'validator'
4import { PlaylistElementObject } from '../../../../shared/models/activitypub/objects/playlist-element-object'
5import { isActivityPubUrlValid } from './misc'
6
7function isPlaylistObjectValid (object: PlaylistObject) {
8 return exists(object) &&
9 object.type === 'Playlist' &&
10 validator.isInt(object.totalItems + '')
11}
12
13function isPlaylistElementObjectValid (object: PlaylistElementObject) {
14 return exists(object) &&
15 object.type === 'PlaylistElement' &&
16 validator.isInt(object.position + '') &&
17 isActivityPubUrlValid(object.url)
18}
19
20// ---------------------------------------------------------------------------
21
22export {
23 isPlaylistObjectValid,
24 isPlaylistElementObjectValid
25}