]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/redundancy.ts
Reduce AP context size on specific activities
[github/Chocobozzz/PeerTube.git] / server / lib / redundancy.ts
index 16b1226585d76f277a65be40001c3f29ef497fed..78d84e02e97d7d8648ff8f4bed3eac99ea7fc5ed 100644 (file)
@@ -2,8 +2,9 @@ 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()
 
   // Local cache, send undo to remote instances
@@ -12,8 +13,17 @@ async function removeVideoRedundancy (videoRedundancy: VideoRedundancyModel, t?:
   await videoRedundancy.destroy({ transaction: t })
 }
 
+async function removeRedundanciesOfServer (serverId: number) {
+  const redundancies = await VideoRedundancyModel.listLocalOfServer(serverId)
+
+  for (const redundancy of redundancies) {
+    await removeVideoRedundancy(redundancy)
+  }
+}
+
 // ---------------------------------------------------------------------------
 
 export {
+  removeRedundanciesOfServer,
   removeVideoRedundancy
 }