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