diff --git a/common/__init__.py b/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/common/view.py b/common/view.py new file mode 100644 index 0000000..4271e22 --- /dev/null +++ b/common/view.py @@ -0,0 +1 @@ +from flask_restx import Resource, Namespace diff --git a/entrance/__init__.py b/entrance/__init__.py new file mode 100644 index 0000000..e3470b0 --- /dev/null +++ b/entrance/__init__.py @@ -0,0 +1,11 @@ +from flask import Flask + +from entrance.extend.restx import sys +# from entrance.extensions import init_extensions + + +def create_app(): + app = Flask(__name__) + app.register_blueprint(sys) + # init_extensions(app) + return app diff --git a/entrance/extend/restx.py b/entrance/extend/restx.py new file mode 100644 index 0000000..c283b4f --- /dev/null +++ b/entrance/extend/restx.py @@ -0,0 +1,12 @@ +from flask import Blueprint +from flask_restx import Api + +from entrance.namespaces import namespaces + +sys = Blueprint('sys', __name__, url_prefix='/sys') + +api = Api(sys, version='1.0', title='Pear Admin Flask', + description='admin based on flask and layui', + ) +for i in namespaces: + api.add_namespace(i) diff --git a/entrance/extensions.py b/entrance/extensions.py new file mode 100644 index 0000000..0413586 --- /dev/null +++ b/entrance/extensions.py @@ -0,0 +1,8 @@ +from flask import Flask +from flask_restx import Api +from flask import Blueprint +from entrance.namespaces import namespaces + + +def init_extensions(app: Flask): + pass diff --git a/entrance/namespaces.py b/entrance/namespaces.py new file mode 100644 index 0000000..5cecb25 --- /dev/null +++ b/entrance/namespaces.py @@ -0,0 +1,7 @@ +from typing import List +from flask_restx import Namespace +from modules.sys.user import userns + +namespaces: List[Namespace] = [ + userns, +] diff --git a/modules/sys/__init__.py b/modules/sys/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/modules/sys/user.py b/modules/sys/user.py new file mode 100644 index 0000000..df241ea --- /dev/null +++ b/modules/sys/user.py @@ -0,0 +1,13 @@ +from common.view import Resource,Namespace + +userns = Namespace('aa', ordered=True) + + +@userns.route('/a') +class MyResource(Resource): + def get(self): + return {} + + @userns.response(403, 'Not Authorized') + def post(self): + userns.abort(403)