aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/activitypub/process-add.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-11-17 15:20:42 +0100
committerChocobozzz <florian.bigard@gmail.com>2017-11-27 19:40:52 +0100
commit9a27cdc27c900feaae5f6db4315c4ccdfc0c4493 (patch)
treef91fcfa0fa1a2e45aae1c5333ef2f7ec60e56ef0 /server/lib/activitypub/process-add.ts
parent975e6e0e44e2f2b25f804cd48a62e2a8d9e8117a (diff)
downloadPeerTube-9a27cdc27c900feaae5f6db4315c4ccdfc0c4493.tar.gz
PeerTube-9a27cdc27c900feaae5f6db4315c4ccdfc0c4493.tar.zst
PeerTube-9a27cdc27c900feaae5f6db4315c4ccdfc0c4493.zip
Optimize signature verification
Diffstat (limited to 'server/lib/activitypub/process-add.ts')
-rw-r--r--server/lib/activitypub/process-add.ts15
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
35function processAddVideo (account: AccountInstance, videoChannel: VideoChannelInstance, video: VideoTorrentObject) { 35function 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
44function addRemoteVideo (account: AccountInstance, videoChannel: VideoChannelInstance, videoToCreateData: VideoTorrentObject) { 44function 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