X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Fsend%2Fsend-announce.ts;h=fa1d47259a958af993b3bdae32eb3e0228e42cc8;hb=e251f170b00b2014ac4e823113c6ff40e3fb1471;hp=76cb3f80c893f9c75aba1558ae91eca8642b5045;hpb=7acee6f18aac99e359360fc4f2362d5405135a79;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/send/send-announce.ts b/server/lib/activitypub/send/send-announce.ts index 76cb3f80c..fa1d47259 100644 --- a/server/lib/activitypub/send/send-announce.ts +++ b/server/lib/activitypub/send/send-announce.ts @@ -2,45 +2,24 @@ import { Transaction } from 'sequelize' import { ActivityAnnounce, ActivityAudience } from '../../../../shared/models/activitypub' import { ActorModel } from '../../../models/activitypub/actor' import { VideoModel } from '../../../models/video/video' -import { getAnnounceActivityPubUrl } from '../url' -import { - broadcastToFollowers, - getActorsInvolvedInVideo, - getAudience, - getObjectFollowersAudience, - getOriginVideoAudience, - unicastTo -} from './misc' -import { createActivityData } from './send-create' +import { VideoShareModel } from '../../../models/video/video-share' +import { broadcastToFollowers } from './utils' +import { getActorsInvolvedInVideo, getAudience, getObjectFollowersAudience } from '../audience' -async function buildVideoAnnounceToFollowers (byActor: ActorModel, video: VideoModel, t: Transaction) { - const url = getAnnounceActivityPubUrl(video.url, byActor) +async function buildVideoAnnounce (byActor: ActorModel, videoShare: VideoShareModel, video: VideoModel, t: Transaction) { const announcedObject = video.url const accountsToForwardView = await getActorsInvolvedInVideo(video, t) const audience = getObjectFollowersAudience(accountsToForwardView) - return announceActivityData(url, byActor, announcedObject, t, audience) + return announceActivityData(videoShare.url, byActor, announcedObject, t, audience) } -async function sendVideoAnnounceToFollowers (byActor: ActorModel, video: VideoModel, t: Transaction) { - const data = await buildVideoAnnounceToFollowers(byActor, video, t) +async function sendVideoAnnounce (byActor: ActorModel, videoShare: VideoShareModel, video: VideoModel, t: Transaction) { + const data = await buildVideoAnnounce(byActor, videoShare, video, t) return broadcastToFollowers(data, byActor, [ byActor ], t) } -async function sendVideoAnnounceToOrigin (byActor: ActorModel, video: VideoModel, t: Transaction) { - const url = getAnnounceActivityPubUrl(video.url, byActor) - - const videoObject = video.toActivityPubObject() - const announcedActivity = await createActivityData(url, video.VideoChannel.Account.Actor, videoObject, t) - - const actorsInvolvedInVideo = await getActorsInvolvedInVideo(video, t) - const audience = getOriginVideoAudience(video, actorsInvolvedInVideo) - const data = await createActivityData(url, byActor, announcedActivity, t, audience) - - return unicastTo(data, byActor, video.VideoChannel.Account.Actor.sharedInboxUrl) -} - async function announceActivityData ( url: string, byActor: ActorModel, @@ -65,8 +44,7 @@ async function announceActivityData ( // --------------------------------------------------------------------------- export { - sendVideoAnnounceToFollowers, - sendVideoAnnounceToOrigin, + sendVideoAnnounce, announceActivityData, - buildVideoAnnounceToFollowers + buildVideoAnnounce }