]>
Commit | Line | Data |
---|---|---|
04b8c3fb C |
1 | import * as Bull from 'bull' |
2 | import { logger } from '../../../helpers/logger' | |
3 | import { fetchVideoByUrl } from '../../../helpers/video' | |
4 | import { refreshVideoIfNeeded } from '../../activitypub' | |
5 | ||
6 | export type RefreshPayload = { | |
7 | videoUrl: string | |
8 | type: 'video' | |
9 | } | |
10 | ||
11 | async function refreshAPObject (job: Bull.Job) { | |
12 | const payload = job.data as RefreshPayload | |
74577825 C |
13 | |
14 | logger.info('Processing AP refresher in job %d for video %s.', job.id, payload.videoUrl) | |
04b8c3fb C |
15 | |
16 | if (payload.type === 'video') return refreshAPVideo(payload.videoUrl) | |
17 | } | |
18 | ||
19 | // --------------------------------------------------------------------------- | |
20 | ||
21 | export { | |
22 | refreshAPObject | |
23 | } | |
24 | ||
25 | // --------------------------------------------------------------------------- | |
26 | ||
27 | async function refreshAPVideo (videoUrl: string) { | |
28 | const fetchType = 'all' as 'all' | |
29 | const syncParam = { likes: true, dislikes: true, shares: true, comments: true, thumbnail: true } | |
30 | ||
31 | const videoFromDatabase = await fetchVideoByUrl(videoUrl, fetchType) | |
32 | if (videoFromDatabase) { | |
33 | const refreshOptions = { | |
34 | video: videoFromDatabase, | |
35 | fetchedType: fetchType, | |
36 | syncParam | |
37 | } | |
38 | ||
39 | await refreshVideoIfNeeded(refreshOptions) | |
40 | } | |
41 | } |