]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/helpers/custom-validators/activitypub/cache-file.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/PeerTube.git] / server / helpers / custom-validators / activitypub / cache-file.ts
CommitLineData
848f499d 1import { isActivityPubUrlValid } from './misc'
c48e82b5 2import { isRemoteVideoUrlValid } from './videos'
848f499d 3import { exists, isDateValid } from '../misc'
c48e82b5
C
4import { CacheFileObject } from '../../../../shared/models/activitypub/objects'
5
c48e82b5
C
6function isCacheFileObjectValid (object: CacheFileObject) {
7 return exists(object) &&
8 object.type === 'CacheFile' &&
b764380a 9 (object.expires === null || isDateValid(object.expires)) &&
c48e82b5 10 isActivityPubUrlValid(object.object) &&
09209296 11 (isRemoteVideoUrlValid(object.url) || isPlaylistRedundancyUrlValid(object.url))
c48e82b5
C
12}
13
09209296
C
14// ---------------------------------------------------------------------------
15
c48e82b5 16export {
c48e82b5
C
17 isCacheFileObjectValid
18}
09209296
C
19
20// ---------------------------------------------------------------------------
21
22function isPlaylistRedundancyUrlValid (url: any) {
23 return url.type === 'Link' &&
24 (url.mediaType || url.mimeType) === 'application/x-mpegURL' &&
25 isActivityPubUrlValid(url.href)
26}