+ return VideoCaptionModel.findOne(query)
+ }
+
+ static async insertOrReplaceLanguage (caption: MVideoCaption, transaction: Transaction) {
+ const existing = await VideoCaptionModel.loadByVideoIdAndLanguage(caption.videoId, caption.language, transaction)
+
+ // Delete existing file
+ if (existing) await existing.destroy({ transaction })
+
+ return caption.save({ transaction })