]>
Commit | Line | Data |
---|---|---|
1 | import { database as db } from '../../../initializers/database' | |
2 | import { updateVideoToFriends } from '../../friends' | |
3 | import { logger } from '../../../helpers' | |
4 | import { VideoInstance } from '../../../models' | |
5 | import { VideoResolution } from '../../../../shared' | |
6 | ||
7 | function process (data: { videoUUID: string, resolution: VideoResolution }) { | |
8 | return db.Video.loadByUUIDAndPopulateAuthorAndPodAndTags(data.videoUUID).then(video => { | |
9 | return video.transcodeOriginalVideofile(data.resolution).then(() => video) | |
10 | }) | |
11 | } | |
12 | ||
13 | function onError (err: Error, jobId: number) { | |
14 | logger.error('Error when transcoding video file in job %d.', jobId, err) | |
15 | return Promise.resolve() | |
16 | } | |
17 | ||
18 | function onSuccess (jobId: number, video: VideoInstance) { | |
19 | logger.info('Job %d is a success.', jobId) | |
20 | ||
21 | const remoteVideo = video.toUpdateRemoteJSON() | |
22 | ||
23 | // Now we'll add the video's meta data to our friends | |
24 | return updateVideoToFriends(remoteVideo, null) | |
25 | } | |
26 | ||
27 | // --------------------------------------------------------------------------- | |
28 | ||
29 | export { | |
30 | process, | |
31 | onError, | |
32 | onSuccess | |
33 | } |