def put(self): """ Create a user """ parser = reqparse.RequestParser() parser.add_argument("username", type=str, help="Username.", required=True) parser.add_argument("password", type=str, help="Password.", required=True) args = parser.parse_args() if User.query.filter(User.username == args.username).first(): return {'message':"Username already in use."}, 304 user = User(args.username, args.password) # First user is admin if not User.query.first(): user.admin = True s = Session() s.from_request(request) user.sessions.append(s) db.session.add(user) db.session.add(s) db.session.commit() session['session'] = s.session_id return s.jsonify()
def put(self, username): "Add a session for a user and return the session cookie" parser = reqparse.RequestParser() parser.add_argument("password", type=str, help="password.", required=True) args = parser.parse_args() user = User.query.filter(User.username == username).first() if not user: return{}, 404 if not user.verify_password(args.password): return {}, 401 s = Session() s.from_request(request) user.sessions.append(s) db.session.add(user) db.session.add(s) db.session.commit() session['session'] = s.session_id log("%s logged in." % user.username) response = user.jsonify() response['session'] = s.jsonify() return response