diff options
author | Chocobozzz <me@florianbigard.com> | 2020-12-17 09:23:57 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2020-12-17 09:23:57 +0100 |
commit | 9cfeb3cf989fffccdfe3e575903dc00baab255b2 (patch) | |
tree | 8a40ade507ebb1ba874a2e934420c523d6853638 /server/lib/activitypub | |
parent | 9e454eba570ca459a2dc2bb99ed6a700622e4f32 (diff) | |
download | PeerTube-9cfeb3cf989fffccdfe3e575903dc00baab255b2.tar.gz PeerTube-9cfeb3cf989fffccdfe3e575903dc00baab255b2.tar.zst PeerTube-9cfeb3cf989fffccdfe3e575903dc00baab255b2.zip |
Fix redundancy federation in some cases
Diffstat (limited to 'server/lib/activitypub')
-rw-r--r-- | server/lib/activitypub/send/send-undo.ts | 9 | ||||
-rw-r--r-- | server/lib/activitypub/send/send-update.ts | 8 |
2 files changed, 14 insertions, 3 deletions
diff --git a/server/lib/activitypub/send/send-undo.ts b/server/lib/activitypub/send/send-undo.ts index 352c158fd..d2b738bef 100644 --- a/server/lib/activitypub/send/send-undo.ts +++ b/server/lib/activitypub/send/send-undo.ts | |||
@@ -79,8 +79,13 @@ async function sendUndoDislike (byActor: MActor, video: MVideoAccountLight, t: T | |||
79 | async function sendUndoCacheFile (byActor: MActor, redundancyModel: MVideoRedundancyVideo, t: Transaction) { | 79 | async function sendUndoCacheFile (byActor: MActor, redundancyModel: MVideoRedundancyVideo, t: Transaction) { |
80 | logger.info('Creating job to undo cache file %s.', redundancyModel.url) | 80 | logger.info('Creating job to undo cache file %s.', redundancyModel.url) |
81 | 81 | ||
82 | const videoId = redundancyModel.getVideo().id | 82 | const associatedVideo = redundancyModel.getVideo() |
83 | const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(videoId) | 83 | if (!associatedVideo) { |
84 | logger.warn('Cannot send undo activity for redundancy %s: no video files associated.', redundancyModel.url) | ||
85 | return | ||
86 | } | ||
87 | |||
88 | const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(associatedVideo.id) | ||
84 | const createActivity = buildCreateActivity(redundancyModel.url, byActor, redundancyModel.toActivityPubObject()) | 89 | const createActivity = buildCreateActivity(redundancyModel.url, byActor, redundancyModel.toActivityPubObject()) |
85 | 90 | ||
86 | return sendUndoVideoRelatedActivity({ byActor, video, url: redundancyModel.url, activity: createActivity, transaction: t }) | 91 | return sendUndoVideoRelatedActivity({ byActor, video, url: redundancyModel.url, activity: createActivity, transaction: t }) |
diff --git a/server/lib/activitypub/send/send-update.ts b/server/lib/activitypub/send/send-update.ts index 305edf429..bcf6e1569 100644 --- a/server/lib/activitypub/send/send-update.ts +++ b/server/lib/activitypub/send/send-update.ts | |||
@@ -75,7 +75,13 @@ async function sendUpdateActor (accountOrChannel: MChannelDefault | MAccountDefa | |||
75 | async function sendUpdateCacheFile (byActor: MActorLight, redundancyModel: MVideoRedundancyVideo) { | 75 | async function sendUpdateCacheFile (byActor: MActorLight, redundancyModel: MVideoRedundancyVideo) { |
76 | logger.info('Creating job to update cache file %s.', redundancyModel.url) | 76 | logger.info('Creating job to update cache file %s.', redundancyModel.url) |
77 | 77 | ||
78 | const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(redundancyModel.getVideo().id) | 78 | const associatedVideo = redundancyModel.getVideo() |
79 | if (!associatedVideo) { | ||
80 | logger.warn('Cannot send update activity for redundancy %s: no video files associated.', redundancyModel.url) | ||
81 | return | ||
82 | } | ||
83 | |||
84 | const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(associatedVideo.id) | ||
79 | 85 | ||
80 | const activityBuilder = (audience: ActivityAudience) => { | 86 | const activityBuilder = (audience: ActivityAudience) => { |
81 | const redundancyObject = redundancyModel.toActivityPubObject() | 87 | const redundancyObject = redundancyModel.toActivityPubObject() |