aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/activitypub/process-add.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/activitypub/process-add.ts')
-rw-r--r--server/lib/activitypub/process-add.ts13
1 files changed, 8 insertions, 5 deletions
diff --git a/server/lib/activitypub/process-add.ts b/server/lib/activitypub/process-add.ts
index df7139d46..72c5b1932 100644
--- a/server/lib/activitypub/process-add.ts
+++ b/server/lib/activitypub/process-add.ts
@@ -1,12 +1,12 @@
1import * as Bluebird from 'bluebird'
1import { VideoTorrentObject } from '../../../shared' 2import { VideoTorrentObject } from '../../../shared'
2import { ActivityAdd } from '../../../shared/models/activitypub/activity' 3import { ActivityAdd } from '../../../shared/models/activitypub/activity'
3import { generateThumbnailFromUrl, logger, retryTransactionWrapper, getOrCreateAccount } from '../../helpers' 4import { generateThumbnailFromUrl, getOrCreateAccount, logger, retryTransactionWrapper } from '../../helpers'
5import { getOrCreateVideoChannel } from '../../helpers/activitypub'
4import { database as db } from '../../initializers' 6import { database as db } from '../../initializers'
5import { AccountInstance } from '../../models/account/account-interface' 7import { AccountInstance } from '../../models/account/account-interface'
6import { videoActivityObjectToDBAttributes, videoFileActivityUrlToDBAttributes } from './misc'
7import Bluebird = require('bluebird')
8import { getOrCreateVideoChannel } from '../../helpers/activitypub'
9import { VideoChannelInstance } from '../../models/video/video-channel-interface' 8import { VideoChannelInstance } from '../../models/video/video-channel-interface'
9import { videoActivityObjectToDBAttributes, videoFileActivityUrlToDBAttributes } from './misc'
10 10
11async function processAddActivity (activity: ActivityAdd) { 11async function processAddActivity (activity: ActivityAdd) {
12 const activityObject = activity.object 12 const activityObject = activity.object
@@ -51,7 +51,10 @@ function addRemoteVideo (account: AccountInstance, videoChannel: VideoChannelIns
51 51
52 if (videoChannel.Account.id !== account.id) throw new Error('Video channel is not owned by this account.') 52 if (videoChannel.Account.id !== account.id) throw new Error('Video channel is not owned by this account.')
53 53
54 const videoData = await videoActivityObjectToDBAttributes(videoChannel, videoToCreateData, t) 54 const videoFromDatabase = await db.Video.loadByUUIDOrURL(videoToCreateData.uuid, videoToCreateData.id, t)
55 if (videoFromDatabase) throw new Error('Video with this UUID/Url already exists.')
56
57 const videoData = await videoActivityObjectToDBAttributes(videoChannel, videoToCreateData)
55 const video = db.Video.build(videoData) 58 const video = db.Video.build(videoData)
56 59
57 // Don't block on request 60 // Don't block on request