diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-11-24 13:41:10 +0100 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-11-27 19:40:53 +0100 |
commit | 63c93323ecdeaa4b6183d75dd3f13469e1ef3ebd (patch) | |
tree | 3ee4b351025d4b19f6e880754df44fa7605b683d /server/lib/activitypub/send/send-like.ts | |
parent | d4f1e94c89336255537b0b82913591f00e716201 (diff) | |
download | PeerTube-63c93323ecdeaa4b6183d75dd3f13469e1ef3ebd.tar.gz PeerTube-63c93323ecdeaa4b6183d75dd3f13469e1ef3ebd.tar.zst PeerTube-63c93323ecdeaa4b6183d75dd3f13469e1ef3ebd.zip |
Correctly forward like/dislikes and undo
Diffstat (limited to 'server/lib/activitypub/send/send-like.ts')
-rw-r--r-- | server/lib/activitypub/send/send-like.ts | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/server/lib/activitypub/send/send-like.ts b/server/lib/activitypub/send/send-like.ts index 70a7d886f..8ca775bf3 100644 --- a/server/lib/activitypub/send/send-like.ts +++ b/server/lib/activitypub/send/send-like.ts | |||
@@ -1,11 +1,10 @@ | |||
1 | import { Transaction } from 'sequelize' | 1 | import { Transaction } from 'sequelize' |
2 | import { ActivityLike } from '../../../../shared/models/activitypub/activity' | 2 | import { ActivityLike } from '../../../../shared/models/activitypub/activity' |
3 | import { getServerAccount } from '../../../helpers/utils' | ||
4 | import { AccountInstance, VideoInstance } from '../../../models' | 3 | import { AccountInstance, VideoInstance } from '../../../models' |
5 | import { getVideoLikeActivityPubUrl } from '../url' | 4 | import { getVideoLikeActivityPubUrl } from '../url' |
6 | import { | 5 | import { |
7 | broadcastToFollowers, | 6 | broadcastToFollowers, |
8 | getAccountsToForwardVideoAction, | 7 | getAccountsInvolvedInVideo, |
9 | getAudience, | 8 | getAudience, |
10 | getOriginVideoAudience, | 9 | getOriginVideoAudience, |
11 | getVideoFollowersAudience, | 10 | getVideoFollowersAudience, |
@@ -15,7 +14,8 @@ import { | |||
15 | async function sendLikeToOrigin (byAccount: AccountInstance, video: VideoInstance, t: Transaction) { | 14 | async function sendLikeToOrigin (byAccount: AccountInstance, video: VideoInstance, t: Transaction) { |
16 | const url = getVideoLikeActivityPubUrl(byAccount, video) | 15 | const url = getVideoLikeActivityPubUrl(byAccount, video) |
17 | 16 | ||
18 | const audience = getOriginVideoAudience(video) | 17 | const accountsInvolvedInVideo = await getAccountsInvolvedInVideo(video) |
18 | const audience = getOriginVideoAudience(video, accountsInvolvedInVideo) | ||
19 | const data = await likeActivityData(url, byAccount, video, audience) | 19 | const data = await likeActivityData(url, byAccount, video, audience) |
20 | 20 | ||
21 | return unicastTo(data, byAccount, video.VideoChannel.Account.sharedInboxUrl, t) | 21 | return unicastTo(data, byAccount, video.VideoChannel.Account.sharedInboxUrl, t) |
@@ -24,14 +24,14 @@ async function sendLikeToOrigin (byAccount: AccountInstance, video: VideoInstanc | |||
24 | async function sendLikeToVideoFollowers (byAccount: AccountInstance, video: VideoInstance, t: Transaction) { | 24 | async function sendLikeToVideoFollowers (byAccount: AccountInstance, video: VideoInstance, t: Transaction) { |
25 | const url = getVideoLikeActivityPubUrl(byAccount, video) | 25 | const url = getVideoLikeActivityPubUrl(byAccount, video) |
26 | 26 | ||
27 | const audience = getVideoFollowersAudience(video) | 27 | const accountsInvolvedInVideo = await getAccountsInvolvedInVideo(video) |
28 | const audience = getVideoFollowersAudience(accountsInvolvedInVideo) | ||
28 | const data = await likeActivityData(url, byAccount, video, audience) | 29 | const data = await likeActivityData(url, byAccount, video, audience) |
29 | 30 | ||
30 | const accountsToForwardView = await getAccountsToForwardVideoAction(byAccount, video) | 31 | const toAccountsFollowers = await getAccountsInvolvedInVideo(video) |
31 | const serverAccount = await getServerAccount() | ||
32 | 32 | ||
33 | const followersException = [ byAccount ] | 33 | const followersException = [ byAccount ] |
34 | return broadcastToFollowers(data, serverAccount, accountsToForwardView, t, followersException) | 34 | return broadcastToFollowers(data, byAccount, toAccountsFollowers, t, followersException) |
35 | } | 35 | } |
36 | 36 | ||
37 | async function likeActivityData (url: string, byAccount: AccountInstance, video: VideoInstance, audience?: { to: string[], cc: string[] }) { | 37 | async function likeActivityData (url: string, byAccount: AccountInstance, video: VideoInstance, audience?: { to: string[], cc: string[] }) { |