diff options
Diffstat (limited to 'server/lib/activitypub/process-add.ts')
-rw-r--r-- | server/lib/activitypub/process-add.ts | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/server/lib/activitypub/process-add.ts b/server/lib/activitypub/process-add.ts index 72c5b1932..c83d9e98e 100644 --- a/server/lib/activitypub/process-add.ts +++ b/server/lib/activitypub/process-add.ts | |||
@@ -17,7 +17,7 @@ async function processAddActivity (activity: ActivityAdd) { | |||
17 | const videoChannelUrl = activity.target | 17 | const videoChannelUrl = activity.target |
18 | const videoChannel = await getOrCreateVideoChannel(account, videoChannelUrl) | 18 | const videoChannel = await getOrCreateVideoChannel(account, videoChannelUrl) |
19 | 19 | ||
20 | return processAddVideo(account, videoChannel, activityObject as VideoTorrentObject) | 20 | return processAddVideo(account, activity, videoChannel, activityObject as VideoTorrentObject) |
21 | } | 21 | } |
22 | 22 | ||
23 | logger.warn('Unknown activity object type %s when creating activity.', activityType, { activity: activity.id }) | 23 | logger.warn('Unknown activity object type %s when creating activity.', activityType, { activity: activity.id }) |
@@ -32,16 +32,21 @@ export { | |||
32 | 32 | ||
33 | // --------------------------------------------------------------------------- | 33 | // --------------------------------------------------------------------------- |
34 | 34 | ||
35 | function processAddVideo (account: AccountInstance, videoChannel: VideoChannelInstance, video: VideoTorrentObject) { | 35 | function processAddVideo (account: AccountInstance, activity: ActivityAdd, videoChannel: VideoChannelInstance, video: VideoTorrentObject) { |
36 | const options = { | 36 | const options = { |
37 | arguments: [ account, videoChannel, video ], | 37 | arguments: [ account, activity, videoChannel, video ], |
38 | errorMessage: 'Cannot insert the remote video with many retries.' | 38 | errorMessage: 'Cannot insert the remote video with many retries.' |
39 | } | 39 | } |
40 | 40 | ||
41 | return retryTransactionWrapper(addRemoteVideo, options) | 41 | return retryTransactionWrapper(addRemoteVideo, options) |
42 | } | 42 | } |
43 | 43 | ||
44 | function addRemoteVideo (account: AccountInstance, videoChannel: VideoChannelInstance, videoToCreateData: VideoTorrentObject) { | 44 | function addRemoteVideo ( |
45 | account: AccountInstance, | ||
46 | activity: ActivityAdd, | ||
47 | videoChannel: VideoChannelInstance, | ||
48 | videoToCreateData: VideoTorrentObject | ||
49 | ) { | ||
45 | logger.debug('Adding remote video %s.', videoToCreateData.url) | 50 | logger.debug('Adding remote video %s.', videoToCreateData.url) |
46 | 51 | ||
47 | return db.sequelize.transaction(async t => { | 52 | return db.sequelize.transaction(async t => { |
@@ -54,7 +59,7 @@ function addRemoteVideo (account: AccountInstance, videoChannel: VideoChannelIns | |||
54 | const videoFromDatabase = await db.Video.loadByUUIDOrURL(videoToCreateData.uuid, videoToCreateData.id, t) | 59 | const videoFromDatabase = await db.Video.loadByUUIDOrURL(videoToCreateData.uuid, videoToCreateData.id, t) |
55 | if (videoFromDatabase) throw new Error('Video with this UUID/Url already exists.') | 60 | if (videoFromDatabase) throw new Error('Video with this UUID/Url already exists.') |
56 | 61 | ||
57 | const videoData = await videoActivityObjectToDBAttributes(videoChannel, videoToCreateData) | 62 | const videoData = await videoActivityObjectToDBAttributes(videoChannel, videoToCreateData, activity.to, activity.cc) |
58 | const video = db.Video.build(videoData) | 63 | const video = db.Video.build(videoData) |
59 | 64 | ||
60 | // Don't block on request | 65 | // Don't block on request |