-async function sendCreateDislike (byActor: ActorModel, video: VideoModel, t: Transaction) {
- const url = getVideoDislikeActivityPubUrl(byActor, video)
- const dislikeActivityData = createDislikeActivityData(byActor, video)
-
- const actorsInvolvedInVideo = await getActorsInvolvedInVideo(video, t)
-
- // Send to origin
- if (video.isOwned() === false) {
- const audience = getVideoAudience(video, actorsInvolvedInVideo)
- const data = await createActivityData(url, byActor, dislikeActivityData, t, audience)
-
- return unicastTo(data, byActor, video.VideoChannel.Account.Actor.sharedInboxUrl)
- }
-
- // Send to followers
- const audience = getObjectFollowersAudience(actorsInvolvedInVideo)
- const data = await createActivityData(url, byActor, dislikeActivityData, t, audience)
-
- const actorsException = [ byActor ]
- return broadcastToFollowers(data, byActor, actorsInvolvedInVideo, t, actorsException)
+function buildCreateActivity (url: string, byActor: MActorLight, object: any, audience?: ActivityAudience): ActivityCreate {
+ if (!audience) audience = getAudience(byActor)
+
+ return audiencify(
+ {
+ type: 'Create' as 'Create',
+ id: url + '/activity',
+ actor: byActor.url,
+ object: audiencify(object, audience)
+ },
+ audience
+ )