mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 19:42:24 +02:00
Refractor activity pub lib/helpers
This commit is contained in:
parent
eb8b27c93e
commit
5414139835
47 changed files with 844 additions and 498 deletions
|
@ -1,7 +1,6 @@
|
|||
import * as validator from 'validator'
|
||||
import { ACTIVITY_PUB } from '../../../initializers'
|
||||
import { exists, isDateValid, isUUIDValid } from '../misc'
|
||||
import { isVideoChannelDescriptionValid, isVideoChannelNameValid } from '../video-channels'
|
||||
import {
|
||||
isVideoAbuseReasonValid,
|
||||
isVideoDurationValid,
|
||||
|
@ -28,6 +27,13 @@ function isVideoTorrentDeleteActivityValid (activity: any) {
|
|||
return isBaseActivityValid(activity, 'Delete')
|
||||
}
|
||||
|
||||
function isVideoFlagValid (activity: any) {
|
||||
return isBaseActivityValid(activity, 'Create') &&
|
||||
activity.object.type === 'Flag' &&
|
||||
isVideoAbuseReasonValid(activity.object.content) &&
|
||||
isActivityPubUrlValid(activity.object.object)
|
||||
}
|
||||
|
||||
function isActivityPubVideoDurationValid (value: string) {
|
||||
// https://www.w3.org/TR/activitystreams-vocabulary/#dfn-duration
|
||||
return exists(value) &&
|
||||
|
@ -57,57 +63,13 @@ function isVideoTorrentObjectValid (video: any) {
|
|||
video.url.length !== 0
|
||||
}
|
||||
|
||||
function isVideoFlagValid (activity: any) {
|
||||
return isBaseActivityValid(activity, 'Create') &&
|
||||
activity.object.type === 'Flag' &&
|
||||
isVideoAbuseReasonValid(activity.object.content) &&
|
||||
isActivityPubUrlValid(activity.object.object)
|
||||
}
|
||||
|
||||
function isAnnounceValid (activity: any) {
|
||||
return isBaseActivityValid(activity, 'Announce') &&
|
||||
(
|
||||
isVideoChannelCreateActivityValid(activity.object) ||
|
||||
isVideoTorrentAddActivityValid(activity.object)
|
||||
)
|
||||
}
|
||||
|
||||
function isVideoChannelCreateActivityValid (activity: any) {
|
||||
return isBaseActivityValid(activity, 'Create') &&
|
||||
isVideoChannelObjectValid(activity.object)
|
||||
}
|
||||
|
||||
function isVideoChannelUpdateActivityValid (activity: any) {
|
||||
return isBaseActivityValid(activity, 'Update') &&
|
||||
isVideoChannelObjectValid(activity.object)
|
||||
}
|
||||
|
||||
function isVideoChannelDeleteActivityValid (activity: any) {
|
||||
return isBaseActivityValid(activity, 'Delete')
|
||||
}
|
||||
|
||||
function isVideoChannelObjectValid (videoChannel: any) {
|
||||
return videoChannel.type === 'VideoChannel' &&
|
||||
isActivityPubUrlValid(videoChannel.id) &&
|
||||
isVideoChannelNameValid(videoChannel.name) &&
|
||||
isVideoChannelDescriptionValid(videoChannel.content) &&
|
||||
isDateValid(videoChannel.published) &&
|
||||
isDateValid(videoChannel.updated) &&
|
||||
isUUIDValid(videoChannel.uuid)
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export {
|
||||
isVideoTorrentAddActivityValid,
|
||||
isVideoChannelCreateActivityValid,
|
||||
isVideoTorrentUpdateActivityValid,
|
||||
isVideoChannelUpdateActivityValid,
|
||||
isVideoChannelDeleteActivityValid,
|
||||
isVideoTorrentDeleteActivityValid,
|
||||
isVideoFlagValid,
|
||||
isAnnounceValid,
|
||||
isVideoChannelObjectValid
|
||||
isVideoFlagValid
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue