Skip to content

Commit ba4f13a

Browse files
committed
Added check_username()
1 parent 20827b1 commit ba4f13a

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/server/api/user_api.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,34 @@ def get_user_count():
293293
return jsonify(user_count[0])
294294

295295

296+
@user_api.route("/api/admin/user/check_name", methods=["POST"])
297+
@jwt_ops.admin_required
298+
def check_username():
299+
"""Return 1 if username exists already, else 0."""
300+
301+
try:
302+
post_dict = json.loads(request.data)
303+
test_username = post_dict["username"]
304+
except:
305+
return jsonify("Missing username"), 400
306+
307+
with engine.connect() as connection:
308+
309+
s = text( """select count(username) from pdp_users where username=:u """ )
310+
s = s.bindparams(u=test_username)
311+
result = connection.execute(s)
312+
313+
if result.rowcount: # As we're doing a count() we *should* get a result
314+
user_exists = result.fetchone()[0]
315+
else:
316+
log_user_action(test_username, "Failure", "Error when checking username")
317+
return jsonify("Error checking username"), 500
318+
319+
return jsonify(user_exists)
320+
321+
322+
323+
296324
# TODO: A single do-all update_user()
297325
@user_api.route("/api/admin/user/deactivate", methods=["POST"])
298326
@jwt_ops.admin_required

0 commit comments

Comments
 (0)