From e5a629115d2563215da02a3c50c0a9e6487b2a4e Mon Sep 17 00:00:00 2001 From: L4168 <L4168@student.jamk.fi> Date: Thu, 27 Jun 2019 16:59:32 +0300 Subject: [PATCH] added validation for centerJSON --- src/shared/custom-validation.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/shared/custom-validation.ts b/src/shared/custom-validation.ts index a920e71..13b9637 100644 --- a/src/shared/custom-validation.ts +++ b/src/shared/custom-validation.ts @@ -30,3 +30,23 @@ export class RoleValidation implements ValidatorConstraintInterface { return 'Not valid uuid'; } } + +// checks for valid JSON for center +@ValidatorConstraint({ name: 'centerJSON', async: true }) +export class CenterJSON implements ValidatorConstraintInterface { + validate(center: JSON, args: ValidationArguments) { + const validator = new Validator(); + return ( + validator.isNumber(center['lat']) && + validator.isNumber(center['lng']) && + validator.min(center['lat'], -90) && + validator.max(center['lat'], 90) && + validator.min(center['lng'], -180) && + validator.max(center['lng'], 180) + ); + } + + defaultMessage(args: ValidationArguments) { + return 'Error with center JSON'; + } +} -- GitLab