1 import * as validator from 'validator'
2 import { isAccountAcceptActivityValid, isAccountDeleteActivityValid, isAccountFollowActivityValid } from './account'
3 import { isActivityPubUrlValid } from './misc'
6 isVideoChannelAnnounceValid,
7 isVideoChannelCreateActivityValid,
8 isVideoChannelDeleteActivityValid,
9 isVideoChannelUpdateActivityValid,
11 isVideoTorrentAddActivityValid,
12 isVideoTorrentDeleteActivityValid,
13 isVideoTorrentUpdateActivityValid
16 function isRootActivityValid (activity: any) {
17 return Array.isArray(activity['@context']) &&
19 (activity.type === 'Collection' || activity.type === 'OrderedCollection') &&
20 validator.isInt(activity.totalItems, { min: 0 }) &&
21 Array.isArray(activity.items)
24 isActivityPubUrlValid(activity.id) &&
25 isActivityPubUrlValid(activity.actor)
29 function isActivityValid (activity: any) {
30 return isVideoTorrentAddActivityValid(activity) ||
31 isVideoChannelCreateActivityValid(activity) ||
32 isVideoTorrentUpdateActivityValid(activity) ||
33 isVideoChannelUpdateActivityValid(activity) ||
34 isVideoTorrentDeleteActivityValid(activity) ||
35 isVideoChannelDeleteActivityValid(activity) ||
36 isAccountDeleteActivityValid(activity) ||
37 isAccountFollowActivityValid(activity) ||
38 isAccountAcceptActivityValid(activity) ||
39 isVideoFlagValid(activity) ||
40 isVideoAnnounceValid(activity) ||
41 isVideoChannelAnnounceValid(activity)
44 // ---------------------------------------------------------------------------