1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 02:39:33 +02:00

Prepare Dislike/Flag/View fixes

For now we Create these activities, but we should just send them
directly.

This fix handles correctly direct Dislikes/Flags/Views, we'll implement
the sending correctly these activities in the next peertube version
This commit is contained in:
Chocobozzz 2019-01-15 11:14:12 +01:00
parent 44b9c0ba31
commit 848f499def
No known key found for this signature in database
GPG key ID: 583A612D890159BE
30 changed files with 330 additions and 755 deletions

View file

@ -28,15 +28,20 @@ function isBaseActivityValid (activity: any, type: string) {
return (activity['@context'] === undefined || Array.isArray(activity['@context'])) &&
activity.type === type &&
isActivityPubUrlValid(activity.id) &&
exists(activity.actor) &&
(isActivityPubUrlValid(activity.actor) || isActivityPubUrlValid(activity.actor.id)) &&
isObjectValid(activity.actor) &&
isUrlCollectionValid(activity.to) &&
isUrlCollectionValid(activity.cc)
}
function isUrlCollectionValid (collection: any) {
return collection === undefined ||
(Array.isArray(collection) && collection.every(t => isActivityPubUrlValid(t)))
}
function isObjectValid (object: any) {
return exists(object) &&
(
activity.to === undefined ||
(Array.isArray(activity.to) && activity.to.every(t => isActivityPubUrlValid(t)))
) &&
(
activity.cc === undefined ||
(Array.isArray(activity.cc) && activity.cc.every(t => isActivityPubUrlValid(t)))
isActivityPubUrlValid(object) || isActivityPubUrlValid(object.id)
)
}
@ -57,5 +62,6 @@ export {
isUrlValid,
isActivityPubUrlValid,
isBaseActivityValid,
setValidAttributedTo
setValidAttributedTo,
isObjectValid
}