-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.py
More file actions
77 lines (57 loc) · 2.26 KB
/
Copy pathserver.py
File metadata and controls
77 lines (57 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
from flask import Flask, render_template, request, json, session
import requests
import logic
import json
app = Flask(__name__)
app.secret_key = 'test'
@app.route("/")
def start_menu():
return render_template('api-wars.html')
@app.route("/register", methods = ['GET', 'POST'])
def register_new_user():
register_input = request.get_json()
if logic.check_if_user_in_database(register_input) == True:
return app.response_class(json.dumps(False), content_type='application/json')
logic.register_new_user(register_input)
return app.response_class(json.dumps(True), content_type='application/json')
@app.route("/login", methods = ['GET', 'POST'])
def log_in_user():
login_input = request.get_json()
if logic.check_if_user_in_database(login_input) and logic.check_if_user_password_correct(login_input):
username = login_input['username']
logic.set_active_user(username)
session['user:' + username] = username
return json.dumps(username)
# return app.response_class(json.dumps(True), content_type='application/json')
else:
return app.response_class(json.dumps(False), content_type='application/json')
@app.route("/logout", methods = ['GET', 'POST'])
def logout_user():
logout_input = request.get_json()
logic.logout_user()
session.pop('user:' + logout_input, None)
return app.response_class(json.dumps(True), content_type='application/json')
@app.route("/check_logged_in", methods = ['GET', 'POST'])
def check_logged_in():
logged_in = logic.check_logged_in()
if logged_in == False:
return app.response_class(json.dumps(False), content_type='application/json')
return json.dumps(logged_in)
@app.route("/vote", methods = ['GET', 'POST'])
def vote():
vote_input = request.get_json()
logic.vote(vote_input)
return json.dumps(vote_input['planet_name'])
@app.route("/voted_planets", methods = ['GET', 'POST'])
def get_voted_planets():
user = request.get_json()
voted_planets = logic.get_voted_planets(user)
return json.dumps(voted_planets)
@app.route("/statistics", methods = ['GET', 'POST'])
def get_statistics():
statistics = logic.get_statistics()
return json.dumps(statistics)
def main():
app.run(debug=True)
if __name__ == '__main__':
main()