arpakitlib 1.8.237__py3-none-any.whl → 1.8.239__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": "60"
3
+ "arpakitlib_project_template_subversion": "61"
4
4
  }
@@ -2,20 +2,35 @@ from arpakitlib.ar_enumeration_util import Enumeration
2
2
 
3
3
 
4
4
  class APIErrorCodes(Enumeration):
5
- cannot_authorize = "CANNOT_AUTHORIZE"
6
- unknown_error = "UNKNOWN_ERROR"
7
- error_in_request = "ERROR_IN_REQUEST"
8
- not_found = "NOT_FOUND"
9
-
10
5
  class Common(Enumeration):
6
+ cannot_authorize = "COMMON_CANNOT_AUTHORIZE".upper()
7
+ unknown_error = "COMMON_UNKNOWN_ERROR".upper()
8
+ error_in_request = "COMMON_ERROR_IN_REQUEST".upper()
9
+ not_found = "COMMON_NOT_FOUND".upper()
11
10
  content_length_is_too_big = "content_length_is_too_big".upper()
12
11
 
12
+ cannot_authorize = Common.cannot_authorize
13
+ unknown_error = Common.unknown_error
14
+ error_in_request = Common.error_in_request
15
+ not_found = Common.not_found
16
+
17
+ class Global(Enumeration):
18
+ pass
19
+
20
+ class General(Enumeration):
21
+ pass
22
+
23
+ class Client(Enumeration):
24
+ error_use_referral_code = "client_error_use_referral_code"
13
25
 
14
- class APIErrorSpecificationCodes(Enumeration):
15
- pass
26
+ class Admin(Enumeration):
27
+ error_raise_api_exception_1 = "error_admin_error_raise_api_exception_1".upper()
28
+ error_raise_api_exception_2 = "error_admin_error_raise_api_exception_2".upper()
29
+ error_raise_api_exception_3 = "error_admin_error_raise_api_exception_3".upper()
30
+ error_raise_fake_error = "error_admin_raise_fake_error".upper()
31
+ error_update_user = "error_admin_error_update_user".upper()
32
+ error_create_user = "error_create_user"
16
33
 
17
34
 
18
35
  if __name__ == '__main__':
19
36
  print(APIErrorCodes.str_for_print())
20
- print()
21
- print(APIErrorSpecificationCodes.str_for_print())
@@ -0,0 +1,75 @@
1
+ from typing import Any
2
+
3
+ import fastapi.security
4
+
5
+ from project.api.api_error_codes import APIErrorCodes
6
+ from project.api.schema.out.common.error import ErrorCommonSO
7
+
8
+
9
+ class APIException(fastapi.exceptions.HTTPException):
10
+ def __init__(
11
+ self,
12
+ *,
13
+ status_code: int = fastapi.status.HTTP_400_BAD_REQUEST,
14
+ error_common_so: ErrorCommonSO | None = None,
15
+ error_code: str | None = APIErrorCodes.unknown_error,
16
+ error_specification_code: str | None = None,
17
+ error_description: str | None = None,
18
+ error_description_data: dict[str, Any] | None = None,
19
+ error_data: dict[str, Any] | None = None,
20
+ kwargs_: dict[str, Any] | None = None,
21
+ kwargs_create_story_log: bool | None = True,
22
+ kwargs_logging_full_error: bool | None = True,
23
+ kwargs_in_own_exception: dict[str, Any] = None,
24
+ ):
25
+ if error_description_data is None:
26
+ error_description_data = {}
27
+ if error_data is None:
28
+ error_data = {}
29
+ if kwargs_in_own_exception is None:
30
+ kwargs_in_own_exception = {}
31
+
32
+ self.status_code = status_code
33
+
34
+ if error_common_so is None:
35
+ error_common_so = ErrorCommonSO(
36
+ has_error=True,
37
+ error_code=error_code,
38
+ error_specification_code=error_specification_code,
39
+ error_description=error_description,
40
+ error_description_data=error_description_data,
41
+ error_data=error_data
42
+ )
43
+ self.error_common_so = error_common_so
44
+ else:
45
+ self.error_common_so = error_common_so
46
+
47
+ if kwargs_in_own_exception.get("raise_own_exception_if_exception_in_api_router") is True:
48
+ self.error_common_so.error_data["raise_own_exception_if_exception_in_api_router"] = True
49
+ self.error_common_so.error_data["caught_exception_type"] = kwargs_in_own_exception.get(
50
+ "caught_exception_type"
51
+ )
52
+ self.error_common_so.error_data["caught_exception_str"] = kwargs_in_own_exception.get(
53
+ "caught_exception_str"
54
+ )
55
+
56
+ if kwargs_ is None:
57
+ kwargs_ = {}
58
+ if "create_story_log" not in kwargs_ and kwargs_create_story_log is not None:
59
+ kwargs_["create_story_log"] = kwargs_create_story_log
60
+ self.error_common_so.error_data["create_story_log"] = kwargs_create_story_log
61
+ if "logging" not in kwargs_ and kwargs_logging_full_error is not None:
62
+ kwargs_["logging_full_error"] = kwargs_logging_full_error
63
+ self.error_common_so.error_data["logging_full_error"] = kwargs_logging_full_error
64
+ self.kwargs_ = kwargs_
65
+
66
+ super().__init__(
67
+ status_code=self.status_code,
68
+ detail=self.error_common_so.model_dump(mode="json")
69
+ )
70
+
71
+ def __str__(self) -> str:
72
+ return f"{self.status_code=}, {self.error_common_so.error_code=}, {self.error_common_so.error_specification_code=}"
73
+
74
+ def __repr__(self) -> str:
75
+ return f"{self.status_code=}, {self.error_common_so.error_code=}, {self.error_common_so.error_specification_code=}"
@@ -13,7 +13,7 @@ from sqlalchemy.orm import joinedload
13
13
  from arpakitlib.ar_func_util import is_async_func, is_sync_func
14
14
  from arpakitlib.ar_json_util import transfer_data_to_json_str_to_data
15
15
  from project.api.api_error_codes import APIErrorCodes
16
- from project.api.exception import APIException
16
+ from project.api.api_exception import APIException
17
17
  from project.core.settings import get_cached_settings
18
18
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
19
19
  from project.sqlalchemy_db_.sqlalchemy_model import ApiKeyDBM, UserTokenDBM
@@ -12,7 +12,7 @@ from arpakitlib.ar_dict_util import combine_dicts
12
12
  from arpakitlib.ar_exception_util import exception_to_traceback_str
13
13
  from arpakitlib.ar_func_util import raise_if_not_async_func, is_async_func, is_sync_func
14
14
  from project.api.api_error_codes import APIErrorCodes
15
- from project.api.exception import APIException
15
+ from project.api.api_exception import APIException
16
16
  from project.api.response import APIJSONResponse
17
17
  from project.api.schema.out.common.error import ErrorCommonSO
18
18
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
@@ -3,7 +3,7 @@ from typing import Any
3
3
  import fastapi
4
4
  from arpakitlib.raise_own_exception_if_exception import raise_own_exception_if_exception
5
5
 
6
- from project.api.exception import APIException
6
+ from project.api.api_exception import APIException
7
7
  from project.api.schema.out.common.error import ErrorCommonSO
8
8
 
9
9
 
@@ -22,12 +22,13 @@ def raise_own_exception_if_exception_in_api_router(
22
22
  return raise_own_exception_if_exception(
23
23
  catching_exceptions=Exception,
24
24
  own_exception=APIException,
25
+ kwargs_in_own_exception={raise_own_exception_if_exception_in_api_router.__name__: True},
25
26
  forward_kwargs_in_own_exception={
26
27
  "status_code": status_code,
27
28
  "error_common_so": error_common_so,
28
29
  "kwargs_": kwargs_,
29
30
  "kwargs_create_story_log": kwargs_create_story_log,
30
- "kwargs_logging_full_error": kwargs_logging_full_error
31
+ "kwargs_logging_full_error": kwargs_logging_full_error,
31
32
  }
32
33
  )(func)
33
34
 
@@ -3,7 +3,7 @@ from fastapi import APIRouter
3
3
 
4
4
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
5
5
  require_api_key_dbm_api_authorize_middleware
6
- from project.api.exception import APIException
6
+ from project.api.api_exception import APIException
7
7
  from project.api.schema.out.common.error import ErrorCommonSO
8
8
  from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
9
 
@@ -3,7 +3,7 @@ from fastapi import APIRouter
3
3
 
4
4
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
5
5
  require_api_key_dbm_api_authorize_middleware
6
- from project.api.exception import APIException
6
+ from project.api.api_exception import APIException
7
7
  from project.api.schema.out.common.error import ErrorCommonSO
8
8
  from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
9
 
@@ -3,7 +3,7 @@ from fastapi import APIRouter
3
3
 
4
4
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
5
5
  require_api_key_dbm_api_authorize_middleware
6
- from project.api.exception import APIException
6
+ from project.api.api_exception import APIException
7
7
  from project.api.schema.out.common.error import ErrorCommonSO
8
8
  from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
9
 
@@ -72,6 +72,7 @@ def raise_own_exception_if_exception(
72
72
  if kwargs_in_own_exception is not None:
73
73
  copied_kwargs_in_own_exception = kwargs_in_own_exception.copy()
74
74
  copied_kwargs_in_own_exception["caught_exception"] = caught_exception
75
+ copied_kwargs_in_own_exception["caught_exception_type"] = type(caught_exception)
75
76
  copied_kwargs_in_own_exception["caught_exception_str"] = str(caught_exception)
76
77
  try:
77
78
  _kwargs = {}
@@ -96,6 +97,7 @@ def raise_own_exception_if_exception(
96
97
  if kwargs_in_own_exception is not None:
97
98
  copied_kwargs_in_own_exception = kwargs_in_own_exception.copy()
98
99
  copied_kwargs_in_own_exception["caught_exception"] = caught_exception
100
+ copied_kwargs_in_own_exception["caught_exception_type"] = type(caught_exception)
99
101
  copied_kwargs_in_own_exception["caught_exception_str"] = str(caught_exception)
100
102
  try:
101
103
  _kwargs = {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.237
3
+ Version: 1.8.239
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=zvYnveSfv5GgCQr3J2tmByBGeJ9LQ7qucpvueiUjYL8,98
11
+ arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=-iGWUrlyiQ84CvVv-oCpreRG7rz5mNlyPMaavY0PrwQ,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
@@ -81,9 +81,10 @@ arpakitlib/_arpakit_project_template_v_5/project/__init__.py,sha256=47DEQpj8HBSa
81
81
  arpakitlib/_arpakit_project_template_v_5/project/additional_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  arpakitlib/_arpakit_project_template_v_5/project/additional_model/common.py,sha256=BRz-B699ZY52DfUD6kmhpuThBWpPzpZpD0QXIjlkwC8,168
83
83
  arpakitlib/_arpakit_project_template_v_5/project/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- arpakitlib/_arpakit_project_template_v_5/project/api/api_error_codes.py,sha256=c8feYRXrN0BWmTsQIk5q_SOHUt5kCveVV_4yz-ZsZwE,537
84
+ arpakitlib/_arpakit_project_template_v_5/project/api/api_error_codes.py,sha256=LRTrqg-xulcEI9_-m1rcUZkaEpwA6zpLFYhQA8ZdXv4,1330
85
+ arpakitlib/_arpakit_project_template_v_5/project/api/api_exception.py,sha256=xAUFdGfLkH4OWT6kIsvHqPN42J4MKaGbi-mFd2dqoKg,3226
85
86
  arpakitlib/_arpakit_project_template_v_5/project/api/asgi.py,sha256=ES3YGwNxWUHVyD6e2ii6QkvTyB-vlVmr8_PhfVIXQ4Y,78
86
- arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py,sha256=52aMumh_e30Z92w7vYxUwH0cuIDeAuWFVWTnVfQyqqI,15434
87
+ arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py,sha256=IGQuAZF-NvQRcVv5qbEKXszVMTJJE3iJdtQHzMFqpSA,15438
87
88
  arpakitlib/_arpakit_project_template_v_5/project/api/before_start_api.py,sha256=a7eiV8oaWk9qYzlNNnY8BYY8VlnQAZ0w8TwuC2u6v_c,1902
88
89
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
90
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/admin.py,sha256=ii1zLHjvB7OVLQKFOhp4lpodXcwAmtwDdrM1iaafQfg,100
@@ -92,13 +93,12 @@ arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py,sha256=ug1F
92
93
  arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=-xJLrNuiUC8K-L2Q_1YbQzi_2bquW3HgVx7Ye2haHNk,3076
93
94
  arpakitlib/_arpakit_project_template_v_5/project/api/create_first_data.py,sha256=BgqmD-7gXQ_zoz3ATqVacQzkg9lbvKnCSvQxm0M0Vxw,1824
94
95
  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=_lQ-qX0SxU8_XBDUYz924ZjxJ-FnOvXFaVbyptGuRyw,2600
96
- arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=Se4Bj1Sdp6KXW7-G5xm0obJAFu3MfPA5NTm6yEEjgqU,11556
96
+ arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=nZr8sY5kPLPcmXcxEhXR77FGKWddRltrOoyKGhUkhAE,11560
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
+ arpakitlib/_arpakit_project_template_v_5/project/api/raise_own_exception_if_exception_in_api_router.py,sha256=EtkoPfsGPz4Qma4ZvYlPtPlxaRPH93cX4D0YpEL9ql0,1410
102
102
  arpakitlib/_arpakit_project_template_v_5/project/api/response.py,sha256=xZMymP2BuQaRNVWLeIp3UgUUo-MFN8MJnsn9Al4vOb8,1028
103
103
  arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -122,9 +122,9 @@ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data
122
122
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_3.py,sha256=P0IF-awERehfABlE68O1GjxTYVaBEUl-s5tQL2tQ-Qg,1178
123
123
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_4.py,sha256=u0VDTCQoMl17jmtGM4f2uDFf52F6Aq7B_d8fbUK83hE,1178
124
124
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_5.py,sha256=5hEvMeTj7Bu_JT1alRHBFjyOfdEaZeMwk_Smrpqd-So,1178
125
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_1.py,sha256=Z2f7wv4R_jZPy8KccOtsmVsOjrLsFSBZYGRAsTRVbhE,1300
126
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_2.py,sha256=YI5PTA7miwYtl8-GiYSPW3NfpXtx5MwzWI_kKZXWS3c,1302
127
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_3.py,sha256=VEiX_uXJ5GUwlmnztKxyNI9MGjtz8FtN3P-m4kCxXLo,1295
125
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_1.py,sha256=YossoHlMRhEd7oLH7nnwk0d5N0LzZQ5EWzzdWU6rZQ8,1304
126
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_2.py,sha256=Qp4UqRkeruBu_nWXLOiAdT0_GhHIwlJbGW6FVKzAd_Y,1306
127
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_3.py,sha256=S5GjqArJ0rJM-wfE-vUTX_94ySPjstvWn3p8gS_5jKg,1299
128
128
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_fake_error.py,sha256=kMr06QR39XVUoVwUuwJHoQmaWHvlfi2j53ZCMX3CU48,1048
129
129
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/reinit_sqlalchemy_db.py,sha256=kTa_RSZgPKbDfdFHzhAJroddWOUDRK4YTJN2WVnKu-Q,1343
130
130
  arpakitlib/_arpakit_project_template_v_5/project/api/router/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -422,9 +422,9 @@ arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,40
422
422
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
423
423
  arpakitlib/clone_pydantic_model_fields.py,sha256=xxLwtvJzDf8EWMvBE4psWIj8c-cyeCxLRX76oCY_4zk,1214
424
424
  arpakitlib/pydantic_schema_from_sqlalchemy_model.py,sha256=_5Y79kQ4lLIOL6_afIFVwxY1EXzTMpi-veRR-WkPFOs,2879
425
- arpakitlib/raise_own_exception_if_exception.py,sha256=81OHXgjrvdNdRaf6NuhPAXucBzj7wwf9deUdVWE7Hlg,5762
426
- arpakitlib-1.8.237.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
427
- arpakitlib-1.8.237.dist-info/METADATA,sha256=HzHwt14Ui3Kj8IXkEn2NIUgwEVb7LygpLFoV-Y_xtgA,3741
428
- arpakitlib-1.8.237.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
429
- arpakitlib-1.8.237.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
430
- arpakitlib-1.8.237.dist-info/RECORD,,
425
+ arpakitlib/raise_own_exception_if_exception.py,sha256=NMZsURUtb07s0zxPySayk4bXymqhF7ng74dxgGnLBbw,5968
426
+ arpakitlib-1.8.239.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
427
+ arpakitlib-1.8.239.dist-info/METADATA,sha256=sDFT7bGpyWjEvMavq3bsvdGsGXGT9SUc1AvumYPvnE0,3741
428
+ arpakitlib-1.8.239.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
429
+ arpakitlib-1.8.239.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
430
+ arpakitlib-1.8.239.dist-info/RECORD,,
@@ -1,63 +0,0 @@
1
- from typing import Any
2
-
3
- import fastapi.security
4
-
5
- from project.api.api_error_codes import APIErrorCodes
6
- from project.api.schema.out.common.error import ErrorCommonSO
7
-
8
-
9
- class APIException(fastapi.exceptions.HTTPException):
10
- def __init__(
11
- self,
12
- *,
13
- status_code: int = fastapi.status.HTTP_400_BAD_REQUEST,
14
- error_common_so: ErrorCommonSO | None = None,
15
- error_code: str | None = APIErrorCodes.unknown_error,
16
- error_specification_code: str | None = None,
17
- error_description: str | None = None,
18
- error_description_data: dict[str, Any] | None = None,
19
- error_data: 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,
23
- ):
24
- self.status_code = status_code
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
-
52
- if kwargs_ is None:
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
58
- self.kwargs_ = kwargs_
59
-
60
- super().__init__(
61
- status_code=self.status_code,
62
- detail=self.error_common_so.model_dump(mode="json")
63
- )