From 07197db4c567f22bbc9c12339062896dc76bac2f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 27 Mar 2018 13:33:56 +0200 Subject: Try to refractor activities sending There is still a need for work on this part though --- server/lib/activitypub/send/send-undo.ts | 49 ++++++++++++-------------------- 1 file changed, 18 insertions(+), 31 deletions(-) (limited to 'server/lib/activitypub/send/send-undo.ts') diff --git a/server/lib/activitypub/send/send-undo.ts b/server/lib/activitypub/send/send-undo.ts index 41a500384..bd49d452e 100644 --- a/server/lib/activitypub/send/send-undo.ts +++ b/server/lib/activitypub/send/send-undo.ts @@ -30,68 +30,55 @@ async function sendUndoFollow (actorFollow: ActorFollowModel, t: Transaction) { return unicastTo(data, me, following.inboxUrl) } -async function sendUndoLikeToOrigin (byActor: ActorModel, video: VideoModel, t: Transaction) { +async function sendUndoLike (byActor: ActorModel, video: VideoModel, t: Transaction) { const likeUrl = getVideoLikeActivityPubUrl(byActor, video) const undoUrl = getUndoActivityPubUrl(likeUrl) const actorsInvolvedInVideo = await getActorsInvolvedInVideo(video, t) - const audience = getOriginVideoAudience(video, actorsInvolvedInVideo) const object = await likeActivityData(likeUrl, byActor, video, t) - const data = await undoActivityData(undoUrl, byActor, object, t, audience) - return unicastTo(data, byActor, video.VideoChannel.Account.Actor.sharedInboxUrl) -} + // Send to origin + if (video.isOwned() === false) { + const audience = getOriginVideoAudience(video, actorsInvolvedInVideo) + const data = await undoActivityData(undoUrl, byActor, object, t, audience) -async function sendUndoLikeToVideoFollowers (byActor: ActorModel, video: VideoModel, t: Transaction) { - const likeUrl = getVideoLikeActivityPubUrl(byActor, video) - const undoUrl = getUndoActivityPubUrl(likeUrl) + return unicastTo(data, byActor, video.VideoChannel.Account.Actor.sharedInboxUrl) + } - const toActorsFollowers = await getActorsInvolvedInVideo(video, t) - const audience = getObjectFollowersAudience(toActorsFollowers) - const object = await likeActivityData(likeUrl, byActor, video, t) + const audience = getObjectFollowersAudience(actorsInvolvedInVideo) const data = await undoActivityData(undoUrl, byActor, object, t, audience) const followersException = [ byActor ] - return broadcastToFollowers(data, byActor, toActorsFollowers, t, followersException) + return broadcastToFollowers(data, byActor, actorsInvolvedInVideo, t, followersException) } -async function sendUndoDislikeToOrigin (byActor: ActorModel, video: VideoModel, t: Transaction) { +async function sendUndoDislike (byActor: ActorModel, video: VideoModel, t: Transaction) { const dislikeUrl = getVideoDislikeActivityPubUrl(byActor, video) const undoUrl = getUndoActivityPubUrl(dislikeUrl) const actorsInvolvedInVideo = await getActorsInvolvedInVideo(video, t) - const audience = getOriginVideoAudience(video, actorsInvolvedInVideo) const dislikeActivity = createDislikeActivityData(byActor, video) const object = await createActivityData(undoUrl, byActor, dislikeActivity, t) - const data = await undoActivityData(undoUrl, byActor, object, t, audience) - - return unicastTo(data, byActor, video.VideoChannel.Account.Actor.sharedInboxUrl) -} - -async function sendUndoDislikeToVideoFollowers (byActor: ActorModel, video: VideoModel, t: Transaction) { - const dislikeUrl = getVideoDislikeActivityPubUrl(byActor, video) - const undoUrl = getUndoActivityPubUrl(dislikeUrl) + if (video.isOwned() === false) { + const audience = getOriginVideoAudience(video, actorsInvolvedInVideo) + const data = await undoActivityData(undoUrl, byActor, object, t, audience) - const dislikeActivity = createDislikeActivityData(byActor, video) - const object = await createActivityData(undoUrl, byActor, dislikeActivity, t) + return unicastTo(data, byActor, video.VideoChannel.Account.Actor.sharedInboxUrl) + } const data = await undoActivityData(undoUrl, byActor, object, t) - const toActorsFollowers = await getActorsInvolvedInVideo(video, t) - const followersException = [ byActor ] - return broadcastToFollowers(data, byActor, toActorsFollowers, t, followersException) + return broadcastToFollowers(data, byActor, actorsInvolvedInVideo, t, followersException) } // --------------------------------------------------------------------------- export { sendUndoFollow, - sendUndoLikeToOrigin, - sendUndoLikeToVideoFollowers, - sendUndoDislikeToOrigin, - sendUndoDislikeToVideoFollowers + sendUndoLike, + sendUndoDislike } // --------------------------------------------------------------------------- -- cgit v1.2.3