]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/redundancy.ts
Don't always replace actor avatar
[github/Chocobozzz/PeerTube.git] / server / lib / redundancy.ts
index 78221cc3d42e0c84e0ef753477d6a9602edbcdd1..1b4ecd7c04875d6abc3e98475a3fc14a257fc373 100644 (file)
@@ -2,17 +2,28 @@ import { VideoRedundancyModel } from '../models/redundancy/video-redundancy'
 import { sendUndoCacheFile } from './activitypub/send'
 import { Transaction } from 'sequelize'
 import { getServerActor } from '../helpers/utils'
+import { MVideoRedundancyVideo } from '@server/typings/models'
 
-async function removeVideoRedundancy (videoRedundancy: VideoRedundancyModel, t?: Transaction) {
+async function removeVideoRedundancy (videoRedundancy: MVideoRedundancyVideo, t?: Transaction) {
   const serverActor = await getServerActor()
 
-  await sendUndoCacheFile(serverActor, videoRedundancy, t)
+  // Local cache, send undo to remote instances
+  if (videoRedundancy.actorId === serverActor.id) await sendUndoCacheFile(serverActor, videoRedundancy, t)
 
   await videoRedundancy.destroy({ transaction: t })
 }
 
+async function removeRedundancyOf (serverId: number) {
+  const videosRedundancy = await VideoRedundancyModel.listLocalOfServer(serverId)
+
+  for (const redundancy of videosRedundancy) {
+    await removeVideoRedundancy(redundancy)
+  }
+}
+
 // ---------------------------------------------------------------------------
 
 export {
+  removeRedundancyOf,
   removeVideoRedundancy
 }