X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Fshare.ts;h=53ecd3dab7a857b40c95dd28c5b663b00fd1ac84;hb=e3a682a877a10833cb54ac3595e55110bda95647;hp=386ae362a402253a138ed17b7f8667d0139efe77;hpb=e12a009254de33bcdbd8334992980fa029c3e10d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/share.ts b/server/lib/activitypub/share.ts index 386ae362a..53ecd3dab 100644 --- a/server/lib/activitypub/share.ts +++ b/server/lib/activitypub/share.ts @@ -1,31 +1,39 @@ import { Transaction } from 'sequelize' import { VideoPrivacy } from '../../../shared/models/videos' -import { getServerActor } from '../../helpers' +import { getServerActor } from '../../helpers/utils' import { VideoModel } from '../../models/video/video' import { VideoShareModel } from '../../models/video/video-share' import { sendVideoAnnounceToFollowers } from './send' +import { getAnnounceActivityPubUrl } from './url' async function shareVideoByServerAndChannel (video: VideoModel, t: Transaction) { - if (video.privacy === VideoPrivacy.PRIVATE) return + if (video.privacy === VideoPrivacy.PRIVATE) return undefined const serverActor = await getServerActor() - const serverShare = VideoShareModel.create({ + const serverShareUrl = getAnnounceActivityPubUrl(video.url, serverActor) + const serverSharePromise = VideoShareModel.create({ actorId: serverActor.id, - videoId: video.id + videoId: video.id, + url: serverShareUrl }, { transaction: t }) - const videoChannelShare = VideoShareModel.create({ + const videoChannelShareUrl = getAnnounceActivityPubUrl(video.url, video.VideoChannel.Actor) + const videoChannelSharePromise = VideoShareModel.create({ actorId: video.VideoChannel.actorId, - videoId: video.id + videoId: video.id, + url: videoChannelShareUrl }, { transaction: t }) - await Promise.all([ - serverShare, - videoChannelShare + const [ serverShare, videoChannelShare ] = await Promise.all([ + serverSharePromise, + videoChannelSharePromise ]) - return sendVideoAnnounceToFollowers(serverActor, video, t) + return Promise.all([ + sendVideoAnnounceToFollowers(serverActor, videoChannelShare, video, t), + sendVideoAnnounceToFollowers(serverActor, serverShare, video, t) + ]) } export {