diff options
author | Chocobozzz <me@florianbigard.com> | 2018-05-31 10:23:56 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-05-31 10:23:56 +0200 |
commit | 9588d4f49b7183631ddb97fa9c3cd79f9bfe2945 (patch) | |
tree | cbd0353ddc0129afa2c8827f27c0665c5c127225 /server/lib/activitypub/send/utils.ts | |
parent | 3f9b33b02bed9e02af5520394e09805c46716101 (diff) | |
download | PeerTube-9588d4f49b7183631ddb97fa9c3cd79f9bfe2945.tar.gz PeerTube-9588d4f49b7183631ddb97fa9c3cd79f9bfe2945.tar.zst PeerTube-9588d4f49b7183631ddb97fa9c3cd79f9bfe2945.zip |
Correctly forward video related activities
Diffstat (limited to 'server/lib/activitypub/send/utils.ts')
-rw-r--r-- | server/lib/activitypub/send/utils.ts | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/server/lib/activitypub/send/utils.ts b/server/lib/activitypub/send/utils.ts index 80d4463ff..241db6c8c 100644 --- a/server/lib/activitypub/send/utils.ts +++ b/server/lib/activitypub/send/utils.ts | |||
@@ -4,6 +4,21 @@ import { logger } from '../../../helpers/logger' | |||
4 | import { ActorModel } from '../../../models/activitypub/actor' | 4 | import { ActorModel } from '../../../models/activitypub/actor' |
5 | import { ActorFollowModel } from '../../../models/activitypub/actor-follow' | 5 | import { ActorFollowModel } from '../../../models/activitypub/actor-follow' |
6 | import { JobQueue } from '../../job-queue' | 6 | import { JobQueue } from '../../job-queue' |
7 | import { VideoModel } from '../../../models/video/video' | ||
8 | import { getActorsInvolvedInVideo } from '../audience' | ||
9 | |||
10 | async function forwardVideoRelatedActivity ( | ||
11 | activity: Activity, | ||
12 | t: Transaction, | ||
13 | followersException: ActorModel[] = [], | ||
14 | video: VideoModel | ||
15 | ) { | ||
16 | // Mastodon does not add our announces in audience, so we forward to them manually | ||
17 | const additionalActors = await getActorsInvolvedInVideo(video, t) | ||
18 | const additionalFollowerUrls = additionalActors.map(a => a.followersUrl) | ||
19 | |||
20 | return forwardActivity(activity, t, followersException, additionalFollowerUrls) | ||
21 | } | ||
7 | 22 | ||
8 | async function forwardActivity ( | 23 | async function forwardActivity ( |
9 | activity: Activity, | 24 | activity: Activity, |
@@ -91,7 +106,8 @@ export { | |||
91 | broadcastToFollowers, | 106 | broadcastToFollowers, |
92 | unicastTo, | 107 | unicastTo, |
93 | forwardActivity, | 108 | forwardActivity, |
94 | broadcastToActors | 109 | broadcastToActors, |
110 | forwardVideoRelatedActivity | ||
95 | } | 111 | } |
96 | 112 | ||
97 | // --------------------------------------------------------------------------- | 113 | // --------------------------------------------------------------------------- |