|
@@ -1,112 +1,73 @@
|
|
|
-from array import array
|
|
|
+from unittest import result
|
|
|
from flask import Flask, jsonify, request
|
|
|
from xmpp import cli
|
|
|
-from function import MyQueryClass
|
|
|
-from flask_jwt_extended import JWTManager, create_access_token, jwt_required, get_jwt_identity
|
|
|
-from datetime import datetime, timedelta
|
|
|
+from function import RestFunc
|
|
|
+from flask_jwt_extended import JWTManager, jwt_required, get_jwt_identity
|
|
|
+
|
|
|
from config import Config
|
|
|
+from MyQuery import MyQuery
|
|
|
#from OpenSSL import SSL
|
|
|
|
|
|
#context = SSL.Context(SSL.PROTOCOL_TLSv1_2)
|
|
|
#context.use_privatekey_file('server.key')
|
|
|
#context.use_certificate_file('server.crt')
|
|
|
### ssl_context=context in run
|
|
|
-myquery = MyQueryClass()
|
|
|
+restfunc = RestFunc()
|
|
|
+db_query = MyQuery()
|
|
|
app = Flask(__name__)
|
|
|
app.config.from_object(Config)
|
|
|
-jwt1 = JWTManager(app)
|
|
|
+jwt = JWTManager(app)
|
|
|
|
|
|
+#Авторизация пользователя
|
|
|
@app.route('/auth', methods=['POST'])
|
|
|
def post_auth():
|
|
|
- request_data =request.get_json()
|
|
|
- loginemail = request_data['login_email']
|
|
|
-
|
|
|
- result = myquery.query_select('''
|
|
|
- SELECT * FROM rest_user
|
|
|
- WHERE (rest_user.name=%s OR rest_user.email=%s) AND rest_user.password=%s;
|
|
|
- ''', (loginemail, loginemail, request_data['password'],), True)
|
|
|
- if(result != False):
|
|
|
- return gen_token(result['id'], 5), 201
|
|
|
- else:
|
|
|
- return jsonify({"msg":"Server error!"}), 500
|
|
|
-
|
|
|
-def gen_token(id, minut):
|
|
|
- token = {"access_token" : create_access_token(identity=id, expires_delta=timedelta(minutes=minut))}
|
|
|
- return jsonify(token)
|
|
|
-
|
|
|
+ try:
|
|
|
+ result = db_query.auth_query(request.get_json())
|
|
|
+ return result
|
|
|
+ except Exception as ex:
|
|
|
+ return jsonify({"msg":str(ex)}), 500
|
|
|
+#Добавление пользователя и проверка на сходства
|
|
|
@app.route('/adduser', methods=['POST'])
|
|
|
def get_add():
|
|
|
- request_data = request.get_json()
|
|
|
- proverka = myquery.query_proverka('''
|
|
|
- SELECT * FROM rest_user
|
|
|
- WHERE rest_user.name=%s OR rest_user.email=%s;
|
|
|
- ''', (request_data['name'], request_data['email']))
|
|
|
- if(proverka):
|
|
|
- return jsonify({'msg':"User exist!"})
|
|
|
- else:
|
|
|
- result = myquery.query_insert('''
|
|
|
- INSERT INTO rest_user (name, birthday, lastlogintime, insys, idrole, email, password)
|
|
|
- VALUES (%s, %s, %s, %s, %s, %s, %s)
|
|
|
- RETURNING id;
|
|
|
- ''', \
|
|
|
- (request_data['name'], request_data['reg_date'],\
|
|
|
- request_data['log_time'], request_data['in_sys'],\
|
|
|
- request_data['role_id'], request_data['email'], request_data['password']))
|
|
|
- if(result != False):
|
|
|
- return jsonify(result), 201
|
|
|
- else:
|
|
|
- return jsonify({"msg":"Server error!"}), 500
|
|
|
-
|
|
|
+ try:
|
|
|
+ result = db_query.add_query(request.get_json())
|
|
|
+ return result
|
|
|
+ except Exception as ex:
|
|
|
+ return jsonify({"msg":str(ex)}), 500
|
|
|
+#Запрос на получение данных об одном пользователе
|
|
|
@app.route('/user/<int:id>', methods=['GET'])
|
|
|
def get_user(id):
|
|
|
- return jsonify(myquery.query_select('''
|
|
|
- SELECT * FROM rest_user WHERE id = %s;
|
|
|
- ''', (id,), True)), 200
|
|
|
-
|
|
|
+ try:
|
|
|
+ result = db_query.get_user_query(id)
|
|
|
+ return result
|
|
|
+ except Exception as ex:
|
|
|
+ return jsonify({"msg":str(ex)}), 500
|
|
|
+#Запрос на получение данных всех пользователей
|
|
|
@app.route('/users', methods=['GET'])
|
|
|
-#@jwt_required()
|
|
|
def get_show_user():
|
|
|
- result = myquery.query_select('''
|
|
|
- SELECT rest_user.id, rest_user.name, rest_user.birthday, rest_user.insys, rest_role.name AS role_name, rest_user.lastlogintime, rest_user.email, rest_user.password
|
|
|
- FROM rest_user, rest_role
|
|
|
- WHERE rest_user.idrole = rest_role.id
|
|
|
- ORDER BY id ASC;
|
|
|
- ''', (), False)
|
|
|
- if(result != False):
|
|
|
- return jsonify(result), 200
|
|
|
- else:
|
|
|
- return jsonify({"msg":"Server error!"}), 500
|
|
|
-
|
|
|
+ try:
|
|
|
+ result = db_query.get_all_user_query()
|
|
|
+ return result
|
|
|
+ except Exception as ex:
|
|
|
+ return jsonify({"msg":str(ex)}), 500
|
|
|
+#Удаление пользователя
|
|
|
@app.route('/deleteuser', methods=['POST'])
|
|
|
def delete_user():
|
|
|
- request_data = request.get_json()
|
|
|
- result = myquery.query_delete('''
|
|
|
- DELETE FROM rest_user
|
|
|
- WHERE id = %s;
|
|
|
- ''', (request_data['id'],))
|
|
|
- if(result):
|
|
|
- return jsonify({"msg":"Success delete!"}), 200
|
|
|
- else:
|
|
|
- return jsonify({"msg":"Server error!"}), 500
|
|
|
-
|
|
|
+ try:
|
|
|
+ result = db_query.delete_user_query(request.get_json())
|
|
|
+ return result
|
|
|
+ except Exception as ex:
|
|
|
+ return jsonify({"msg":str(ex)}), 500
|
|
|
+#Обновление данных пользователя
|
|
|
@app.route('/updateuser', methods=['POST'])
|
|
|
@jwt_required()
|
|
|
def test_api():
|
|
|
try:
|
|
|
- request_data = request.get_json()
|
|
|
- result = myquery.query_update(f'''
|
|
|
- UPDATE rest_user
|
|
|
- SET name = %s
|
|
|
- WHERE id = %s;
|
|
|
- ''', (request_data['name'], get_jwt_identity()))
|
|
|
- if(result):
|
|
|
- return jsonify({"msg":"Success update!"}), 200
|
|
|
- else:
|
|
|
- return jsonify({"msg":"User not found!"}), 400
|
|
|
- except:
|
|
|
- return jsonify({"msg":"Server error!"}), 500
|
|
|
-
|
|
|
-
|
|
|
+ result = db_query.update_user_query(request.get_json(), get_jwt_identity())
|
|
|
+ return result
|
|
|
+ except Exception as ex:
|
|
|
+ return jsonify({"msg":str(ex)}), 500
|
|
|
+#Отправка сообщения через XMPP
|
|
|
@app.route('/testmessage', methods=['POST'])
|
|
|
def send_mess():
|
|
|
try:
|