-function createCacheFile (cacheFileObject: CacheFileObject, video: VideoModel, byActor: { id?: number }, t: Transaction) {
+async function createOrUpdateCacheFile (cacheFileObject: CacheFileObject, video: MVideoWithAllFiles, byActor: MActorId, t: Transaction) {
+ const redundancyModel = await VideoRedundancyModel.loadByUrl(cacheFileObject.id, t)
+
+ if (!redundancyModel) {
+ await createCacheFile(cacheFileObject, video, byActor, t)
+ } else {
+ await updateCacheFile(cacheFileObject, redundancyModel, video, byActor, t)
+ }
+}
+
+function createCacheFile (cacheFileObject: CacheFileObject, video: MVideoWithAllFiles, byActor: MActorId, t: Transaction) {