Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)