]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/helpers/custom-validators/activitypub/video-channels.ts
Federate video views
[github/Chocobozzz/PeerTube.git] / server / helpers / custom-validators / activitypub / video-channels.ts
CommitLineData
54141398
C
1import { isDateValid, isUUIDValid } from '../misc'
2import { isVideoChannelDescriptionValid, isVideoChannelNameValid } from '../video-channels'
3import { isActivityPubUrlValid, isBaseActivityValid } from './misc'
4
5function isVideoChannelCreateActivityValid (activity: any) {
6 return isBaseActivityValid(activity, 'Create') &&
7 isVideoChannelObjectValid(activity.object)
8}
9
10function isVideoChannelUpdateActivityValid (activity: any) {
11 return isBaseActivityValid(activity, 'Update') &&
12 isVideoChannelObjectValid(activity.object)
13}
14
15function isVideoChannelDeleteActivityValid (activity: any) {
16 return isBaseActivityValid(activity, 'Delete')
17}
18
19function isVideoChannelObjectValid (videoChannel: any) {
20 return videoChannel.type === 'VideoChannel' &&
21 isActivityPubUrlValid(videoChannel.id) &&
22 isVideoChannelNameValid(videoChannel.name) &&
23 isVideoChannelDescriptionValid(videoChannel.content) &&
24 isDateValid(videoChannel.published) &&
25 isDateValid(videoChannel.updated) &&
26 isUUIDValid(videoChannel.uuid)
27}
28
29// ---------------------------------------------------------------------------
30
31export {
32 isVideoChannelCreateActivityValid,
33 isVideoChannelUpdateActivityValid,
34 isVideoChannelDeleteActivityValid,
35 isVideoChannelObjectValid
36}