From d846501818c2d29e66e6fd141789cb04fd55a437 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 15 Nov 2017 17:56:21 +0100 Subject: Handle announces in inbox --- .../custom-validators/activitypub/activity.ts | 8 +++++++- .../custom-validators/activitypub/videos.ts | 24 ++++++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) (limited to 'server/helpers/custom-validators') diff --git a/server/helpers/custom-validators/activitypub/activity.ts b/server/helpers/custom-validators/activitypub/activity.ts index b5ba0f7af..08e5ae0aa 100644 --- a/server/helpers/custom-validators/activitypub/activity.ts +++ b/server/helpers/custom-validators/activitypub/activity.ts @@ -2,9 +2,12 @@ import * as validator from 'validator' import { isAccountAcceptActivityValid, isAccountDeleteActivityValid, isAccountFollowActivityValid } from './account' import { isActivityPubUrlValid } from './misc' import { + isVideoAnnounceValid, + isVideoChannelAnnounceValid, isVideoChannelCreateActivityValid, isVideoChannelDeleteActivityValid, isVideoChannelUpdateActivityValid, + isVideoFlagValid, isVideoTorrentAddActivityValid, isVideoTorrentDeleteActivityValid, isVideoTorrentUpdateActivityValid @@ -32,7 +35,10 @@ function isActivityValid (activity: any) { isVideoChannelDeleteActivityValid(activity) || isAccountDeleteActivityValid(activity) || isAccountFollowActivityValid(activity) || - isAccountAcceptActivityValid(activity) + isAccountAcceptActivityValid(activity) || + isVideoFlagValid(activity) || + isVideoAnnounceValid(activity) || + isVideoChannelAnnounceValid(activity) } // --------------------------------------------------------------------------- diff --git a/server/helpers/custom-validators/activitypub/videos.ts b/server/helpers/custom-validators/activitypub/videos.ts index a46757397..9ddacd601 100644 --- a/server/helpers/custom-validators/activitypub/videos.ts +++ b/server/helpers/custom-validators/activitypub/videos.ts @@ -3,6 +3,7 @@ import { ACTIVITY_PUB } from '../../../initializers' import { exists, isDateValid, isUUIDValid } from '../misc' import { isVideoChannelDescriptionValid, isVideoChannelNameValid } from '../video-channels' import { + isVideoAbuseReasonValid, isVideoDurationValid, isVideoNameValid, isVideoNSFWValid, @@ -11,7 +12,7 @@ import { isVideoUrlValid, isVideoViewsValid } from '../videos' -import { isBaseActivityValid } from './misc' +import { isActivityPubUrlValid, isBaseActivityValid } from './misc' function isVideoTorrentAddActivityValid (activity: any) { return isBaseActivityValid(activity, 'Add') && @@ -54,6 +55,22 @@ function isVideoTorrentObjectValid (video: any) { setValidRemoteVideoUrls(video.url) } +function isVideoFlagValid (activity: any) { + return isBaseActivityValid(activity, 'Flag') && + isVideoAbuseReasonValid(activity.content) && + isActivityPubUrlValid(activity.object) +} + +function isVideoAnnounceValid (activity: any) { + return isBaseActivityValid(activity, 'Announce') && + isVideoTorrentObjectValid(activity.object) +} + +function isVideoChannelAnnounceValid (activity: any) { + return isBaseActivityValid(activity, 'Announce') && + isVideoChannelObjectValid(activity.object) +} + function isVideoChannelCreateActivityValid (activity: any) { return isBaseActivityValid(activity, 'Create') && isVideoChannelObjectValid(activity.object) @@ -83,7 +100,10 @@ export { isVideoTorrentUpdateActivityValid, isVideoChannelUpdateActivityValid, isVideoChannelDeleteActivityValid, - isVideoTorrentDeleteActivityValid + isVideoTorrentDeleteActivityValid, + isVideoFlagValid, + isVideoAnnounceValid, + isVideoChannelAnnounceValid } // --------------------------------------------------------------------------- -- cgit v1.2.3