internal 1.0.15__tar.gz → 1.0.17__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 (32) hide show
  1. {internal-1.0.15 → internal-1.0.17}/PKG-INFO +1 -1
  2. {internal-1.0.15 → internal-1.0.17}/pyproject.toml +1 -1
  3. {internal-1.0.15 → internal-1.0.17}/src/internal/http/responses.py +13 -1
  4. {internal-1.0.15 → internal-1.0.17}/README.md +0 -0
  5. {internal-1.0.15 → internal-1.0.17}/src/internal/__init__.py +0 -0
  6. {internal-1.0.15 → internal-1.0.17}/src/internal/base_config.py +0 -0
  7. {internal-1.0.15 → internal-1.0.17}/src/internal/base_factory.py +0 -0
  8. {internal-1.0.15 → internal-1.0.17}/src/internal/common_enum/__init__.py +0 -0
  9. {internal-1.0.15 → internal-1.0.17}/src/internal/common_enum/contact_type.py +0 -0
  10. {internal-1.0.15 → internal-1.0.17}/src/internal/common_enum/description_type.py +0 -0
  11. {internal-1.0.15 → internal-1.0.17}/src/internal/common_enum/event_trigger_type.py +0 -0
  12. {internal-1.0.15 → internal-1.0.17}/src/internal/common_enum/operator_type.py +0 -0
  13. {internal-1.0.15 → internal-1.0.17}/src/internal/common_enum/order_type.py +0 -0
  14. {internal-1.0.15 → internal-1.0.17}/src/internal/const.py +0 -0
  15. {internal-1.0.15 → internal-1.0.17}/src/internal/database.py +0 -0
  16. {internal-1.0.15 → internal-1.0.17}/src/internal/exception/__init__.py +0 -0
  17. {internal-1.0.15 → internal-1.0.17}/src/internal/exception/base_exception.py +0 -0
  18. {internal-1.0.15 → internal-1.0.17}/src/internal/exception/internal_exception.py +0 -0
  19. {internal-1.0.15 → internal-1.0.17}/src/internal/ext/__init__.py +0 -0
  20. {internal-1.0.15 → internal-1.0.17}/src/internal/ext/amazon/__init__.py +0 -0
  21. {internal-1.0.15 → internal-1.0.17}/src/internal/ext/amazon/aws/__init__.py +0 -0
  22. {internal-1.0.15 → internal-1.0.17}/src/internal/ext/amazon/aws/const.py +0 -0
  23. {internal-1.0.15 → internal-1.0.17}/src/internal/http/__init__.py +0 -0
  24. {internal-1.0.15 → internal-1.0.17}/src/internal/http/requests.py +0 -0
  25. {internal-1.0.15 → internal-1.0.17}/src/internal/interface/__init__.py +0 -0
  26. {internal-1.0.15 → internal-1.0.17}/src/internal/interface/base_interface.py +0 -0
  27. {internal-1.0.15 → internal-1.0.17}/src/internal/middleware/__init__.py +0 -0
  28. {internal-1.0.15 → internal-1.0.17}/src/internal/middleware/log_request.py +0 -0
  29. {internal-1.0.15 → internal-1.0.17}/src/internal/model/__init__.py +0 -0
  30. {internal-1.0.15 → internal-1.0.17}/src/internal/model/base_model.py +0 -0
  31. {internal-1.0.15 → internal-1.0.17}/src/internal/model/operate.py +0 -0
  32. {internal-1.0.15 → internal-1.0.17}/src/internal/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: internal
3
- Version: 1.0.15
3
+ Version: 1.0.17
4
4
  Summary:
5
5
  Author: Ray
6
6
  Author-email: ray@cruisys.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "internal"
3
- version = "1.0.15"
3
+ version = "1.0.17"
4
4
  description = ""
5
5
  authors = ["Ray <ray@cruisys.com>"]
6
6
  readme = "README.md"
@@ -1,27 +1,39 @@
1
1
  import json
2
+ import arrow
3
+
4
+ from datetime import datetime
5
+
2
6
  import httpx
3
7
 
4
8
  from fastapi import status
5
9
  from fastapi.responses import JSONResponse
6
10
  from fastapi.encoders import jsonable_encoder
7
11
  from beanie import Document, Link
12
+ from ..const import ARR_HUMAN_READ_FMT
8
13
 
9
14
 
10
15
  async def async_response(data=None, message=None, code=None, page_no=None, total_num=None, page_size=None,
11
- status_code=status.HTTP_200_OK):
16
+ time_zone=None, time_format=ARR_HUMAN_READ_FMT, status_code=status.HTTP_200_OK):
12
17
  def _serialize(data):
13
18
  if issubclass(type(data), Document):
14
19
  link_field_list = []
20
+ datetime_field_list = []
15
21
  for field_name in data.__annotations__:
16
22
  field_type = getattr(data, field_name)
17
23
  if isinstance(field_type, Link):
18
24
  link_field_list.append(field_name)
25
+ if isinstance(field_type, datetime):
26
+ datetime_field_list.append(field_name)
19
27
 
20
28
  data = json.loads(data.model_dump_json(exclude="password", by_alias=False))
21
29
  if link_field_list:
22
30
  for field_name in link_field_list:
23
31
  if isinstance(data[field_name], dict) and "id" in data[field_name].keys():
24
32
  data[field_name] = data[field_name]["id"]
33
+ for field_name in datetime_field_list:
34
+ if data[field_name]:
35
+ data[field_name] = arrow.get(data[field_name]).to(time_zone).format(time_format)
36
+
25
37
  return data
26
38
 
27
39
  if isinstance(data, httpx.Response):
File without changes