From 2768eb14d8042206c47bdabdcc8ae14efe4e080b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Pu=C5=A1nik?= Date: Tue, 6 Oct 2015 02:30:58 +0200 Subject: sign up, update last_login --- server/handlers.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'server/handlers.py') diff --git a/server/handlers.py b/server/handlers.py index a7f4f76..a7e0fef 100644 --- a/server/handlers.py +++ b/server/handlers.py @@ -55,6 +55,28 @@ class Login(CodeqService): request.reply({'code': 0, 'message': 'OK', 'sid':session.get_sid(), 'settings':settings}) +class Signup(CodeqService): + session_is_optional = True + + def process(self, request): + js = request.data + username = js.get('username') + password = js.get('password') + if username is None: + request.reply({'code': 1, 'message': 'Username was not provided'}) + elif password is None: + request.reply({'code': 2, 'message': 'Password was not provided'}) + else: + try: + server.user_session.signup(username, password) + except UserExists: + request.reply({'code': 3, 'message': 'Username already exists'}) + except SignupFailed: + request.reply({'code': 4, 'message': 'Signn up failed'}) + else: + request.reply({'code': 0, 'message': 'OK'}) + + class ChangePassword(CodeqService): def process(self, request): js = request.data @@ -260,6 +282,7 @@ class EndProblem(CodeqService): incoming_handlers = { 'list_problems': ProblemList(), 'login': Login(), + 'signup': Signup(), 'change_password': ChangePassword(), 'get_problem': GetProblem(), 'logout': None, -- cgit v1.2.1