fastgenerateapi 0.0.26__tar.gz → 0.0.27__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.
Potentially problematic release.
This version of fastgenerateapi might be problematic. Click here for more details.
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/PKG-INFO +1 -1
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/__version__.py +1 -1
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_view.py +13 -11
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_all_view.py +3 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +5 -2
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/enum_field.py +5 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/pk_field.py +2 -4
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/update_schema_factory.py +1 -1
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/PKG-INFO +1 -1
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/LICENSE +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/README.md +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/api_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/base_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/create_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_one_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_relation_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_tree_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/sql_get_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/switch_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/update_relation_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/update_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/cache/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/cache/cache_decorator.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/cache/key_builder.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/channel/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/channel/consumer.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/channel/websocket_view.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/filter_controller.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/router_controller.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/rpc_controller.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/search_controller.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/ws_controller.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/data_type/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/data_type/data_type.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/filter_params_deps.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/paginator_deps.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/tree_params_deps.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/models.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/routers.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/schemas.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/views.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/aes_field.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/pwd_field.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/common_function.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/settings/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/settings/register_settings.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/settings/settings.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/__init__.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/aes.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/exception.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/parse_str.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/snowflake.py +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/top_level.txt +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/setup.cfg +0 -0
- {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/setup.py +0 -0
|
@@ -28,19 +28,21 @@ class DeleteView(BaseView):
|
|
|
28
28
|
queryset = await self.get_del_queryset(request_data=request_data, *args, **kwargs)
|
|
29
29
|
await self.delete_queryset(queryset)
|
|
30
30
|
|
|
31
|
-
# if unique_fields := self._get_unique_fields(self.model_class):
|
|
32
|
-
# for model in await queryset:
|
|
33
|
-
# model.is_active = False
|
|
34
|
-
# for field in unique_fields:
|
|
35
|
-
# try:
|
|
36
|
-
# setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
|
|
37
|
-
# except Exception as e:
|
|
38
|
-
# setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
|
|
39
|
-
# await model.save()
|
|
40
|
-
# else:
|
|
41
|
-
# await queryset.update(is_active=False)
|
|
42
31
|
return
|
|
43
32
|
|
|
33
|
+
# 弃用思路:唯一字段加时间戳
|
|
34
|
+
# if unique_fields := self._get_unique_fields(self.model_class):
|
|
35
|
+
# for model in await queryset:
|
|
36
|
+
# model.is_active = False
|
|
37
|
+
# for field in unique_fields:
|
|
38
|
+
# try:
|
|
39
|
+
# setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
|
|
40
|
+
# except Exception as e:
|
|
41
|
+
# setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
|
|
42
|
+
# await model.save()
|
|
43
|
+
# else:
|
|
44
|
+
# await queryset.update(is_active=False)
|
|
45
|
+
|
|
44
46
|
async def get_del_queryset(self, request_data, *args, **kwargs):
|
|
45
47
|
queryset = self.queryset.filter(id__in=request_data.id_list)
|
|
46
48
|
return queryset
|
|
@@ -130,6 +130,9 @@ class GetAllView(BaseView, GetMixin):
|
|
|
130
130
|
settings.app_settings.LIST_RESPONSE_FIELD: data_list,
|
|
131
131
|
})
|
|
132
132
|
|
|
133
|
+
def get_page_list(self, page_result: BaseModel):
|
|
134
|
+
return getattr(page_result, settings.app_settings.LIST_RESPONSE_FIELD, [])
|
|
135
|
+
|
|
133
136
|
def _get_all_decorator(self, *args: Any, **kwargs: Any) -> DecoratedCallable:
|
|
134
137
|
@get_all_cache_decorator(cache(expire=settings.app_settings.CACHE_GET_ALL_SECONDS, coder=JsonCoder, key_builder=generate_key_builder))
|
|
135
138
|
async def route(
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py
RENAMED
|
@@ -84,9 +84,12 @@ class DBModelMixin:
|
|
|
84
84
|
return []
|
|
85
85
|
|
|
86
86
|
@staticmethod
|
|
87
|
-
def _get_foreign_key_fields(model_class: Type[Model] = None) -> List[str]:
|
|
87
|
+
def _get_foreign_key_fields(model_class: Type[Model] = None, is_with_id: bool = True) -> List[str]:
|
|
88
88
|
try:
|
|
89
|
-
|
|
89
|
+
fields = list(model_class._meta.fk_fields)
|
|
90
|
+
if is_with_id:
|
|
91
|
+
fields = [field + "_id" for field in fields]
|
|
92
|
+
return fields
|
|
90
93
|
except:
|
|
91
94
|
return []
|
|
92
95
|
|
|
@@ -51,6 +51,8 @@ class IntEnumField(IntEnumFieldInstance):
|
|
|
51
51
|
Converts from the Python type to the DB type.
|
|
52
52
|
"""
|
|
53
53
|
if value is not None:
|
|
54
|
+
if isinstance(value, IntEnumClass):
|
|
55
|
+
value = value.value
|
|
54
56
|
value = int(value) # pylint: disable=E1102
|
|
55
57
|
if value > len(self.enum_list) or 0 > value:
|
|
56
58
|
raise HTTPException(detail=f"枚举值:{value} 校验失败。【{self.description}】", status_code=422)
|
|
@@ -125,6 +127,9 @@ class IntEnumClass:
|
|
|
125
127
|
def __str__(self):
|
|
126
128
|
return f"{self.value}"
|
|
127
129
|
|
|
130
|
+
def __int__(self):
|
|
131
|
+
return self.value
|
|
132
|
+
|
|
128
133
|
@property
|
|
129
134
|
def name(self):
|
|
130
135
|
try:
|
|
@@ -29,10 +29,8 @@ class PrimaryKeyField(Field[str], str):
|
|
|
29
29
|
allows_generated = True
|
|
30
30
|
|
|
31
31
|
def __init__(self, **kwargs: Any) -> None:
|
|
32
|
-
kwargs
|
|
33
|
-
kwargs
|
|
34
|
-
kwargs["description"] = "主键"
|
|
35
|
-
kwargs["default"] = worker.get_id
|
|
32
|
+
kwargs.setdefault("description", "主键")
|
|
33
|
+
kwargs.setdefault("default", worker.get_id)
|
|
36
34
|
super().__init__(pk=True, **kwargs)
|
|
37
35
|
|
|
38
36
|
def to_db_value(self, value: Any, instance: "Union[Type[Model], Model]") -> Any:
|
|
@@ -43,7 +43,7 @@ def update_schema_factory(
|
|
|
43
43
|
all_fields_info.update(update_include_fields_dict)
|
|
44
44
|
include_fields.update(update_include_fields_dict.keys())
|
|
45
45
|
if hasattr(model_class.PydanticMeta, "save_exclude"):
|
|
46
|
-
exclude_fields.update(model_class.PydanticMeta.
|
|
46
|
+
exclude_fields.update(model_class.PydanticMeta.save_exclude)
|
|
47
47
|
if hasattr(model_class.PydanticMeta, "update_exclude"):
|
|
48
48
|
exclude_fields.update(model_class.PydanticMeta.update_exclude)
|
|
49
49
|
else:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_filter_view.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_tree_view.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_relation_view.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/__init__.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/base_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/get_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/response_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/save_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/tool_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/update_relation_view.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
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/filter_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/router_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/rpc_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/search_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/ws_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/data_type/mysql_data_type.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/filter_params_deps.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
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/soft_delete_field.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/__init__.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/base_model.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/json_encoders.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/__init__.py
RENAMED
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/common_function.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
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/settings/register_settings.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
|
{fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|