lesscode-flask 0.0.50__tar.gz → 0.0.52__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.50 → lesscode_flask-0.0.52}/PKG-INFO +1 -1
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/__init__.py +1 -1
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/base_service.py +6 -5
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/setting/__init__.py +1 -1
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/setup/__init__.py +18 -14
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask.egg-info/PKG-INFO +1 -1
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/README.md +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/app.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/db/__init__.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/db/datasource.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/db/executor.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/log/access_log_handler.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/model/access_log.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/model/auth_client.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/model/auth_permission.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/model/base_model.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/model/parameterized_query.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/model/response_result.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/model/user.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/access_log_service.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/auth_client_service.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/auth_permission_service.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/authentication_service.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/__init__.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/decorator/__init__.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/decorator/cache.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/decorator/swagger.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/file/file_exporter.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/helpers.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/oss/__init__.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/redis/redis_helper.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/request/request.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/swagger/swagger_util.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/wsgi.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask.egg-info/SOURCES.txt +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask.egg-info/dependency_links.txt +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask.egg-info/requires.txt +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask.egg-info/top_level.txt +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/query_runner/__init__.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/query_runner/clickhouse.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/query_runner/elasticsearch.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/query_runner/kingbase.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/query_runner/mysql.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/query_runner/pg.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/settings/__init__.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/settings/helpers.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/utils/__init__.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/redash/utils/requests_session.py +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/setup.cfg +0 -0
- {lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/setup.py +0 -0
|
@@ -57,11 +57,12 @@ class BaseService:
|
|
|
57
57
|
item.create_user_id = "AnonymousUserId"
|
|
58
58
|
if hasattr(item, "create_user_name"):
|
|
59
59
|
item.create_user_name = "匿名用户"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
if items:
|
|
61
|
+
db.session.execute(
|
|
62
|
+
self.model.__table__.insert(),
|
|
63
|
+
items
|
|
64
|
+
)
|
|
65
|
+
db.session.commit()
|
|
65
66
|
return items
|
|
66
67
|
|
|
67
68
|
def update_item(self, id: str, item: dict):
|
|
@@ -7,7 +7,6 @@ from datetime import datetime
|
|
|
7
7
|
|
|
8
8
|
from logging.handlers import TimedRotatingFileHandler
|
|
9
9
|
|
|
10
|
-
import httpx
|
|
11
10
|
import redis
|
|
12
11
|
from flask import current_app
|
|
13
12
|
from flask_login import LoginManager
|
|
@@ -18,7 +17,8 @@ from lesscode_flask.log.access_log_handler import AccessLogHandler
|
|
|
18
17
|
from lesscode_flask.model.user import AnonymousUser, User
|
|
19
18
|
from lesscode_flask.service.authentication_service import get_token_user, get_api_user, get_gateway_user
|
|
20
19
|
from lesscode_flask.utils.swagger.swagger_template import split_doc
|
|
21
|
-
from lesscode_flask.utils.swagger.swagger_util import generate_openapi_spec, replace_symbol, get_params_type,
|
|
20
|
+
from lesscode_flask.utils.swagger.swagger_util import generate_openapi_spec, replace_symbol, get_params_type, \
|
|
21
|
+
get_sample_data
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
def setup_logging(app):
|
|
@@ -211,10 +211,10 @@ def setup_resource_register(app):
|
|
|
211
211
|
"description": param_desc_dict[arg] if param_desc_dict.get(arg) else f"Path parameter {arg}",
|
|
212
212
|
}
|
|
213
213
|
if param.default is inspect.Parameter.empty:
|
|
214
|
-
param_info["required"] =
|
|
214
|
+
param_info["required"] = 1
|
|
215
215
|
param_info["example"] = get_sample_data(param.annotation.__name__)
|
|
216
216
|
else:
|
|
217
|
-
param_info["required"] =
|
|
217
|
+
param_info["required"] = 0
|
|
218
218
|
param_info["default"] = param.default
|
|
219
219
|
param_info["example"] = param.default
|
|
220
220
|
parameters.append(param_info)
|
|
@@ -227,7 +227,6 @@ def setup_resource_register(app):
|
|
|
227
227
|
# 提取查询参数和表单参数
|
|
228
228
|
sig = inspect.signature(view_func)
|
|
229
229
|
|
|
230
|
-
required = []
|
|
231
230
|
for arg, param in sig.parameters.items():
|
|
232
231
|
param_info = {
|
|
233
232
|
"name": param.name,
|
|
@@ -237,14 +236,12 @@ def setup_resource_register(app):
|
|
|
237
236
|
}
|
|
238
237
|
# 如果默认值是空,则是必填参数
|
|
239
238
|
if param.default is inspect.Parameter.empty:
|
|
240
|
-
if (not_allow_list and arg not in not_allow_list) or not not_allow_list:
|
|
241
|
-
required.append(arg)
|
|
242
239
|
|
|
243
240
|
param_info["example"] = get_sample_data(param.annotation.__name__)
|
|
244
|
-
param_info["required"] =
|
|
241
|
+
param_info["required"] = 1
|
|
245
242
|
else:
|
|
246
243
|
param_info["default"] = param.default
|
|
247
|
-
param_info["required"] =
|
|
244
|
+
param_info["required"] = 0
|
|
248
245
|
if param.default is not None:
|
|
249
246
|
param_info["example"] = param.default
|
|
250
247
|
else:
|
|
@@ -266,7 +263,7 @@ def setup_resource_register(app):
|
|
|
266
263
|
param_list.append({
|
|
267
264
|
"name": arg,
|
|
268
265
|
"in": "path",
|
|
269
|
-
"required":
|
|
266
|
+
"required": 1,
|
|
270
267
|
"description": param_desc_dict[arg] if param_desc_dict.get(arg) else f"Path parameter {arg}",
|
|
271
268
|
"example": "",
|
|
272
269
|
"default": "",
|
|
@@ -300,7 +297,8 @@ def setup_resource_register(app):
|
|
|
300
297
|
"is_deleted": 0,
|
|
301
298
|
"create_user_id": "-",
|
|
302
299
|
"create_user_name": "-",
|
|
303
|
-
"create_time": str(datetime.now())
|
|
300
|
+
"create_time": str(datetime.now()),
|
|
301
|
+
"param_list": param_list
|
|
304
302
|
}
|
|
305
303
|
return resource
|
|
306
304
|
|
|
@@ -308,17 +306,19 @@ def setup_resource_register(app):
|
|
|
308
306
|
resource_list = []
|
|
309
307
|
url_rules_dict = {}
|
|
310
308
|
for blueprint_name, blueprint in app.blueprints.items():
|
|
309
|
+
group_key = f'{blueprint_name}|{blueprint.url_prefix}'
|
|
311
310
|
if blueprint.url_prefix not in ["/swagger-ui"]:
|
|
312
|
-
url_rules_dict[
|
|
311
|
+
url_rules_dict[group_key] = []
|
|
313
312
|
# 遍历全局 URL 规则
|
|
314
313
|
for rule in app.url_map.iter_rules():
|
|
315
314
|
# 筛选出属于当前蓝图的规则
|
|
316
315
|
if rule.endpoint.startswith(f"{blueprint_name}."):
|
|
317
|
-
url_rules_dict[
|
|
316
|
+
url_rules_dict[group_key].append(rule)
|
|
318
317
|
|
|
319
318
|
for parent_resource in url_rules_dict:
|
|
320
319
|
symbol = uuid.uuid1().hex
|
|
321
|
-
|
|
320
|
+
label, url = parent_resource.split("|")
|
|
321
|
+
resource = package_resource(label=label, symbol=symbol, url=url, access=0, type=0)
|
|
322
322
|
resource["children"] = []
|
|
323
323
|
|
|
324
324
|
for child_resource in url_rules_dict[parent_resource]:
|
|
@@ -351,6 +351,10 @@ def setup_resource_register(app):
|
|
|
351
351
|
package_resource(label="", symbol=child_resource.rule, access=1, type=2, url=child_resource.rule,
|
|
352
352
|
description=description, param_list=param_list))
|
|
353
353
|
resource_list.append(resource)
|
|
354
|
+
try:
|
|
355
|
+
httpx = importlib.import_module("httpx")
|
|
356
|
+
except ImportError as e:
|
|
357
|
+
raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
|
|
354
358
|
with httpx.Client(**{"timeout": None}) as session:
|
|
355
359
|
try:
|
|
356
360
|
res = session.request("post", url=current_app.config.get(
|
|
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
|
{lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/access_log_service.py
RENAMED
|
File without changes
|
{lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/auth_client_service.py
RENAMED
|
File without changes
|
{lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/auth_permission_service.py
RENAMED
|
File without changes
|
{lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/service/authentication_service.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.50 → lesscode_flask-0.0.52}/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.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/swagger/swagger_template.py
RENAMED
|
File without changes
|
{lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/lesscode_flask/utils/swagger/swagger_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode_flask-0.0.50 → lesscode_flask-0.0.52}/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
|