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.

Files changed (86) hide show
  1. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/PKG-INFO +1 -1
  2. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/__version__.py +1 -1
  3. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_view.py +13 -11
  4. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_all_view.py +3 -0
  5. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +5 -2
  6. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/enum_field.py +5 -0
  7. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/pk_field.py +2 -4
  8. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/update_schema_factory.py +1 -1
  9. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/PKG-INFO +1 -1
  10. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/LICENSE +0 -0
  11. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/README.md +0 -0
  12. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/__init__.py +0 -0
  13. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/__init__.py +0 -0
  14. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/api_view.py +0 -0
  15. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/base_view.py +0 -0
  16. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/create_view.py +0 -0
  17. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
  18. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
  19. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_one_view.py +0 -0
  20. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_relation_view.py +0 -0
  21. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/get_tree_view.py +0 -0
  22. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
  23. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
  24. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
  25. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
  26. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
  27. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
  28. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/sql_get_view.py +0 -0
  29. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/switch_view.py +0 -0
  30. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/update_relation_view.py +0 -0
  31. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/api_view/update_view.py +0 -0
  32. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/cache/__init__.py +0 -0
  33. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/cache/cache_decorator.py +0 -0
  34. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/cache/key_builder.py +0 -0
  35. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/channel/__init__.py +0 -0
  36. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/channel/consumer.py +0 -0
  37. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/channel/websocket_view.py +0 -0
  38. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/__init__.py +0 -0
  39. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/filter_controller.py +0 -0
  40. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/router_controller.py +0 -0
  41. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/rpc_controller.py +0 -0
  42. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/search_controller.py +0 -0
  43. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/controller/ws_controller.py +0 -0
  44. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/data_type/__init__.py +0 -0
  45. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/data_type/data_type.py +0 -0
  46. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
  47. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/__init__.py +0 -0
  48. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/filter_params_deps.py +0 -0
  49. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/paginator_deps.py +0 -0
  50. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/deps/tree_params_deps.py +0 -0
  51. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/__init__.py +0 -0
  52. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/models.py +0 -0
  53. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/routers.py +0 -0
  54. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/schemas.py +0 -0
  55. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/example/views.py +0 -0
  56. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/__init__.py +0 -0
  57. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/aes_field.py +0 -0
  58. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/pwd_field.py +0 -0
  59. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
  60. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
  61. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
  62. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
  63. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/__init__.py +0 -0
  64. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/common_function.py +0 -0
  65. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
  66. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
  67. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
  68. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
  69. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
  70. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
  71. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
  72. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
  73. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
  74. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/settings/__init__.py +0 -0
  75. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/settings/register_settings.py +0 -0
  76. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/settings/settings.py +0 -0
  77. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/__init__.py +0 -0
  78. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/aes.py +0 -0
  79. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/exception.py +0 -0
  80. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/parse_str.py +0 -0
  81. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi/utils/snowflake.py +0 -0
  82. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
  83. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
  84. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/fastgenerateapi.egg-info/top_level.txt +0 -0
  85. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/setup.cfg +0 -0
  86. {fastgenerateapi-0.0.26 → fastgenerateapi-0.0.27}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 0.0.26
3
+ Version: 0.0.27
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -8,7 +8,7 @@
8
8
  # d8888P
9
9
 
10
10
 
11
- VERSION = (0, 0, 26)
11
+ VERSION = (0, 0, 27)
12
12
 
13
13
  __version__ = '.'.join(map(str, VERSION))
14
14
 
@@ -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(
@@ -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
- return list(model_class._meta.fk_fields)
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["generated"] = False
33
- kwargs["unique"] = True
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.update_exclude)
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 0.0.26
3
+ Version: 0.0.27
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com