From b4b0665a7ed456fa06bd2befe8d4c7832f9afc04 Mon Sep 17 00:00:00 2001 From: X1Zeth2X Date: Sun, 29 Sep 2019 20:18:20 +0400 Subject: [PATCH 1/5] Use usernames for getting user info. --- zimmerman/main/controller/user_controller.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/zimmerman/main/controller/user_controller.py b/zimmerman/main/controller/user_controller.py index c38b3e0..c7a70a1 100644 --- a/zimmerman/main/controller/user_controller.py +++ b/zimmerman/main/controller/user_controller.py @@ -22,7 +22,7 @@ def post(self): data = request.get_json() return UserService.register(data) -@api.route('/get') +@api.route('/get/') class UserGet(Resource): @api.doc('Get a specific user', @@ -33,13 +33,13 @@ class UserGet(Resource): ) @jwt_required def get(self): - """ Get a specific user using its public id """ + """ Get a specific user by their username """ # Check for arguments current_user = load_user(get_jwt_identity()) - current_public_id = current_user.public_id + current_username = current_user.username - user_public_id = request.args.get("user_public_id", default=current_public_id) - return UserService.get_user_info(user_public_id) + username = request.args.get("username", default=current_username) + return UserService.get_user_info(username) @api.route('/update') class UserUpdate(Resource): From 64ae712685819d27aa89772ee3034e36dbc8ecf7 Mon Sep 17 00:00:00 2001 From: X1Zeth2X Date: Sun, 29 Sep 2019 20:18:42 +0400 Subject: [PATCH 2/5] Update responses. --- zimmerman/main/service/auth_helper.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/zimmerman/main/service/auth_helper.py b/zimmerman/main/service/auth_helper.py index d48df31..669151c 100644 --- a/zimmerman/main/service/auth_helper.py +++ b/zimmerman/main/service/auth_helper.py @@ -41,12 +41,13 @@ def login_user(data): access_token = create_access_token(identity=user.id) if access_token: - return { - 'message': 'Successfully logged in', + response_object = { 'success': True, + 'message': 'Successfully logged in.', 'user': user_info, 'Authorization': access_token - }, 200 + } + return response_object, 200 # Return Incorrect pass if the others fail else: return { From 94939c7eedffd6acfde5b83474c135396abf4d37 Mon Sep 17 00:00:00 2001 From: X1Zeth2X Date: Sun, 29 Sep 2019 20:19:31 +0400 Subject: [PATCH 3/5] Update responses. --- zimmerman/main/service/auth_helper.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/zimmerman/main/service/auth_helper.py b/zimmerman/main/service/auth_helper.py index 669151c..ec5f1b5 100644 --- a/zimmerman/main/service/auth_helper.py +++ b/zimmerman/main/service/auth_helper.py @@ -50,10 +50,11 @@ def login_user(data): return response_object, 200 # Return Incorrect pass if the others fail else: - return { - 'message': 'Failed to log in, password may be incorrect.', + response_object = { 'success': False, - }, 403 + 'message': 'Failed to log in, password may be incorrect.', + } + return response_object, 403 except Exception as error: response_object = { From 1b14377ccf0a51aeb4cbc6abc68928120c246c92 Mon Sep 17 00:00:00 2001 From: X1Zeth2X Date: Sun, 29 Sep 2019 20:19:45 +0400 Subject: [PATCH 4/5] Get user info using their username. --- zimmerman/main/service/user_service.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/zimmerman/main/service/user_service.py b/zimmerman/main/service/user_service.py index a9ca86e..6479c08 100644 --- a/zimmerman/main/service/user_service.py +++ b/zimmerman/main/service/user_service.py @@ -155,9 +155,9 @@ def register(data): } return response_object, 500 - # Query user INFO by its public id - def get_user_info(user_public_id): - user = User.query.filter_by(public_id=user_public_id).first() + # Get user INFO by its username + def get_user_info(username): + user = User.query.filter_by(username=username).first() if not user: response_object = { 'success': False, From aa1938dde962b3dfe942c508c7a49bf9facd5c93 Mon Sep 17 00:00:00 2001 From: X1Zeth2X Date: Sun, 29 Sep 2019 20:20:16 +0400 Subject: [PATCH 5/5] Add unit test for getting users. --- zimmerman/test/test_user.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/zimmerman/test/test_user.py b/zimmerman/test/test_user.py index bb87c24..b93ba9b 100644 --- a/zimmerman/test/test_user.py +++ b/zimmerman/test/test_user.py @@ -18,9 +18,9 @@ def register_user(self): content_type = 'application/json' ) -def get_user(self, access_token): +def get_user(self, access_token, username): return self.client.get( - '/user/get', + '/user/get/%s' % username, headers = { 'Authorization': 'Bearer %s' % access_token }, @@ -80,7 +80,8 @@ def test_get_user(self): access_token = login_response_data['Authorization'] # Get the user data - get_response = get_user(self, access_token) + username = login_response_data['user']['username'] + get_response = get_user(self, access_token, username) get_response_data = json.loads(get_response.data.decode()) self.assertEqual(get_response.status_code, 200)