-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapp.py
More file actions
105 lines (85 loc) · 2.85 KB
/
Copy pathapp.py
File metadata and controls
105 lines (85 loc) · 2.85 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import json
from flask import Flask, request, jsonify
from flask_cors import CORS
from bson import ObjectId
from datetime import datetime
from controllers.user_controller import UserController
from controllers.monster_controller import MonsterController
import controllers.generate_content as GenerateContent
app = Flask(__name__)
CORS(app, methods=['GET', 'POST'], allow_headers=['Content-Type'])
userController = UserController()
monsterController = MonsterController()
# Encodeing the ObjectID and datetime fields as a JSON string
class JSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, ObjectId) or isinstance(o, datetime):
return str(o)
return json.JSONEncoder.default(self, o)
@app.route('/', methods=['post'])
def get_request():
return "Good", 200
@app.route('/signup', methods=['post'])
def signup_user():
# Access the request data
data = request.get_json()
token, res = userController.signup(data)
if res == True:
return jsonify({"status" : True, "token" : token}), 200
else:
return jsonify({"status" : False, "result" : token }), 200
@app.route('/login', methods=['post'])
def login_user():
data = request.get_json()
token, res = userController.login(data)
if res:
return jsonify({"status" : True, "token" : token}), 200
else:
return jsonify({"status" : False, "result" : token}), 200
@app.route('/generate_content', methods=['post'])
def generate_content():
data = request.get_json()
message_list = data["message_list"]
last_content = data["last_content"]
content = GenerateContent.generate_content(message_list, last_content)
return {
"result" : content
}, 200
@app.route('/generate_question', methods=['post'])
def generate_question():
data = request.get_json()
message_list = data["message_list"]
content = GenerateContent.generate_question(message_list)
return {
"result" : content
}, 200
@app.route('/save_updated_content', methods=['post'])
def save_updated_content():
data = request.get_json()
message_list = data["message_list"]
updated_content = data["updated_content"]
res = GenerateContent.save_updated_content(message_list, updated_content )
return {
"result": res
}, 200
@app.route('/hexagon_data', methods=['post'])
def get_hexagon_data():
res = GenerateContent.get_hexagon_data()
return {
"result": res
}, 200
@app.route('/create_hexagon', methods=['post'])
def create_hexagon_data():
GenerateContent.create_hexagon_Data()
return {
"result": True
}, 200
@app.route('/get/monsters', methods=['post'])
def get_monster_data():
res = monsterController.get_monsters()
return {
"result": res
}, 200
if __name__ == '__main__':
print("Server is running on port 5000")
app.run(debug=False)