internal 1.1.31__tar.gz → 1.1.32.1__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 internal might be problematic. Click here for more details.

Files changed (40) hide show
  1. {internal-1.1.31 → internal-1.1.32.1}/PKG-INFO +1 -1
  2. {internal-1.1.31 → internal-1.1.32.1}/pyproject.toml +1 -1
  3. internal-1.1.32.1/src/internal/common_enum/point_type.py +6 -0
  4. {internal-1.1.31 → internal-1.1.32.1}/src/internal/database.py +18 -2
  5. {internal-1.1.31 → internal-1.1.32.1}/README.md +0 -0
  6. {internal-1.1.31 → internal-1.1.32.1}/src/internal/__init__.py +0 -0
  7. {internal-1.1.31 → internal-1.1.32.1}/src/internal/base_config.py +0 -0
  8. {internal-1.1.31 → internal-1.1.32.1}/src/internal/base_factory.py +0 -0
  9. {internal-1.1.31 → internal-1.1.32.1}/src/internal/cache_redis.py +0 -0
  10. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/__init__.py +0 -0
  11. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/car_relation_type.py +0 -0
  12. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/description_type.py +0 -0
  13. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/device_code.py +0 -0
  14. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/event_code.py +0 -0
  15. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/lpr_direction.py +0 -0
  16. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/notify_type.py +0 -0
  17. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/operator_type.py +0 -0
  18. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/order_type.py +0 -0
  19. {internal-1.1.31 → internal-1.1.32.1}/src/internal/common_enum/websocket_channel.py +0 -0
  20. {internal-1.1.31 → internal-1.1.32.1}/src/internal/const.py +0 -0
  21. {internal-1.1.31 → internal-1.1.32.1}/src/internal/exception/__init__.py +0 -0
  22. {internal-1.1.31 → internal-1.1.32.1}/src/internal/exception/app_exception.py +0 -0
  23. {internal-1.1.31 → internal-1.1.32.1}/src/internal/exception/base_exception.py +0 -0
  24. {internal-1.1.31 → internal-1.1.32.1}/src/internal/exception/internal_exception.py +0 -0
  25. {internal-1.1.31 → internal-1.1.32.1}/src/internal/ext/__init__.py +0 -0
  26. {internal-1.1.31 → internal-1.1.32.1}/src/internal/ext/amazon/__init__.py +0 -0
  27. {internal-1.1.31 → internal-1.1.32.1}/src/internal/ext/amazon/aws/__init__.py +0 -0
  28. {internal-1.1.31 → internal-1.1.32.1}/src/internal/ext/amazon/aws/const.py +0 -0
  29. {internal-1.1.31 → internal-1.1.32.1}/src/internal/http/__init__.py +0 -0
  30. {internal-1.1.31 → internal-1.1.32.1}/src/internal/http/requests.py +0 -0
  31. {internal-1.1.31 → internal-1.1.32.1}/src/internal/http/responses.py +0 -0
  32. {internal-1.1.31 → internal-1.1.32.1}/src/internal/interface/__init__.py +0 -0
  33. {internal-1.1.31 → internal-1.1.32.1}/src/internal/interface/base_interface.py +0 -0
  34. {internal-1.1.31 → internal-1.1.32.1}/src/internal/middleware/__init__.py +0 -0
  35. {internal-1.1.31 → internal-1.1.32.1}/src/internal/middleware/log_request.py +0 -0
  36. {internal-1.1.31 → internal-1.1.32.1}/src/internal/model/__init__.py +0 -0
  37. {internal-1.1.31 → internal-1.1.32.1}/src/internal/model/base_model.py +0 -0
  38. {internal-1.1.31 → internal-1.1.32.1}/src/internal/model/operate.py +0 -0
  39. {internal-1.1.31 → internal-1.1.32.1}/src/internal/utils.py +0 -0
  40. {internal-1.1.31 → internal-1.1.32.1}/src/internal/validator_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: internal
3
- Version: 1.1.31
3
+ Version: 1.1.32.1
4
4
  Summary:
5
5
  Author: Ray
6
6
  Author-email: ray@cruisys.com
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "internal"
3
- version = "1.1.31"
3
+ version = "1.1.32.1"
4
4
  description = ""
5
5
  authors = [{ name = "Ray", email = "ray@cruisys.com" }]
6
6
  readme = "README.md"
@@ -0,0 +1,6 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PointTypeEnum(str, Enum):
5
+ INVOICE_REWARD = "invoice_reward"
6
+ ACTIVITY = "activity"
@@ -2,6 +2,18 @@ from motor.motor_asyncio import AsyncIOMotorClient
2
2
  from pymongo.errors import ServerSelectionTimeoutError
3
3
 
4
4
  from .exception.internal_exception import DatabaseInitializeFailureException, DatabaseConnectFailureException
5
+ from bson import Decimal128
6
+ from bson.codec_options import CodecOptions, TypeDecoder, TypeRegistry
7
+ from decimal import Decimal
8
+
9
+
10
+ class Decimal128Decoder(TypeDecoder):
11
+ """自定義 Decimal128 解碼器,自動轉換為 Python Decimal"""
12
+ bson_type = Decimal128
13
+ python_type = Decimal
14
+
15
+ def transform_bson(self, value):
16
+ return value.to_decimal()
5
17
 
6
18
 
7
19
  class MongoDB:
@@ -31,7 +43,7 @@ class MongoDB:
31
43
  if self.ssl_ca_certs and self.ssl_ca_certs != "":
32
44
  db_settings["tlsCAFile"] = self.ssl_ca_certs
33
45
 
34
- self.client = AsyncIOMotorClient(**db_settings)
46
+ self.client = AsyncIOMotorClient(**db_settings).get_database()
35
47
  except ServerSelectionTimeoutError:
36
48
  raise DatabaseInitializeFailureException()
37
49
 
@@ -42,7 +54,11 @@ class MongoDB:
42
54
  def get_database(self):
43
55
  if not self.client:
44
56
  raise DatabaseConnectFailureException()
45
- return self.client[self.db_name]
57
+
58
+ type_registry = TypeRegistry([Decimal128Decoder()])
59
+ codec_options = CodecOptions(type_registry=type_registry)
60
+
61
+ return self.client.get_database(self.db_name, codec_options=codec_options)
46
62
 
47
63
  async def get_mongodb_uri(self) -> str:
48
64
  if self.user_name and self.password:
File without changes