lesscode-flask 0.0.85__tar.gz → 0.0.86__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/PKG-INFO +1 -1
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/__init__.py +1 -1
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/setup/__init__.py +3 -2
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask.egg-info/PKG-INFO +1 -1
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask.egg-info/SOURCES.txt +0 -1
- lesscode-flask-0.0.85/lesscode_flask/service/authentication_service.py +0 -106
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/README.md +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/app.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/db/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/db/datasource.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/db/executor.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/export_data/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/export_data/data_download_handler.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/log/access_log_handler.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/model/access_log.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/model/base_model.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/model/parameterized_query.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/model/response_result.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/model/user.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/service/access_log_service.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/service/base_service.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/setting/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/decorator/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/decorator/cache.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/decorator/swagger.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/file/file_exporter.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/helpers.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/oss/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/redis/redis_helper.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/request/request.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/swagger/swagger_util.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/thread/thread_utils.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/wsgi.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask.egg-info/dependency_links.txt +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask.egg-info/requires.txt +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask.egg-info/top_level.txt +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/query_runner/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/query_runner/clickhouse.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/query_runner/elasticsearch.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/query_runner/kingbase.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/query_runner/mysql.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/query_runner/pg.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/settings/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/settings/helpers.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/utils/__init__.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/redash/utils/requests_session.py +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/setup.cfg +0 -0
- {lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/setup.py +0 -0
|
@@ -4,12 +4,13 @@ from datetime import datetime
|
|
|
4
4
|
from importlib import import_module
|
|
5
5
|
from logging.handlers import TimedRotatingFileHandler
|
|
6
6
|
|
|
7
|
-
from flask import current_app
|
|
7
|
+
from flask import current_app
|
|
8
8
|
|
|
9
9
|
from lesscode_flask import download_func_dict
|
|
10
10
|
from lesscode_flask.db import db
|
|
11
11
|
from lesscode_flask.export_data.data_download_handler import convert_page, format_to_table_download, upload_result_url
|
|
12
12
|
from lesscode_flask.log.access_log_handler import AccessLogHandler
|
|
13
|
+
from lesscode_flask.model.user import User
|
|
13
14
|
from lesscode_flask.utils.swagger.swagger_template import split_doc
|
|
14
15
|
from lesscode_flask.utils.swagger.swagger_util import generate_openapi_spec, replace_symbol, get_params_type, \
|
|
15
16
|
get_sample_data
|
|
@@ -136,7 +137,7 @@ def setup_login_manager(app):
|
|
|
136
137
|
|
|
137
138
|
@login_manager.request_loader
|
|
138
139
|
def request_loader(request):
|
|
139
|
-
return
|
|
140
|
+
return User.get_user(request)
|
|
140
141
|
|
|
141
142
|
|
|
142
143
|
def setup_swagger(app):
|
|
@@ -20,7 +20,6 @@ lesscode_flask/model/parameterized_query.py
|
|
|
20
20
|
lesscode_flask/model/response_result.py
|
|
21
21
|
lesscode_flask/model/user.py
|
|
22
22
|
lesscode_flask/service/access_log_service.py
|
|
23
|
-
lesscode_flask/service/authentication_service.py
|
|
24
23
|
lesscode_flask/service/base_service.py
|
|
25
24
|
lesscode_flask/setting/__init__.py
|
|
26
25
|
lesscode_flask/setup/__init__.py
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
from urllib.parse import unquote
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
from lesscode_flask.model.user import User
|
|
6
|
-
from lesscode_flask.utils.helpers import app_config
|
|
7
|
-
from lesscode_flask.utils.redis.redis_helper import RedisHelper
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class LoadUser():
|
|
11
|
-
|
|
12
|
-
@staticmethod
|
|
13
|
-
def get_user(request):
|
|
14
|
-
# 使用token访问的用户
|
|
15
|
-
if app_config.get("GATEWAY_USER_ENABLE"):
|
|
16
|
-
user_json = request.headers.get("User", "")
|
|
17
|
-
if user_json:
|
|
18
|
-
return LoadUser.get_gateway_user(user_json)
|
|
19
|
-
# 使用token访问的用户
|
|
20
|
-
authorization = request.headers.get("Authorization", "")
|
|
21
|
-
if "Bearer " in authorization:
|
|
22
|
-
token = request.headers.get("Authorization", "").replace("Bearer ", "")
|
|
23
|
-
if token:
|
|
24
|
-
return LoadUser.get_token_user(token)
|
|
25
|
-
apikey = request.headers.get("app_key")
|
|
26
|
-
if apikey:
|
|
27
|
-
# 使用AK访问的接口用户
|
|
28
|
-
return LoadUser.get_api_user(apikey)
|
|
29
|
-
# 无任何用户信息返回 匿名用户
|
|
30
|
-
return User()
|
|
31
|
-
|
|
32
|
-
@staticmethod
|
|
33
|
-
def get_gateway_user(user_json):
|
|
34
|
-
"""
|
|
35
|
-
网关传输信息中获取用户信息
|
|
36
|
-
:param apikey:
|
|
37
|
-
:return:
|
|
38
|
-
"""
|
|
39
|
-
if user_json:
|
|
40
|
-
user_dict = json.loads(user_json)
|
|
41
|
-
if user_dict and isinstance(user_dict, dict):
|
|
42
|
-
if type(user_dict["roleIds"]) == str:
|
|
43
|
-
user_dict["roleIds"] = json.loads(user_dict["roleIds"])
|
|
44
|
-
user = User(
|
|
45
|
-
id=user_dict["id"],
|
|
46
|
-
username=user_dict["username"],
|
|
47
|
-
display_name=unquote(user_dict["display_name"]),
|
|
48
|
-
phone_no=user_dict["phone_no"],
|
|
49
|
-
permissions=user_dict.get("permissions", []),
|
|
50
|
-
roleIds=user_dict["roleIds"],
|
|
51
|
-
client_id=user_dict["client_id"]
|
|
52
|
-
)
|
|
53
|
-
return user
|
|
54
|
-
return User()
|
|
55
|
-
|
|
56
|
-
@staticmethod
|
|
57
|
-
def get_token_user(token):
|
|
58
|
-
"""
|
|
59
|
-
根据token获取用户信息。
|
|
60
|
-
|
|
61
|
-
该函数通过Redis缓存来获取用户信息。如果在缓存中找到了对应的用户数据,
|
|
62
|
-
则会创建一个User对象并返回;如果没有找到,则返回一个AnonymousUser对象。
|
|
63
|
-
|
|
64
|
-
参数:
|
|
65
|
-
- token (str): 用户的令牌。
|
|
66
|
-
|
|
67
|
-
返回:
|
|
68
|
-
- User: 如果找到了用户信息,则返回一个User对象。
|
|
69
|
-
- AnonymousUser: 如果没有找到用户信息,则返回一个AnonymousUser对象。
|
|
70
|
-
"""
|
|
71
|
-
# 生成用户缓存键
|
|
72
|
-
user_cache_key = f"oauth2:user:{token}"
|
|
73
|
-
|
|
74
|
-
# 从Redis中获取用户数据
|
|
75
|
-
user_dict = RedisHelper(app_config.get("REDIS_OAUTH_KEY", "redis")).sync_hgetall(user_cache_key)
|
|
76
|
-
|
|
77
|
-
# 检查是否获取到了用户数据
|
|
78
|
-
if user_dict:
|
|
79
|
-
# 创建并返回User对象
|
|
80
|
-
user = User(
|
|
81
|
-
id=user_dict.get("id"),
|
|
82
|
-
username=user_dict.get("username"),
|
|
83
|
-
display_name=user_dict.get("display_name"),
|
|
84
|
-
phone_no=user_dict.get("phone_no"),
|
|
85
|
-
email=user_dict.get("email"),
|
|
86
|
-
permissions=json.loads(user_dict.get("permissions")) if user_dict.get(
|
|
87
|
-
"permissions") is not None else [],
|
|
88
|
-
client_id=user_dict.get("client_id")
|
|
89
|
-
)
|
|
90
|
-
return user
|
|
91
|
-
return User()
|
|
92
|
-
|
|
93
|
-
@staticmethod
|
|
94
|
-
def get_api_user(apikey):
|
|
95
|
-
"""
|
|
96
|
-
使用API key 获取用户信息
|
|
97
|
-
:param apikey:
|
|
98
|
-
:return:
|
|
99
|
-
"""
|
|
100
|
-
cache_key = f"oauth2:user:{apikey}"
|
|
101
|
-
# 优先从缓存中获取
|
|
102
|
-
user_dict = RedisHelper(app_config.get("REDIS_OAUTH_KEY", "redis")).sync_hgetall(cache_key)
|
|
103
|
-
if user_dict:
|
|
104
|
-
user = User.to_user(user_dict)
|
|
105
|
-
return user
|
|
106
|
-
return User()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/export_data/data_download_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/service/access_log_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/json/NotSortJSONProvider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/swagger/swagger_template.py
RENAMED
|
File without changes
|
{lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask/utils/swagger/swagger_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-flask-0.0.85 → lesscode_flask-0.0.86}/lesscode_flask.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|