fastgenerateapi 1.1.9__tar.gz → 1.1.11__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.
Files changed (115) hide show
  1. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/PKG-INFO +1 -1
  2. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/__version__.py +1 -1
  3. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/channel/connection_manager.py +8 -0
  4. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/channel/consumer.py +2 -2
  5. fastgenerateapi-1.1.11/fastgenerateapi/settings/all_settings.py +98 -0
  6. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/db_settings.py +0 -1
  7. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/file_settings.py +1 -2
  8. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi.egg-info/PKG-INFO +1 -1
  9. fastgenerateapi-1.1.9/fastgenerateapi/settings/all_settings.py +0 -91
  10. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/LICENSE +0 -0
  11. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/README.md +0 -0
  12. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/__init__.py +0 -0
  13. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/__init__.py +0 -0
  14. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/api_view.py +0 -0
  15. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/base_view.py +0 -0
  16. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/create_view.py +0 -0
  17. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
  18. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
  19. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/delete_view.py +0 -0
  20. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/get_all_view.py +0 -0
  21. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/get_one_view.py +0 -0
  22. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/get_relation_view.py +0 -0
  23. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/get_tree_view.py +0 -0
  24. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
  25. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
  26. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +0 -0
  27. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
  28. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
  29. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
  30. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
  31. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/utils/__init__.py +0 -0
  32. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/utils/docx_util.py +0 -0
  33. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/utils/file_util.py +0 -0
  34. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/utils/pdf_util.py +0 -0
  35. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py +0 -0
  36. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/mixin/utils/zip_util.py +0 -0
  37. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/sql_get_view.py +0 -0
  38. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/switch_view.py +0 -0
  39. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/update_relation_view.py +0 -0
  40. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/api_view/update_view.py +0 -0
  41. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/cache/__init__.py +0 -0
  42. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/cache/cache_decorator.py +0 -0
  43. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/cache/key_builder.py +0 -0
  44. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/channel/__init__.py +0 -0
  45. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/channel/websocket_view.py +0 -0
  46. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/controller/__init__.py +0 -0
  47. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/controller/filter_controller.py +0 -0
  48. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/controller/router_controller.py +0 -0
  49. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/controller/rpc_controller.py +0 -0
  50. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/controller/search_controller.py +0 -0
  51. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/controller/ws_controller.py +0 -0
  52. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/data_type/__init__.py +0 -0
  53. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/data_type/data_type.py +0 -0
  54. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
  55. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/deps/__init__.py +0 -0
  56. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/deps/filter_params_deps.py +0 -0
  57. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/deps/paginator_deps.py +0 -0
  58. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/deps/tree_params_deps.py +0 -0
  59. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/example/__init__.py +0 -0
  60. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/example/models.py +0 -0
  61. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/example/routers.py +0 -0
  62. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/example/schemas.py +0 -0
  63. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/example/views.py +0 -0
  64. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/fastapi_utils/__init__.py +0 -0
  65. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/fastapi_utils/all.py +0 -0
  66. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/fastapi_utils/param_utils.py +0 -0
  67. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/fastapi_utils/response_utils.py +0 -0
  68. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/model/__init__.py +0 -0
  69. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/model/base_model.py +0 -0
  70. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/my_fields/__init__.py +0 -0
  71. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/my_fields/aes_field.py +0 -0
  72. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/my_fields/enum_field.py +0 -0
  73. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/my_fields/pk_field.py +0 -0
  74. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/my_fields/pwd_field.py +0 -0
  75. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
  76. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/my_fields/validator.py +0 -0
  77. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
  78. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
  79. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/pydantic_utils/base_settings.py +0 -0
  80. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
  81. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/__init__.py +0 -0
  82. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/common_function.py +0 -0
  83. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
  84. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
  85. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
  86. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
  87. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
  88. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
  89. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
  90. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
  91. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
  92. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/schemas_factory/update_schema_factory.py +0 -0
  93. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/__init__.py +0 -0
  94. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/app_settings.py +0 -0
  95. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/jwt_settings.py +0 -0
  96. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/otlp_settings.py +0 -0
  97. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/redis_settings.py +0 -0
  98. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/sms_settings.py +0 -0
  99. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/settings/system_settings.py +0 -0
  100. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/__init__.py +0 -0
  101. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/aes.py +0 -0
  102. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/auto_discover.py +0 -0
  103. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/exception.py +0 -0
  104. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/file_utils.py +0 -0
  105. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/pwd_utils.py +0 -0
  106. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/ramdom_utils.py +0 -0
  107. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/snowflake.py +0 -0
  108. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/str_util.py +0 -0
  109. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi/utils/swagger_to_js.py +0 -0
  110. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
  111. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
  112. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/fastgenerateapi.egg-info/top_level.txt +0 -0
  113. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/script/__init__.py +0 -0
  114. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/setup.cfg +0 -0
  115. {fastgenerateapi-1.1.9 → fastgenerateapi-1.1.11}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.1.9
3
+ Version: 1.1.11
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 = (1, 1, 9)
11
+ VERSION = (1, 1, 11)
12
12
 
13
13
  __version__ = '.'.join(map(str, VERSION))
14
14
 
@@ -9,15 +9,22 @@ class ConnectionManager:
9
9
 
10
10
  @classmethod
11
11
  def add_connection(cls, user_id: str, websocket: WebSocket):
12
+ conn = cls.active_connections.get(user_id)
13
+ if conn:
14
+ conn.close()
12
15
  cls.active_connections[user_id] = websocket
13
16
 
14
17
  @classmethod
15
18
  def del_connection(cls, user_id: str):
16
19
  if user_id in cls.active_connections:
20
+ cls.active_connections[user_id].close()
17
21
  del cls.active_connections[user_id]
18
22
 
19
23
  @classmethod
20
24
  def add_group_connection(cls, group_id: str, user_id: str, connection: WebSocket):
25
+ conn = cls.active_group_connections.get(group_id, {}).get(user_id)
26
+ if conn:
27
+ conn.close()
21
28
  cls.active_group_connections.setdefault(group_id, {})[user_id] = connection
22
29
 
23
30
  @classmethod
@@ -25,6 +32,7 @@ class ConnectionManager:
25
32
  if group_id in cls.active_group_connections:
26
33
  user_dict = cls.active_group_connections[group_id]
27
34
  if user_id in user_dict:
35
+ user_dict[user_id].close()
28
36
  del user_dict[user_id]
29
37
  if not user_dict:
30
38
  del cls.active_group_connections[group_id]
@@ -36,7 +36,7 @@ class Consumer(WebSocketEndpoint):
36
36
  # 断开 删除
37
37
  async def on_disconnect(self, websocket, close_code):
38
38
  if self.group_id and self.user_id:
39
- await ConnectionManager.del_group_connection(self.group_id, self.user_id)
39
+ ConnectionManager.del_group_connection(self.group_id, self.user_id)
40
40
  pass
41
41
 
42
42
  async def check_args(self, group_id, user_id):
@@ -56,7 +56,7 @@ class Consumer(WebSocketEndpoint):
56
56
  await self.error(websocket, code=422, msg="未获取到用户信息")
57
57
  if not await self.check_args(group_id, user_key):
58
58
  await self.error(websocket, code=422, msg="无连接权限")
59
- await ConnectionManager.add_group_connection(group_id, user_key, websocket)
59
+ ConnectionManager.add_group_connection(group_id, user_key, websocket)
60
60
 
61
61
  # 群发消息
62
62
  @classmethod
@@ -0,0 +1,98 @@
1
+ from functools import lru_cache
2
+ from pathlib import Path
3
+ from typing import Union
4
+
5
+ import yaml
6
+ from pydantic import BaseModel
7
+ from pydantic.fields import FieldInfo
8
+
9
+ from fastgenerateapi.settings.redis_settings import RedisSettings
10
+ from fastgenerateapi.settings.app_settings import AppSettings
11
+ from fastgenerateapi.settings.system_settings import SystemSettings
12
+
13
+
14
+ class SettingsModel(BaseModel):
15
+ # 应用配置
16
+ app_settings: AppSettings = AppSettings()
17
+ # 系统配置
18
+ system_settings: SystemSettings = SystemSettings()
19
+ # 缓存配置
20
+ redis_settings: RedisSettings = RedisSettings()
21
+
22
+ @classmethod
23
+ def generate_file(cls, path='./.env'):
24
+ """
25
+ 生成配置文件
26
+ .env 会增加前缀
27
+ .yaml 忽略前缀
28
+ :param path: 可选 .env / application.yaml
29
+ :return:
30
+ """
31
+ content = ''
32
+ setting_models = cls.model_fields.copy()
33
+ if path.__contains__('.env'):
34
+ for k, v in setting_models.items():
35
+ if isinstance(v, FieldInfo):
36
+ content += f"[{v.annotation.__name__}]\n"
37
+ env_prefix = v.annotation.model_config.get("env_prefix", "")
38
+ fields = v.annotation.model_fields.copy()
39
+ for k, v in fields.items():
40
+ field_name = f'{env_prefix}{k}'
41
+ if v.description is None:
42
+ content += f"{field_name}={v.default}\n"
43
+ else:
44
+ content += f"# {v.description}\n{field_name}={v.default}\n"
45
+ content += "\n"
46
+ elif path.__contains__('.yaml'):
47
+ for k, v in setting_models.items():
48
+ if isinstance(v, FieldInfo):
49
+ content += f"[{v.annotation.__name__}]\n"
50
+ env_prefix = v.annotation.model_config.get("env_prefix", "")
51
+ fields = v.annotation.model_fields.copy()
52
+ for k, v in fields.items():
53
+ field_name = f'{env_prefix}{k}'
54
+ content += f" {field_name}: {v.default}"
55
+ if v.description is None:
56
+ content += f"\n"
57
+ else:
58
+ content += f" # {v.description}\n"
59
+ content += "\n"
60
+ with open(file=path, mode='w', encoding='utf-8') as f:
61
+ f.writelines(content)
62
+
63
+ @classmethod
64
+ @lru_cache
65
+ def get_global_settings(cls, path: Union[Path, str, None] = '.env'):
66
+ """
67
+ get global settings and set into cache
68
+ :param path: 可选 .env / application.yaml
69
+ :return:
70
+ """
71
+ setting_models = cls.model_fields.copy()
72
+
73
+ setting_dict = {}
74
+ if str(path).__contains__('.env'):
75
+ for k, v in setting_models.items():
76
+ if isinstance(v, FieldInfo):
77
+ setting_dict[k] = v.annotation(_env_file=str(path))
78
+ elif str(path).__contains__('.yaml'):
79
+ with open(path, 'r', encoding='utf-8') as file:
80
+ data_dict = yaml.safe_load(file)
81
+ for k, v in setting_models.items():
82
+ if isinstance(v, FieldInfo):
83
+ setting_dict[k] = v.annotation(**data_dict.get(v.annotation.__name__, {}))
84
+
85
+ setting_data = cls(**setting_dict)
86
+ global settings
87
+ settings.app_settings = setting_data.app_settings
88
+ settings.system_settings = setting_data.system_settings
89
+ settings.redis_settings = setting_data.redis_settings
90
+ return setting_data
91
+
92
+
93
+ settings = SettingsModel()
94
+
95
+
96
+ if __name__ == '__main__':
97
+ settings.generate_file()
98
+
@@ -21,7 +21,6 @@ class DBSettings(BaseSettings):
21
21
  return f"{self.DB_TYPE.lower()}://{self.DB_USERNAME}:{self.DB_PASSWORD}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_DATABASE}"
22
22
 
23
23
  model_config = SettingsConfigDict(
24
- env_prefix="",
25
24
  env_file=".env",
26
25
  case_sensitive=True,
27
26
  extra='ignore'
@@ -4,7 +4,7 @@ from pydantic import Field
4
4
  from pydantic_settings import BaseSettings, SettingsConfigDict
5
5
 
6
6
 
7
- class FileServerSettings(BaseSettings):
7
+ class FileSettings(BaseSettings):
8
8
  """
9
9
  文件配置
10
10
  """
@@ -13,7 +13,6 @@ class FileServerSettings(BaseSettings):
13
13
  FILE_ROOT: Optional[str] = Field(default='static', description="文件储存路径", title="file storage path")
14
14
 
15
15
  model_config = SettingsConfigDict(
16
- env_prefix="FILESERVER_",
17
16
  env_file=".env",
18
17
  case_sensitive=True,
19
18
  extra='ignore'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.1.9
3
+ Version: 1.1.11
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -1,91 +0,0 @@
1
-
2
- from pydantic import BaseModel
3
-
4
- from fastgenerateapi.settings.redis_settings import RedisSettings
5
- from fastgenerateapi.settings.app_settings import AppSettings
6
- from fastgenerateapi.settings.system_settings import SystemSettings
7
-
8
-
9
- class SettingsModel(BaseModel):
10
- # 应用配置
11
- app_settings: AppSettings = AppSettings()
12
- # 系统配置
13
- system_settings: SystemSettings = SystemSettings()
14
- # 缓存配置
15
- redis_settings: RedisSettings = RedisSettings()
16
-
17
- # pydantic v2 不支持 ModelField, v.type_
18
- # @classmethod
19
- # def generate_file(cls, path='./.env'):
20
- # """
21
- # 生成配置文件
22
- # .env 会增加前缀
23
- # .yaml 忽略前缀
24
- # :param path: 可选 .env / application.yaml
25
- # :return:
26
- # """
27
- # content = ''
28
- # setting_models = cls.__fields__.copy()
29
- # if path.__contains__('.env'):
30
- # for k, v in setting_models.items():
31
- # if issubclass(type(v), ModelField):
32
- # sub_setting_class = v.type_
33
- # content += f"[{sub_setting_class.__name__}]\n"
34
- # fields = sub_setting_class.__fields__.copy()
35
- # for k, v in fields.items():
36
- # field_name = f'{sub_setting_class.Config.env_prefix}{k}'
37
- # if v.field_info.description is None:
38
- # content += f"{field_name}={v.default}\n"
39
- # else:
40
- # content += f"# {v.field_info.description}\n{field_name}={v.default}\n"
41
- # content += "\n"
42
- # elif path.__contains__('.yaml'):
43
- # for k, v in setting_models.items():
44
- # if issubclass(type(v), ModelField):
45
- # sub_setting_class = v.type_
46
- # content += f"{sub_setting_class.__name__}:\n"
47
- # fields = sub_setting_class.__fields__.copy()
48
- # for k, v in fields.items():
49
- # content += f" {k}: {v.default}"
50
- # if v.field_info.description is None:
51
- # content += f"\n"
52
- # else:
53
- # content += f" # {v.field_info.description}\n"
54
- # content += "\n"
55
- # with open(file=path, mode='w', encoding='utf-8') as f:
56
- # f.writelines(content)
57
- #
58
- # @classmethod
59
- # @lru_cache
60
- # def get_global_settings(cls, path: Union[types.Path, str, None] = '.env'):
61
- # """
62
- # get global settings and set into cache
63
- # :param path: 可选 .env / application.yaml
64
- # :return:
65
- # """
66
- # setting_models = cls.__fields__.copy()
67
- #
68
- # setting_dict = {}
69
- # if str(path).__contains__('.env'):
70
- # for k, v in setting_models.items():
71
- # if issubclass(type(v), ModelField):
72
- # sub_setting_class = v.type_
73
- # setting_dict[k] = sub_setting_class(_env_file=str(path))
74
- # elif str(path).__contains__('.yaml'):
75
- # with open(path, 'r', encoding='utf-8') as file:
76
- # data_dict = yaml.safe_load(file)
77
- # for k, v in setting_models.items():
78
- # if issubclass(type(v), ModelField):
79
- # sub_setting_class = v.type_
80
- # setting_dict[k] = sub_setting_class(**data_dict.get(sub_setting_class.__name__, {}))
81
- #
82
- # setting_data = cls(**setting_dict)
83
- # global settings
84
- # settings.app_settings = setting_data.app_settings
85
- # settings.system_settings = setting_data.system_settings
86
- # settings.redis_settings = setting_data.redis_settings
87
- # return setting_data
88
-
89
-
90
- settings = SettingsModel()
91
-