Browse Source

A lot of changes: add class, try/except and other

WorldOfPets 2 years ago
parent
commit
2e188c77b7

+ 16 - 17
MyQuery.py

@@ -1,4 +1,3 @@
-from flask import jsonify
 from function import RestFunc
 restfunc = RestFunc()
 
@@ -9,9 +8,9 @@ class MyQuery:
             SELECT * FROM rest_user
             WHERE (rest_user.name=%s OR rest_user.email=%s) AND rest_user.password=%s;
             ''', (request_data['login_email'], request_data['login_email'], request_data['password'],), True)
-            return restfunc.gen_token(result['id'], 5), 200
+            return result 
         except Exception as ex:
-            return jsonify({"msg":str(ex)}), 500
+            return {"msg":str(ex)}, 500
     
     def add_query(self, request_data):
         try:
@@ -20,7 +19,7 @@ class MyQuery:
             WHERE rest_user.name=%s OR rest_user.email=%s;
             ''', (request_data['name'], request_data['email']))
             if(proverka):
-                return jsonify({"msg":"User exist!"}), 400
+                return {"msg":"User exist!"}, 400
             else:
                 result = restfunc.query_insert('''
                 INSERT INTO rest_user (name, birthday, lastlogintime, insys, idrole, email, password) 
@@ -32,16 +31,16 @@ class MyQuery:
                             request_data['role_id'], request_data['email'], request_data['password']))
                 return result, 201
         except Exception as ex:
-            return jsonify({"msg":str(ex)}), 500
+            return {"msg":str(ex)}, 500
     
     def get_user_query(self, id):
         try:
             result = restfunc.query_select('''
             SELECT * FROM rest_user WHERE id = %s;
             ''', (id,), True)
-            return jsonify(result), 200
+            return result, 200
         except Exception as ex:
-            return jsonify({"msg":str(ex)}), 500
+            return {"msg":str(ex)}, 500
     
     def get_all_user_query(self):
         try:
@@ -51,34 +50,34 @@ class MyQuery:
             WHERE rest_user.idrole = rest_role.id
             ORDER BY id ASC;
             ''', (), False)
-            return jsonify(result), 200
+            return result, 200
         except Exception as ex:
-            return jsonify({"msg":str(ex)}), 500
+            return {"msg":str(ex)}, 500
     
     def delete_user_query(self, request_data):
         try:
-            result = restfunc.query_delete('''
+            result = restfunc.query_delete_update('''
             DELETE FROM rest_user
             WHERE id = %s;
             ''', (request_data['id'],))
             if(result):
-                return jsonify({"msg":"Successful removal!"}), 200
+                return {"msg":"Successful removal!"}, 200
             else:
-                return jsonify({"msg":"User does not exist!"}), 400
+                return {"msg":"User does not exist!"}, 400
         except Exception as ex:
-            return jsonify({"msg":str(ex)}), 500
+            return {"msg":str(ex)}, 500
     
     def update_user_query(self, request_data, id):
         try:
-            result = restfunc.query_update(f'''
+            result = restfunc.query_delete_update(f'''
             UPDATE rest_user
             SET name = %s
             WHERE id = %s;
             ''', (request_data['name'], id))
             if(result):
-                return jsonify({"msg":"Successful update!"}), 200
+                return {"msg":"Successful update!"}, 200
             else:
-                return jsonify({"msg":"User does not exist!"}), 400
+                return {"msg":"User does not exist!"}, 400
         except Exception as ex:
-            return jsonify({"msg":str(ex)}), 500
+            return {"msg":str(ex)}, 500
             

BIN
__pycache__/MyQuery.cpython-39.pyc


BIN
__pycache__/config.cpython-39.pyc


BIN
__pycache__/connect.cpython-39.pyc


BIN
__pycache__/function.cpython-39.pyc


+ 13 - 10
api.py

@@ -1,8 +1,7 @@
-from unittest import result
 from flask import Flask, jsonify, request
 from xmpp import cli
-from function import RestFunc
-from flask_jwt_extended import JWTManager, jwt_required, get_jwt_identity
+from flask_jwt_extended import JWTManager, jwt_required, get_jwt_identity, create_access_token
+from datetime import timedelta
 
 from config import Config
 from MyQuery import MyQuery
@@ -12,18 +11,22 @@ from MyQuery import MyQuery
 #context.use_privatekey_file('server.key')
 #context.use_certificate_file('server.crt')
 ### ssl_context=context in run
-restfunc = RestFunc()
 db_query = MyQuery()
 app = Flask(__name__)
 app.config.from_object(Config)
 jwt = JWTManager(app)
 
+#Генерация токена
+def gen_token(id, minut):
+    token = {"access_token" : create_access_token(identity=id, expires_delta=timedelta(minutes=minut))}
+    return jsonify(token)
+
 #Авторизация пользователя
 @app.route('/auth', methods=['POST'])
 def post_auth():
     try:
         result = db_query.auth_query(request.get_json())
-        return result
+        return gen_token(result['id'], 5), 200
     except Exception as ex:
         return jsonify({"msg":str(ex)}), 500    
 #Добавление пользователя и проверка на сходства
@@ -31,7 +34,7 @@ def post_auth():
 def get_add():
     try:
         result = db_query.add_query(request.get_json())
-        return result
+        return jsonify(result[0]), result[1]
     except Exception as ex:
         return jsonify({"msg":str(ex)}), 500
 #Запрос на получение данных об одном пользователе
@@ -39,7 +42,7 @@ def get_add():
 def get_user(id):
     try:
         result = db_query.get_user_query(id)
-        return result
+        return jsonify(result[0]), result[1]
     except Exception as ex:
         return jsonify({"msg":str(ex)}), 500
 #Запрос на получение данных всех пользователей
@@ -47,7 +50,7 @@ def get_user(id):
 def get_show_user():
     try:
         result = db_query.get_all_user_query()
-        return result
+        return jsonify(result[0]), result[1]
     except Exception as ex:
         return jsonify({"msg":str(ex)}), 500
 #Удаление пользователя
@@ -55,7 +58,7 @@ def get_show_user():
 def delete_user():
     try:
         result = db_query.delete_user_query(request.get_json())
-        return result
+        return jsonify(result[0]), result[1]
     except Exception as ex:
         return jsonify({"msg":str(ex)}), 500
 #Обновление данных пользователя
@@ -64,7 +67,7 @@ def delete_user():
 def test_api():
     try:
         result = db_query.update_user_query(request.get_json(), get_jwt_identity())
-        return result
+        return jsonify(result[0]), result[1]
     except Exception as ex:
         return jsonify({"msg":str(ex)}), 500
 #Отправка сообщения через XMPP

+ 1 - 1
config.py

@@ -1,7 +1,7 @@
 #Подключение к базе данных
 host = "localhost"
 user = "postgres"
-password = "password"
+password = ""
 db_name = "postgres"
 SSH_H = "46.138.247.90"
 

+ 3 - 3
connect.py

@@ -1,6 +1,6 @@
 import psycopg2 as pg
 from sshtunnel import SSHTunnelForwarder
-from config import SSH_H, host, user, db_name
+from config import SSH_H, host, user, db_name, password
 
 def connect():
     try:
@@ -20,10 +20,10 @@ def connect():
             host=host,
             port=ssh_tunnel.local_bind_port,
             user=user,
-            password= "",
+            password= password,
             database=db_name
         )
-        print("Success ssh connect!")
+        print("Success database connect!")
         return conn
     except:
         print('Connection Has Failed...') 

+ 4 - 20
function.py

@@ -1,7 +1,4 @@
 from connect import connect
-from flask import jsonify
-from flask_jwt_extended import create_access_token
-from datetime import timedelta
 
 conn = connect()
 class RestFunc:
@@ -13,7 +10,7 @@ class RestFunc:
                         for i, value in enumerate(row)) for row in cursor.fetchall()]
                 return (r[0] if r else None) if one else r
         except Exception as ex:
-            return jsonify({"msg":str(ex)})
+            return {"msg":str(ex)}
 
     def query_insert(self, query, args=()):
         try:
@@ -22,20 +19,9 @@ class RestFunc:
                 conn.commit()
                 return cursor.fetchone()[0]
         except Exception as ex:
-            return jsonify({"msg":str(ex)})
+            return {"msg":str(ex)}
 
-    def query_delete(self, query, args=()):
-        try:
-            with conn.cursor() as cursor:
-                cursor.execute(query, args)
-                if(cursor.rowcount != 0):
-                    conn.commit()
-                    return True
-            return False
-        except: 
-            return False
-
-    def query_update(self, query, args=()):
+    def query_delete_update(self, query, args=()):
         try:
             with conn.cursor() as cursor:
                 cursor.execute(query, args)
@@ -56,6 +42,4 @@ class RestFunc:
         except: 
             return False
 
-    def gen_token(self, id, minut):
-        token = {"access_token" : create_access_token(identity=id, expires_delta=timedelta(minutes=minut))}
-        return jsonify(token)
+