Skip to content
Snippets Groups Projects

Resolve "delete user endpoint"

Merged Herman Andersen Dyrkorn requested to merge 10-delete-user-endpoint into master
1 file
+ 20
3
Compare changes
  • Side-by-side
  • Inline
@@ -3,16 +3,16 @@ from flask_restful import Resource
@@ -3,16 +3,16 @@ from flask_restful import Resource
from api.models.dbmodels import User
from api.models.dbmodels import User
from api import bcrypt, db
from api import bcrypt, db
import re
import re
from flask_jwt_extended import get_jwt_identity, jwt_required
EMAIL_REGEX = "^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$"
EMAIL_REGEX = "^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$"
class RegisterUser(Resource):
class UserEndpoint(Resource):
@staticmethod
@staticmethod
def post():
def post():
data = request.form
data = request.form
if data['name'] or data['email'] or data['password'] or data['confirmPassword']:
if 'name' in data and 'email' in data and 'password' in data and 'confirmPassword' in data:
if data['password'] == data['confirmPassword']:
if data['password'] == data['confirmPassword']:
user = db.session.query(User).filter_by(email=data['email']).first()
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']):
@@ -28,3 +28,20 @@ class RegisterUser(Resource):
@@ -28,3 +28,20 @@ class RegisterUser(Resource):
else:
else:
output = {"message": "wrong data posted"}
output = {"message": "wrong data posted"}
return output
return output
 
 
@staticmethod
 
@jwt_required
 
def delete():
 
data = request.form
 
user_id = get_jwt_identity()
 
print(user_id)
 
if 'email' in data and 'password' in data:
 
user = db.session.query(User).filter_by(email=data['email']).first()
 
if user and bcrypt.check_password_hash(user.pwd, data['password']) and user_id == user.id:
 
db.session.delete(user)
 
db.session.commit()
 
return jsonify({"message": "user deleted"})
 
else:
 
return jsonify({"message": "email or password not matching"})
 
else:
 
return jsonify({"message": "wrong data sent"})
Loading