Skip to content
Snippets Groups Projects
Commit fdf339c2 authored by Herman Andersen Dyrkorn's avatar Herman Andersen Dyrkorn
Browse files

Merge branch '9-register-location-endpoint' into 'master'

Resolve "register location endpoint"

Closes #9

See merge request !12
parents 1bfd2fe1 179f87b8
No related branches found
No related tags found
1 merge request!12Resolve "register location endpoint"
No preview for this file type
......@@ -3,6 +3,10 @@ from flask_restful import Resource
from flask_jwt_extended import jwt_required
from api import db
from api.models.dbmodels import Location
import re
COORDINATES_REGEX = "^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$"
# findSalamanderInfo endpoint
......@@ -13,12 +17,12 @@ class RegisterLocation(Resource):
data = request.form
if "coordinates" in data and "name" in data and "radius" in data:
location = db.session.query(Location).filter_by(name=data['name']).first()
if not location:
if not location and re.search(COORDINATES_REGEX, data['coordinates']):
new_location = Location(name=data['name'], coordinates=data['coordinates'], radius=data['radius'])
db.session.add(new_location)
db.session.commit()
return jsonify({"message": "new location registered"})
else:
return jsonify({"message": "this location name already in use"})
return jsonify({"message": "this location name already in use or bad coordinates"})
else:
return jsonify({"message": "wrong data"})
......@@ -5,15 +5,17 @@ from api import bcrypt, db
import re
EMAIL_REGEX = "^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$"
class RegisterUser(Resource):
@staticmethod
def post():
data = request.form
if data['name'] or data['email'] or data['password'] or data['confirmPassword']:
if data['password'] == data['confirmPassword']:
email_regex = "^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$"
user = db.session.query(User).filter_by(email=data['email']).first()
if not user and re.search(email_regex, data['email']):
if not user and re.search(EMAIL_REGEX, data['email']):
password_hash = bcrypt.generate_password_hash(data['password'])
new_user = User(name=data['name'], email=data['email'], pwd=password_hash)
db.session.add(new_user)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment