fix: check if email belong to another user before update the current user email
parent
0444ca949e
commit
18e4b8d116
|
@ -13,7 +13,7 @@ from flask_jwt_extended import jwt_required
|
|||
class Users(Resource):
|
||||
|
||||
@jwt_required()
|
||||
@role_required('admin', 'user')
|
||||
@role_required('admin')
|
||||
def get(self):
|
||||
user_model = UserModel()
|
||||
users = user_model.list_users()
|
||||
|
@ -33,7 +33,7 @@ class User(Resource):
|
|||
self.user_model = UserModel()
|
||||
|
||||
@jwt_required()
|
||||
@role_required('admin', 'user')
|
||||
@role_required('admin')
|
||||
def get(self, user_id):
|
||||
if user := self.user_model.get_user_by_id(user_id):
|
||||
|
||||
|
@ -47,11 +47,14 @@ class User(Resource):
|
|||
|
||||
@user_ns.expect(update_user)
|
||||
@jwt_required()
|
||||
@role_required('admin', 'user')
|
||||
@role_required('admin')
|
||||
def patch(self, user_id):
|
||||
data = request.get_json()
|
||||
|
||||
validated = UpdateUserRequest(**data)
|
||||
validated = UpdateUserRequest(**data)
|
||||
|
||||
if exist := self.user_model.find_by_email(validated.email):
|
||||
return {"success": False, 'message': f'Email {exist["email"]} belong to another user'}, 400
|
||||
|
||||
if not self.user_model.get_user_by_id(user_id):
|
||||
return {"success": False, 'message': 'User not found'}, 404
|
||||
|
@ -64,7 +67,7 @@ class User(Resource):
|
|||
|
||||
|
||||
@jwt_required()
|
||||
@role_required('admin', 'user')
|
||||
@role_required('admin')
|
||||
def delete(self, user_id):
|
||||
|
||||
if not self.user_model.get_user_by_id(user_id):
|
||||
|
|
Loading…
Reference in New Issue