Skip to content

Commit c1bdb2c

Browse files
committed
Added user_get_info()
1 parent 621ad10 commit c1bdb2c

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

src/server/api/user_api.py

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ def check_username():
319319
return jsonify(user_exists)
320320

321321
@user_api.route("/api/admin/user/update", methods=["POST"])
322-
# @jwt_ops.admin_required
322+
@jwt_ops.admin_required
323323
def user_update():
324324
"""Update existing user record
325325
"""
@@ -346,7 +346,7 @@ def user_update():
346346
#TODO: WIP
347347
print(update_dict)
348348

349-
return jsonify("foo")
349+
return jsonify("Work in process")
350350

351351
# TODO: A single do-all update_user()
352352
@user_api.route("/api/admin/user/deactivate", methods=["POST"])
@@ -370,9 +370,6 @@ def user_activate():
370370
def user_get_list():
371371
"""Return list of users"""
372372

373-
# pu = Table("pdp_users", metadata, autoload=True, autoload_with=engine)
374-
# pr = Table("pdp_user_roles", metadata, autoload=True, autoload_with=engine)
375-
376373
with engine.connect() as connection:
377374

378375
s = text(
@@ -392,3 +389,27 @@ def user_get_list():
392389

393390
return jsonify(ul), 200
394391

392+
@user_api.route("/api/admin/user/get_info/<string:username>", methods=["GET"])
393+
@jwt_ops.admin_required
394+
def user_get_info(username):
395+
"""Return info on a specified user"""
396+
397+
with engine.connect() as connection:
398+
399+
s = text(
400+
""" select username, full_name, active, pr.role
401+
from pdp_users as pu
402+
left join pdp_user_roles as pr on pu.role = pr._id
403+
where username=:u
404+
"""
405+
)
406+
s = s.bindparams(u=username)
407+
result = connection.execute(s)
408+
409+
if result.rowcount:
410+
user_row = result.fetchone()
411+
else:
412+
log_user_action(username, "Failure", "Error when getting user info")
413+
return jsonify("Username not found"), 400
414+
415+
return jsonify( dict(zip(result.keys(), user_row)) ), 200

0 commit comments

Comments
 (0)