Add player mode in watch/embed urls
[oweals/peertube.git] / server / lib / redundancy.ts
1 import { VideoRedundancyModel } from '../models/redundancy/video-redundancy'
2 import { sendUndoCacheFile } from './activitypub/send'
3 import { Transaction } from 'sequelize'
4 import { getServerActor } from '../helpers/utils'
5
6 async function removeVideoRedundancy (videoRedundancy: VideoRedundancyModel, t?: Transaction) {
7   const serverActor = await getServerActor()
8
9   // Local cache, send undo to remote instances
10   if (videoRedundancy.actorId === serverActor.id) await sendUndoCacheFile(serverActor, videoRedundancy, t)
11
12   await videoRedundancy.destroy({ transaction: t })
13 }
14
15 async function removeRedundancyOf (serverId: number) {
16   const videosRedundancy = await VideoRedundancyModel.listLocalOfServer(serverId)
17
18   for (const redundancy of videosRedundancy) {
19     await removeVideoRedundancy(redundancy)
20   }
21 }
22
23 // ---------------------------------------------------------------------------
24
25 export {
26   removeRedundancyOf,
27   removeVideoRedundancy
28 }