def answserPoll(): content = request.json print(content) params = ["login", "token", "poll_id", "answer_id"] missing = [] for p in params: if p not in content: missing.append(p) if len(missing) != 0: return jsonify(status="error", error_type="bad parameter", missing=missing) #user credentials check ulogin = content["login"] utoken = content["token"] upollId = content["poll_id"] answerId = content["answer_id"] reqUser = User(ulogin) if(not reqUser.userExists(ulogin)): return jsonify(status="error", error_type="no such user") if(not reqUser.loginUser(token=utoken)): return jsonify(status="error", error_type="bad token") #check poll integrity p = reqUser.getUserPoll(upollId, formated=False) if not p.pollExists(upollId): return jsonify(status="error", error_type="no such poll for user") if not reqUser.hasAnsweredPoll(upollId): return jsonify(status="error", error_type="previous user response to poll") if not p.validAnswer(answerId): return jsonify(status="error", error_type="invalid answer ID") reqUser.answerUserPoll(upollId, answerId) return jsonify(status="ok", info="answered poll")
def pollFromId(poll_id, login, methods=['GET']): # similar to /poll route utoken = request.args.get("token") if utoken is None: return jsonify(status="error", error_type="bad parameter") if utoken == "": return jsonify(status="error", error_type="empty parameters") reqUser = User(login) if(not reqUser.userExists(login)): return jsonify(status="error", error_type="no such user") if(not reqUser.loginUser(token=utoken)): return jsonify(status="error", error_type="bad token") p = reqUser.getUserPoll(poll_id) return jsonify(p)
def poll(): ulogin = request.args.get('login') utoken = request.args.get("token") pollId = request.args.get("poll_id") if(ulogin is None) or (utoken is None) or (pollId is None): return jsonify(status="error", error_type="bad parameter") if ulogin == "" or utoken == "" or pollId == "": return jsonify(status="error", error_type="empty parameters") reqUser = User(ulogin) if(not reqUser.userExists(login)): return jsonify(status="error", error_type="no such user") if(not reqUser.loginUser(token=utoken)): return jsonify(status="error", error_type="bad token") p = reqUser.getUserPoll(pollId) return jsonify(p)