diff --git a/SE_API/UserRoutes.py b/SE_API/UserRoutes.py index 8efb16d..b1d350c 100644 --- a/SE_API/UserRoutes.py +++ b/SE_API/UserRoutes.py @@ -271,6 +271,7 @@ def getUserByToken(token): return no_content("No User Found") + @user_routes.route('/api/users/getUserById/', defaults={'token': None, 'id': None}) @user_routes.route('/api/users/getUserById//', methods=["GET"]) @auto.doc() @@ -334,6 +335,188 @@ def getUserById(token, id): +@user_routes.route('/api/users/getUsersByCampus//', methods=["GET"]) +@auto.doc() +def getUsersByCampus(token, campusId): + """ + >This Call will return all users in Campus +
+ Route Parameters
+ - seToken: 'seToken'
+ - campusId: 123456789 +
+
+ Payload
+ - NONE +
+
+ Response +
+ 200 - JSON Example:
+ + {
+ 'username': 'DarkLord',
+ 'name': 'Darth Vader',
+ 'email': 'darkLord@death.planet,
+ 'isLecturer': 'True',
+ 'seToken': 'xxxxxx-xxxxx-xxxxx-xxxxxx',
+ 'avatar_url': 'http://location.git.com/somthing'
+ 'isFirstLogin': False,
+ 'campuses_id_list': [75894378,5893482,894032],
+ 'courses_id_list': [4324,432432,4324324]
+ } +
+
+ 403 - No User Found + """ + if token is None: + return no_content("Token Is Empty, No User Found") + + user = get_user_by_token(token) + if user is None: + return bad_request("Bad User Token") + + campus = Campus.get_by_id(int(campusId)) + if campus is None: + return bad_request("No such Campus") + + arr = [] + + for u in enumerate(campus.membersId): + u = json.loads(User.get_by_id(int(u)).to_JSON()) + arr.append(dict(u)) + + if len(arr) != 0: + return Response(response=json.dumps(arr), + status=200, + mimetype="application/json") + else: + return Response(response=[], + status=200, + mimetype="application/json") + + +@user_routes.route('/api/users/getUsersByCourse//', methods=["GET"]) +@auto.doc() +def getUsersByCourse(token, courseId): + """ + >This Call will return all users in Course +
+ Route Parameters
+ - seToken: 'seToken'
+ - courseId: 123456789 +
+
+ Payload
+ - NONE +
+
+ Response +
+ 200 - JSON Example:
+ + {
+ 'username': 'DarkLord',
+ 'name': 'Darth Vader',
+ 'email': 'darkLord@death.planet,
+ 'isLecturer': 'True',
+ 'seToken': 'xxxxxx-xxxxx-xxxxx-xxxxxx',
+ 'avatar_url': 'http://location.git.com/somthing'
+ 'isFirstLogin': False,
+ 'campuses_id_list': [1243567,7583584904],
+ 'courses_id_list': [543543,54353453,543543534]
+ } +
+
+ 403 - No User Found + """ + if token is None: + return no_content("Token Is Empty, No User Found") + + user = get_user_by_token(token) + if user is None: + return bad_request("Bad User Token") + + course = Course.get_by_id(int(courseId)) + if course is None: + return bad_request("No such Course") + + arr = [] + + for u in enumerate(course.membersId): + u = json.loads(User.get_by_id(int(u)).to_JSON()) + arr.append(dict(u)) + + if len(arr) != 0: + return Response(response=json.dumps(arr), + status=200, + mimetype="application/json") + else: + return Response(response=[], + status=200, + mimetype="application/json") + + +@user_routes.route('/api/users/getUsersByProject//', methods=["GET"]) +@auto.doc() +def getUsersByCampus(token, projectId): + """ + >This Call will return all users in Project +
+ Route Parameters
+ - seToken: 'seToken'
+ - projectId: 123456789 +
+
+ Payload
+ - NONE +
+
+ Response +
+ 200 - JSON Example:
+ + {
+ 'username': 'DarkLord',
+ 'name': 'Darth Vader',
+ 'email': 'darkLord@death.planet,
+ 'isLecturer': 'True',
+ 'seToken': 'xxxxxx-xxxxx-xxxxx-xxxxxx',
+ 'avatar_url': 'http://location.git.com/somthing'
+ 'isFirstLogin': False,
+ 'campuses_id_list': [43243532532,5325325325,532532342],
+ 'courses_id_list': [53523,43432423,432432432432]
+ } +
+
+ 403 - No User Found + """ + if token is None: + return no_content("Token Is Empty, No User Found") + + user = get_user_by_token(token) + if user is None: + return bad_request("Bad User Token") + + project = Project.get_by_id(int(projectId)) + if project is None: + return bad_request("No such Project") + + arr = [] + + for u in enumerate(project.membersId): + u = json.loads(User.get_by_id(int(u)).to_JSON()) + arr.append(dict(u)) + + if len(arr) != 0: + return Response(response=json.dumps(arr), + status=200, + mimetype="application/json") + else: + return Response(response=[], + status=200, + mimetype="application/json") + #---------------------------------------------------------- # DELETE #----------------------------------------------------------