mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			1021 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1021 B
		
	
	
	
		
			TypeScript
		
	
	
| 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: MVideoRedundancyVideo, t?: Transaction) {
 | |
|   const serverActor = await getServerActor()
 | |
| 
 | |
|   // Local cache, send undo to remote instances
 | |
|   if (videoRedundancy.actorId === serverActor.id) await sendUndoCacheFile(serverActor, videoRedundancy, 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
 | |
| }
 |