X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcustom-validators%2Factivitypub%2Fmisc.ts;h=4e2c57f04814b02c3776d93b2a3fccaf1107258e;hb=44b9c0ba31c4a97e3d874f33226ad935c3a90dd5;hp=2dac8e1ad77fa38add19a2ccade8a20da23242f5;hpb=6be84cbcea99518e8eca58c76259effd0dd992fd;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/custom-validators/activitypub/misc.ts b/server/helpers/custom-validators/activitypub/misc.ts index 2dac8e1ad..4e2c57f04 100644 --- a/server/helpers/custom-validators/activitypub/misc.ts +++ b/server/helpers/custom-validators/activitypub/misc.ts @@ -3,7 +3,7 @@ import { CONSTRAINTS_FIELDS } from '../../../initializers' import { isTestInstance } from '../../core-utils' import { exists } from '../misc' -function isActivityPubUrlValid (url: string) { +function isUrlValid (url: string) { const isURLOptions = { require_host: true, require_tld: true, @@ -17,13 +17,18 @@ function isActivityPubUrlValid (url: string) { isURLOptions.require_tld = false } - return exists(url) && validator.isURL('' + url, isURLOptions) && validator.isLength('' + url, CONSTRAINTS_FIELDS.ACTORS.URL) + return exists(url) && validator.isURL('' + url, isURLOptions) +} + +function isActivityPubUrlValid (url: string) { + return isUrlValid(url) && validator.isLength('' + url, CONSTRAINTS_FIELDS.ACTORS.URL) } function isBaseActivityValid (activity: any, type: string) { return (activity['@context'] === undefined || Array.isArray(activity['@context'])) && activity.type === type && isActivityPubUrlValid(activity.id) && + exists(activity.actor) && (isActivityPubUrlValid(activity.actor) || isActivityPubUrlValid(activity.actor.id)) && ( activity.to === undefined || @@ -41,16 +46,15 @@ function setValidAttributedTo (obj: any) { return true } - const newAttributesTo = obj.attributedTo.filter(a => { + obj.attributedTo = obj.attributedTo.filter(a => { return (a.type === 'Group' || a.type === 'Person') && isActivityPubUrlValid(a.id) }) - obj.attributedTo = newAttributesTo - return true } export { + isUrlValid, isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo