-function insertIntoDB (
- video: VideoModel,
- videoChannel: VideoChannelModel,
- tags: string[],
- videoImportAttributes: FilteredModelAttributes<VideoImportModel>
-): Bluebird<VideoImportModel> {
+async function processThumbnailFromUrl (url: string, video: VideoModel) {
+ try {
+ return createVideoMiniatureFromUrl(url, video, ThumbnailType.MINIATURE)
+ } catch (err) {
+ logger.warn('Cannot generate video thumbnail %s for %s.', url, video.url, { err })
+ return undefined
+ }
+}
+
+async function processPreviewFromUrl (url: string, video: VideoModel) {
+ try {
+ return createVideoMiniatureFromUrl(url, video, ThumbnailType.PREVIEW)
+ } catch (err) {
+ logger.warn('Cannot generate video preview %s for %s.', url, video.url, { err })
+ return undefined
+ }
+}
+
+function insertIntoDB (parameters: {
+ video: MVideoThumbnailAccountDefault
+ thumbnailModel: MThumbnail
+ previewModel: MThumbnail
+ videoChannel: MChannelAccountDefault
+ tags: string[]
+ videoImportAttributes: Partial<MVideoImport>
+ user: MUser
+}): Bluebird<MVideoImportFormattable> {
+ const { video, thumbnailModel, previewModel, videoChannel, tags, videoImportAttributes, user } = parameters
+