-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.py
107 lines (91 loc) · 3.38 KB
/
app.py
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
106
107
from flask import Flask, jsonify, request
import controller
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Welcome to User Authorization Page!'
@app.route('/users/<int:page_number>/<int:page_size>', methods=['GET'])
def users_list(page_number:int, page_size:int):
result = {'data':'', 'error':''}
code = 200
try:
final_list = controller.list_of_users(page_number, page_size)
result['data'] = final_list
except Exception as e:
result['error']=repr(e)
print(result) # выводим лог в stdout
code = 400
return jsonify(result), code
@app.route('/user', methods=['POST'])
def user_registration():
json = request.get_json() # получаем json из POST запроса
login = json['login']
password = json['password']
result = {'data': '', 'error': ''}
code = 200
try:
controller.registration(login, password) # пытаемся зарегистрировать пользователя
result['data'] = 'new user has been registered successfully'
except Exception as e:
result['error'] = repr(e)
print(result) # выводим лог в stdout
code = 400
return jsonify(result), code
@app.route('/user/<int:id>', methods=['GET'])
def get_user_id(id:int):
result = {'data': '', 'error': ''}
code = 200
try:
login = controller.get_user_info(id) # пытаемся получить информацию о пользователе по ID
result['data'] = login
except Exception as e:
result['error'] = repr(e)
print(result) # выводим лог в stdout
code = 400
return jsonify(result), code
@app.route('/user', methods=['DELETE'])
def delete_info():
json = request.get_json(force=True)
user_id = json['user_id']
result = {'data': '', 'error': ''}
code = 200
try:
report = controller.delete_user(user_id) # пытаемся удалить информацию о пользователе по ID
result['data'] = report
except Exception as e:
result['error'] = repr(e)
print(result) # выводим лог в stdout
code = 400
return jsonify(result), code
@app.route('/user', methods=['PATCH'])
def update_info():
json = request.get_json(force=True)
user_id = json['user_id']
password = json['password']
result = {'data': '', 'error': ''}
code = 200
try:
report = controller.update_user(user_id, password) # пытаемся удалить информацию о пользователе по ID
result['data'] = report
except Exception as e:
result['error'] = repr(e)
print(result) # выводим лог в stdout
code = 400
return jsonify(result), code
@app.route('/login', methods=['POST'])
def user_auth():
json = request.get_json(force=True)
login = json['login']
password = json['password']
result = {'data': '', 'error': ''}
code = 200
try:
token = controller.auth(login, password) # пытаемся пройти аутентификацию и получить JWT токен
result['data'] = str(token)
except Exception as e:
result['error'] = repr(e)
print(result) # выводим лог в stdout
code = 400
return jsonify(result), code
if __name__ == '__main__':
app.run()