mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			896 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			896 B
		
	
	
	
		
			TypeScript
		
	
	
| import { isActivityPubUrlValid } from './misc'
 | |
| import { isRemoteVideoUrlValid } from './videos'
 | |
| import { exists, isDateValid } from '../misc'
 | |
| import { CacheFileObject } from '../../../../shared/models/activitypub/objects'
 | |
| 
 | |
| function isCacheFileObjectValid (object: CacheFileObject) {
 | |
|   return exists(object) &&
 | |
|     object.type === 'CacheFile' &&
 | |
|     isDateValid(object.expires) &&
 | |
|     isActivityPubUrlValid(object.object) &&
 | |
|     (isRemoteVideoUrlValid(object.url) || isPlaylistRedundancyUrlValid(object.url))
 | |
| }
 | |
| 
 | |
| // ---------------------------------------------------------------------------
 | |
| 
 | |
| export {
 | |
|   isCacheFileObjectValid
 | |
| }
 | |
| 
 | |
| // ---------------------------------------------------------------------------
 | |
| 
 | |
| function isPlaylistRedundancyUrlValid (url: any) {
 | |
|   return url.type === 'Link' &&
 | |
|     (url.mediaType || url.mimeType) === 'application/x-mpegURL' &&
 | |
|     isActivityPubUrlValid(url.href)
 | |
| }
 |