Quellcode durchsuchen

second commit push

Evgeny Polivanov vor 2 Jahren
Commit
10859f10ad
5 geänderte Dateien mit 123 neuen und 0 gelöschten Zeilen
  1. 3 0
      .gitignore
  2. 118 0
      __init__.py
  3. 2 0
      api_config.py
  4. 0 0
      static/.gitkeep
  5. 0 0
      templates/.gitkeep

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+rest_venv/
+__pycache__/
+BackendApi/

+ 118 - 0
__init__.py

@@ -0,0 +1,118 @@
+from flask import Flask, jsonify, request
+from flask_jwt_extended import JWTManager, jwt_required, get_jwt_identity, create_access_token
+from datetime import timedelta
+from FlaskApp.BackendApi.Models import RoleModel, UserModel
+from FlaskApp.BackendApi.SharixQuery import SharixQuery, ReturnData
+from FlaskApp.api_config import Config
+
+app = Flask(__name__)
+app.config.from_object(Config)
+jwt = JWTManager(app)
+db_query = SharixQuery()
+
+@app.route('/')
+def server_hello():
+	return "It`s workk!"
+
+@app.route('/auth', methods=['POST'])
+def post_auth():
+    try:
+        result = db_query.auth_query(request.get_json())
+        return gen_token(result.data.id, 5), result.code
+    except Exception as ex:
+        return err_mes(ex)   
+
+@app.route('/adduser', methods=['POST'])
+def add_user():
+    try:
+        result = db_query.add_user(request.get_json())
+        return jsonify(result.data), result.code
+    except Exception as ex:
+        return err_mes(ex)
+
+@app.route('/user/<int:id>', methods=['GET'])
+def get_user(id):
+    try:
+        result = db_query.get_user(id)
+        if type(result) == UserModel:
+            result.password = None
+            result.insys = None
+            result.id = None
+            return jsonify(result.as_dict())
+        else:
+            return result.data, result.code
+    except Exception as ex:
+        return err_mes(ex) 
+
+@app.route('/users', methods=['GET'])
+def get_show_user():
+    try:
+        data = []
+        result = db_query.get_all_user()
+        if type(result) == list:
+            for user in result:
+                user.lastlogintime = None
+                user.insys = None
+                data.append(user.as_dict())
+            return jsonify(data), 200
+        else:
+            return result.data, result.code
+    except Exception as ex:
+        return err_mes(ex) 
+
+@app.route('/deleteuser', methods=['POST'])
+def delete_user():
+    try:
+        result = db_query.delete_user_query(UserModel.id, request.get_json()["id"])
+        return jsonify(result.data), result.code
+    except Exception as ex:
+        return err_mes(ex) 
+
+@app.route('/updateuser', methods=['POST'])
+def test_api():
+    try:
+        result = db_query.update_user(request.get_json())
+        return jsonify(result.data), result.code
+    except Exception as ex:
+        return err_mes(ex) 
+
+@app.route('/roles', methods=['GET'])
+def get_all_roles():
+    try:
+        data = []
+        result = db_query.get_roles()
+        if type(result) == list:
+            for role in result:
+                data.append(role.as_dict())
+            return jsonify(data), 200
+        else:
+            return result.data, result.code
+    except Exception as ex:
+        return err_mes(ex) 
+
+@app.route('/deleterole', methods=['POST'])
+def delete_role():
+    try:
+        result = db_query.delete_role(RoleModel.id, request.get_json()["id"])
+        return result.data, result.code
+    except Exception as ex:
+        return err_mes(ex) 
+
+@app.route('/addrole', methods=['POST'])
+def add_role():
+    try:
+        result = db_query.add_role(request.get_json())
+        return result.data, result.code
+    except Exception as ex:
+        return err_mes(ex) 
+
+
+def gen_token(id, min):
+    token = {"access_token" : create_access_token(identity=id, expires_delta=timedelta(minutes=min))}
+    return jsonify(token)
+
+def err_mes(ex):
+    return jsonify({"msg":str(ex)}), 500
+
+if __name__ == '__main__':
+    app.run()

+ 2 - 0
api_config.py

@@ -0,0 +1,2 @@
+class Config:
+    SECRET_KEY = "mySecret1"

+ 0 - 0
static/.gitkeep


+ 0 - 0
templates/.gitkeep