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