X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fredundancy.ts;h=1b4ecd7c04875d6abc3e98475a3fc14a257fc373;hb=66fb2aa39b6f8e4677f80128c27fbafd3a8fe2e7;hp=78221cc3d42e0c84e0ef753477d6a9602edbcdd1;hpb=c48e82b5e0478434de30626d14594a97f2402e7c;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/redundancy.ts b/server/lib/redundancy.ts index 78221cc3d..1b4ecd7c0 100644 --- a/server/lib/redundancy.ts +++ b/server/lib/redundancy.ts @@ -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 }