1 import { isActivityPubUrlValid } from './misc'
2 import { isRemoteVideoUrlValid } from './videos'
3 import { exists, isDateValid } from '../misc'
4 import { CacheFileObject } from '../../../../shared/models/activitypub/objects'
6 function isCacheFileObjectValid (object: CacheFileObject) {
7 return exists(object) &&
8 object.type === 'CacheFile' &&
9 (object.expires === null || isDateValid(object.expires)) &&
10 isActivityPubUrlValid(object.object) &&
11 (isRemoteVideoUrlValid(object.url) || isPlaylistRedundancyUrlValid(object.url))
14 // ---------------------------------------------------------------------------
17 isCacheFileObjectValid
20 // ---------------------------------------------------------------------------
22 function isPlaylistRedundancyUrlValid (url: any) {
23 return url.type === 'Link' &&
24 (url.mediaType || url.mimeType) === 'application/x-mpegURL' &&
25 isActivityPubUrlValid(url.href)