arpakitlib 1.8.233__py3-none-any.whl → 1.8.234__py3-none-any.whl

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.
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "arpakitlib_project_template_version": "5",
3
- "arpakitlib_project_template_subversion": "59"
3
+ "arpakitlib_project_template_subversion": "60"
4
4
  }
@@ -11,31 +11,52 @@ class APIException(fastapi.exceptions.HTTPException):
11
11
  self,
12
12
  *,
13
13
  status_code: int = fastapi.status.HTTP_400_BAD_REQUEST,
14
+ error_common_so: ErrorCommonSO | None = None,
14
15
  error_code: str | None = APIErrorCodes.unknown_error,
15
16
  error_specification_code: str | None = None,
16
17
  error_description: str | None = None,
18
+ error_description_data: dict[str, Any] | None = None,
17
19
  error_data: dict[str, Any] | None = None,
18
- kwargs_: dict[str, Any] | None = None
20
+ kwargs_: dict[str, Any] | None = None,
21
+ kwargs_create_story_log: bool = True,
22
+ kwargs_logging_full_error: bool = True,
19
23
  ):
20
24
  self.status_code = status_code
21
- self.error_code = error_code
22
- self.error_specification_code = error_specification_code
23
- self.error_description = error_description
24
- if error_data is None:
25
- error_data = {}
26
- self.error_data = error_data
25
+
26
+ if error_common_so is None:
27
+ self.error_code = error_code
28
+ self.error_specification_code = error_specification_code
29
+ self.error_description = error_description
30
+ if error_description_data is None:
31
+ error_description_data = {}
32
+ self.error_description_data = error_description_data
33
+ if error_data is None:
34
+ error_data = {}
35
+ self.error_data = error_data
36
+ self.error_common_so = ErrorCommonSO(
37
+ has_error=True,
38
+ error_code=self.error_code,
39
+ error_specification_code=self.error_specification_code,
40
+ error_description=self.error_description,
41
+ error_description_data=self.error_description_data,
42
+ error_data=self.error_data
43
+ )
44
+ else:
45
+ self.error_common_so = error_common_so
46
+ self.error_code = error_common_so.error_code
47
+ self.error_specification_code = error_common_so.error_specification_code
48
+ self.error_description = error_common_so.error_description
49
+ self.error_description_data = error_common_so.error_description_data
50
+ self.error_data = error_common_so.error_data
51
+
27
52
  if kwargs_ is None:
28
53
  kwargs_ = {}
54
+ if "create_story_log" not in kwargs_:
55
+ kwargs_["create_story_log"] = kwargs_create_story_log
56
+ if "logging" not in kwargs_:
57
+ kwargs_["logging_full_error"] = kwargs_logging_full_error
29
58
  self.kwargs_ = kwargs_
30
59
 
31
- self.error_common_so = ErrorCommonSO(
32
- has_error=True,
33
- error_code=self.error_code,
34
- error_specification_code=self.error_specification_code,
35
- error_description=self.error_description,
36
- error_data=self.error_data
37
- )
38
-
39
60
  super().__init__(
40
61
  status_code=self.status_code,
41
62
  detail=self.error_common_so.model_dump(mode="json")
@@ -0,0 +1,34 @@
1
+ from typing import Any
2
+
3
+ import fastapi
4
+ from arpakitlib.raise_own_exception_if_exception import raise_own_exception_if_exception
5
+
6
+ from project.api.exception import APIException
7
+ from project.api.schema.out.common.error import ErrorCommonSO
8
+
9
+
10
+ def raise_own_exception_if_exception_in_api_router(
11
+ *,
12
+ status_code: int = fastapi.status.HTTP_400_BAD_REQUEST,
13
+ error_common_so: ErrorCommonSO | None = None,
14
+ kwargs_: dict[str, Any] | None = None,
15
+ kwargs_create_story_log: bool = True,
16
+ kwargs_logging_full_error: bool = True,
17
+ ):
18
+ """Обертка над декоратором raise_own_exception_if_exception"""
19
+
20
+ def decorator(func):
21
+ # просто возвращаем результат применения исходного декоратора
22
+ return raise_own_exception_if_exception(
23
+ catching_exceptions=Exception,
24
+ own_exception=APIException,
25
+ forward_kwargs_in_own_exception={
26
+ "status_code": status_code,
27
+ "error_common_so": error_common_so,
28
+ "kwargs_": kwargs_,
29
+ "kwargs_create_story_log": kwargs_create_story_log,
30
+ "kwargs_logging_full_error": kwargs_logging_full_error
31
+ }
32
+ )(func)
33
+
34
+ return decorator
@@ -1,5 +1,7 @@
1
1
  from typing import Any
2
2
 
3
+ from pydantic import Field
4
+
3
5
  from project.api.schema.common import BaseSO
4
6
 
5
7
 
@@ -8,4 +10,5 @@ class ErrorCommonSO(BaseSO):
8
10
  error_code: str | None = None
9
11
  error_specification_code: str | None = None
10
12
  error_description: str | None = None
11
- error_data: dict[str, Any] = {}
13
+ error_description_data: dict[str, Any] = Field(default_factory=dict)
14
+ error_data: dict[str, Any] = Field(default_factory=dict)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.233
3
+ Version: 1.8.234
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -8,7 +8,7 @@ arpakitlib/_arpakit_project_template_v_5/alembic/env.py,sha256=Qesmnj5A2kB-Doeuf
8
8
  arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
9
9
  arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  arpakitlib/_arpakit_project_template_v_5/alembic.ini,sha256=8fuyeEvGBiPGbxEFy8ISBV3xX_fgVmuhEGpB10_B5Uo,3733
11
- arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=dN2oKmHuIXZOFL1sBNYTX1n2YqT7tqoPZWGtuxXs1zg,98
11
+ arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=zvYnveSfv5GgCQr3J2tmByBGeJ9LQ7qucpvueiUjYL8,98
12
12
  arpakitlib/_arpakit_project_template_v_5/command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh,sha256=OMnDNtHIksGh9iavWnzbtxcudZW4vjdcISsBXvzZSPw,22
14
14
  arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh,sha256=yW2i-SBOtBx15Ya0poVQqKkJM5t2JZp06r9AEW-DmGE,46
@@ -92,12 +92,13 @@ arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py,sha256=ug1F
92
92
  arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=-xJLrNuiUC8K-L2Q_1YbQzi_2bquW3HgVx7Ye2haHNk,3076
93
93
  arpakitlib/_arpakit_project_template_v_5/project/api/create_first_data.py,sha256=BgqmD-7gXQ_zoz3ATqVacQzkg9lbvKnCSvQxm0M0Vxw,1824
94
94
  arpakitlib/_arpakit_project_template_v_5/project/api/event.py,sha256=P8gV2Bq6LeLH0JDN9Z3O401PMbyNr2n-tme2gPvT-m4,996
95
- arpakitlib/_arpakit_project_template_v_5/project/api/exception.py,sha256=BSCYbdHYBldXmbdRxW14tIA47vttRXVlBGw7wMur8us,1425
95
+ arpakitlib/_arpakit_project_template_v_5/project/api/exception.py,sha256=_lQ-qX0SxU8_XBDUYz924ZjxJ-FnOvXFaVbyptGuRyw,2600
96
96
  arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=Se4Bj1Sdp6KXW7-G5xm0obJAFu3MfPA5NTm6yEEjgqU,11556
97
97
  arpakitlib/_arpakit_project_template_v_5/project/api/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
98
  arpakitlib/_arpakit_project_template_v_5/project/api/middleware/add_api_middlewares.py,sha256=TrWn0yPDCn0yTlHqLf19ypGtRumNjDxm0sM60yVsqXE,468
99
99
  arpakitlib/_arpakit_project_template_v_5/project/api/middleware/limit_content_length.py,sha256=cEtGcJSh3e2EyuQCFqKzRcrl3qS6oIvpSv5UEbYsvR4,1622
100
100
  arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py,sha256=7yg9ZNu6BjTAregnfbRFpwvqa-gTIY6o6NCz5pmsbeo,976
101
+ arpakitlib/_arpakit_project_template_v_5/project/api/raise_own_exception_if_exception_in_api_router.py,sha256=6wBvzf0et1Jw7GSYKzZ6typmIubPn2SMJJMAZUBPsz0,1304
101
102
  arpakitlib/_arpakit_project_template_v_5/project/api/response.py,sha256=xZMymP2BuQaRNVWLeIp3UgUUo-MFN8MJnsn9Al4vOb8,1028
102
103
  arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
104
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -162,7 +163,7 @@ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py,s
162
163
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user_token.py,sha256=Emhpawd_jGWu9xzyYyXk9h0YDSnHGDkyfP-hIgenzpA,508
163
164
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
165
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/datetime_.py,sha256=YFo29Qc7JMVq-OR398kPy4ypjh9kYAxPuZZUsobhDdc,942
165
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/error.py,sha256=C8oaHotxmxBnN7Lr1qT7T5Mk0SIU2Ha7_tPDpgiR6M8,286
166
+ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/error.py,sha256=QAJPTEVf4257fdWmmJes081TWqGb5eglDamQOO1ZHkE,412
166
167
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/ok.py,sha256=t0uT5WIO7hiHG6rQBkb10l37GCAUbki14v-E8-mWzNs,96
167
168
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/raw_data.py,sha256=T7DWPHlno37-2qfQLLGXY2_4Ajs_l9_UxDDF1VGdpqk,136
168
169
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -422,8 +423,8 @@ arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrI
422
423
  arpakitlib/clone_pydantic_model_fields.py,sha256=xxLwtvJzDf8EWMvBE4psWIj8c-cyeCxLRX76oCY_4zk,1214
423
424
  arpakitlib/pydantic_schema_from_sqlalchemy_model.py,sha256=_5Y79kQ4lLIOL6_afIFVwxY1EXzTMpi-veRR-WkPFOs,2879
424
425
  arpakitlib/raise_own_exception_if_exception.py,sha256=WCgrT0rwNMEAE__44TQaY4UXzRBKt-aJbMoOvTMGJVc,5541
425
- arpakitlib-1.8.233.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
426
- arpakitlib-1.8.233.dist-info/METADATA,sha256=_ZMgg9kzeeDfp2zAG7oVB-_LgxGKr84BVnIKkeEQGkw,3741
427
- arpakitlib-1.8.233.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
428
- arpakitlib-1.8.233.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
429
- arpakitlib-1.8.233.dist-info/RECORD,,
426
+ arpakitlib-1.8.234.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
427
+ arpakitlib-1.8.234.dist-info/METADATA,sha256=LXaP2vSyl6XV2z0eEKi4uupUTu9mQzBwOBNVGJ7Ca-4,3741
428
+ arpakitlib-1.8.234.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
429
+ arpakitlib-1.8.234.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
430
+ arpakitlib-1.8.234.dist-info/RECORD,,