]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/lib/job-queue/handlers/notify.ts
Merge branch 'release/4.3.0' into develop
[github/Chocobozzz/PeerTube.git] / server / lib / job-queue / handlers / notify.ts
1 import { Job } from 'bullmq'
2 import { Notifier } from '@server/lib/notifier'
3 import { VideoModel } from '@server/models/video/video'
4 import { NotifyPayload } from '@shared/models'
5 import { logger } from '../../../helpers/logger'
6
7 async function processNotify (job: Job) {
8 const payload = job.data as NotifyPayload
9 logger.info('Processing %s notification in job %s.', payload.action, job.id)
10
11 if (payload.action === 'new-video') return doNotifyNewVideo(payload)
12 }
13
14 // ---------------------------------------------------------------------------
15
16 export {
17 processNotify
18 }
19
20 // ---------------------------------------------------------------------------
21
22 async function doNotifyNewVideo (payload: NotifyPayload & { action: 'new-video' }) {
23 const refreshedVideo = await VideoModel.loadFull(payload.videoUUID)
24 if (!refreshedVideo) return
25
26 Notifier.Instance.notifyOnNewVideoIfNeeded(refreshedVideo)
27 }