diff options
Diffstat (limited to 'server/lib/job-queue')
-rw-r--r-- | server/lib/job-queue/handlers/video-channel-import.ts | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/server/lib/job-queue/handlers/video-channel-import.ts b/server/lib/job-queue/handlers/video-channel-import.ts index 9bdb2d269..9aaad659e 100644 --- a/server/lib/job-queue/handlers/video-channel-import.ts +++ b/server/lib/job-queue/handlers/video-channel-import.ts | |||
@@ -3,6 +3,8 @@ import { logger } from '@server/helpers/logger' | |||
3 | import { CONFIG } from '@server/initializers/config' | 3 | import { CONFIG } from '@server/initializers/config' |
4 | import { synchronizeChannel } from '@server/lib/sync-channel' | 4 | import { synchronizeChannel } from '@server/lib/sync-channel' |
5 | import { VideoChannelModel } from '@server/models/video/video-channel' | 5 | import { VideoChannelModel } from '@server/models/video/video-channel' |
6 | import { VideoChannelSyncModel } from '@server/models/video/video-channel-sync' | ||
7 | import { MChannelSync } from '@server/types/models' | ||
6 | import { VideoChannelImportPayload } from '@shared/models' | 8 | import { VideoChannelImportPayload } from '@shared/models' |
7 | 9 | ||
8 | export async function processVideoChannelImport (job: Job) { | 10 | export async function processVideoChannelImport (job: Job) { |
@@ -12,13 +14,20 @@ export async function processVideoChannelImport (job: Job) { | |||
12 | 14 | ||
13 | // Channel import requires only http upload to be allowed | 15 | // Channel import requires only http upload to be allowed |
14 | if (!CONFIG.IMPORT.VIDEOS.HTTP.ENABLED) { | 16 | if (!CONFIG.IMPORT.VIDEOS.HTTP.ENABLED) { |
15 | logger.error('Cannot import channel as the HTTP upload is disabled') | 17 | throw new Error('Cannot import channel as the HTTP upload is disabled') |
16 | return | ||
17 | } | 18 | } |
18 | 19 | ||
19 | if (!CONFIG.IMPORT.VIDEO_CHANNEL_SYNCHRONIZATION.ENABLED) { | 20 | if (!CONFIG.IMPORT.VIDEO_CHANNEL_SYNCHRONIZATION.ENABLED) { |
20 | logger.error('Cannot import channel as the synchronization is disabled') | 21 | throw new Error('Cannot import channel as the synchronization is disabled') |
21 | return | 22 | } |
23 | |||
24 | let channelSync: MChannelSync | ||
25 | if (payload.partOfChannelSyncId) { | ||
26 | channelSync = await VideoChannelSyncModel.loadWithChannel(payload.partOfChannelSyncId) | ||
27 | |||
28 | if (!channelSync) { | ||
29 | throw new Error('Unlnown channel sync specified in videos channel import') | ||
30 | } | ||
22 | } | 31 | } |
23 | 32 | ||
24 | const videoChannel = await VideoChannelModel.loadAndPopulateAccount(payload.videoChannelId) | 33 | const videoChannel = await VideoChannelModel.loadAndPopulateAccount(payload.videoChannelId) |
@@ -28,7 +37,8 @@ export async function processVideoChannelImport (job: Job) { | |||
28 | 37 | ||
29 | await synchronizeChannel({ | 38 | await synchronizeChannel({ |
30 | channel: videoChannel, | 39 | channel: videoChannel, |
31 | externalChannelUrl: payload.externalChannelUrl | 40 | externalChannelUrl: payload.externalChannelUrl, |
41 | channelSync | ||
32 | }) | 42 | }) |
33 | } catch (err) { | 43 | } catch (err) { |
34 | logger.error(`Failed to import channel ${videoChannel.name}`, { err }) | 44 | logger.error(`Failed to import channel ${videoChannel.name}`, { err }) |