From c48e82b5e0478434de30626d14594a97f2402e7c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 Sep 2018 16:27:07 +0200 Subject: Basic video redundancy implementation --- .../custom-validators/activitypub/cache-file.ts | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 server/helpers/custom-validators/activitypub/cache-file.ts (limited to 'server/helpers/custom-validators/activitypub/cache-file.ts') diff --git a/server/helpers/custom-validators/activitypub/cache-file.ts b/server/helpers/custom-validators/activitypub/cache-file.ts new file mode 100644 index 000000000..bd70934c8 --- /dev/null +++ b/server/helpers/custom-validators/activitypub/cache-file.ts @@ -0,0 +1,28 @@ +import { isActivityPubUrlValid, isBaseActivityValid } from './misc' +import { isRemoteVideoUrlValid } from './videos' +import { isDateValid, exists } from '../misc' +import { CacheFileObject } from '../../../../shared/models/activitypub/objects' + +function isCacheFileCreateActivityValid (activity: any) { + return isBaseActivityValid(activity, 'Create') && + isCacheFileObjectValid(activity.object) +} + +function isCacheFileUpdateActivityValid (activity: any) { + return isBaseActivityValid(activity, 'Update') && + isCacheFileObjectValid(activity.object) +} + +function isCacheFileObjectValid (object: CacheFileObject) { + return exists(object) && + object.type === 'CacheFile' && + isDateValid(object.expires) && + isActivityPubUrlValid(object.object) && + isRemoteVideoUrlValid(object.url) +} + +export { + isCacheFileUpdateActivityValid, + isCacheFileCreateActivityValid, + isCacheFileObjectValid +} -- cgit v1.2.3