arpakitlib 1.8.168__py3-none-any.whl → 1.8.170__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": "34"
3
+ "arpakitlib_project_template_subversion": "36"
4
4
  }
@@ -15,7 +15,7 @@ class APIException(fastapi.exceptions.HTTPException):
15
15
  error_specification_code: str | None = None,
16
16
  error_description: str | None = None,
17
17
  error_data: dict[str, Any] | None = None,
18
- create_story_log: bool = True
18
+ kwargs_: dict[str, Any] | None = None
19
19
  ):
20
20
  self.status_code = status_code
21
21
  self.error_code = error_code
@@ -24,7 +24,9 @@ class APIException(fastapi.exceptions.HTTPException):
24
24
  if error_data is None:
25
25
  error_data = {}
26
26
  self.error_data = error_data
27
- self.create_story_log = create_story_log
27
+ if kwargs_ is None:
28
+ kwargs_ = None
29
+ self.kwargs_ = kwargs_
28
30
 
29
31
  self.error_common_so = ErrorCommonSO(
30
32
  has_error=True,
@@ -174,6 +174,10 @@ def logging_func_before_in_api_exception_handler(
174
174
  ):
175
175
  return
176
176
 
177
+ if isinstance(exception, APIException):
178
+ if exception.kwargs_.get("logging") is False:
179
+ return
180
+
177
181
  _logger.exception(exception)
178
182
 
179
183
  return func
@@ -210,7 +214,7 @@ def create_story_log_func_before_in_api_exception_handler(
210
214
  return
211
215
 
212
216
  if isinstance(exception, APIException):
213
- if not exception.create_story_log:
217
+ if exception.kwargs_.get("create_story_log") is False:
214
218
  return
215
219
 
216
220
  async with get_cached_sqlalchemy_db().new_async_session() as session:
@@ -4,7 +4,7 @@ from project.api.router.admin import get_auth_data, get_arpakitlib_project_templ
4
4
  reinit_sqlalchemy_db, get_story_log, init_sqlalchemy_db, get_sqlalchemy_db_table_name_to_amount, \
5
5
  get_operation_allowed_statuses, get_operation, create_operation, get_operation_allowed_types, get_log_file, \
6
6
  clear_log_file, check_sqlalchemy_db, get_settings, get_user, make_test_data_1, make_test_data_5, make_test_data_4, \
7
- make_test_data_3, make_test_data_2
7
+ make_test_data_3, make_test_data_2, raise_api_exception_1, raise_api_exception_2, raise_api_exception_3
8
8
 
9
9
  main_admin_api_router = APIRouter()
10
10
 
@@ -23,6 +23,22 @@ main_admin_api_router.include_router(
23
23
  prefix="/raise_fake_error"
24
24
  )
25
25
 
26
+
27
+ main_admin_api_router.include_router(
28
+ router=raise_api_exception_1.api_router,
29
+ prefix="/raise_api_exception_1"
30
+ )
31
+
32
+ main_admin_api_router.include_router(
33
+ router=raise_api_exception_2.api_router,
34
+ prefix="/raise_api_exception_2"
35
+ )
36
+
37
+ main_admin_api_router.include_router(
38
+ router=raise_api_exception_3.api_router,
39
+ prefix="/raise_api_exception_3"
40
+ )
41
+
26
42
  main_admin_api_router.include_router(
27
43
  router=reinit_sqlalchemy_db.api_router,
28
44
  prefix="/reinit_sqlalchemy_db"
@@ -0,0 +1,40 @@
1
+ import fastapi.requests
2
+ from fastapi import APIRouter
3
+
4
+ from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
5
+ require_api_key_dbm_api_authorize_middleware
6
+ from project.api.exception import APIException
7
+ from project.api.schema.out.common.error import ErrorCommonSO
8
+ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
+
10
+ api_router = APIRouter()
11
+
12
+
13
+ @api_router.get(
14
+ path="",
15
+ name="Raise api exception 1",
16
+ status_code=fastapi.status.HTTP_200_OK,
17
+ response_model=ErrorCommonSO,
18
+ )
19
+ async def _(
20
+ *,
21
+ request: fastapi.requests.Request,
22
+ response: fastapi.responses.Response,
23
+ api_auth_data: APIAuthorizeData = fastapi.Depends(api_authorize(middlewares=[
24
+ require_api_key_dbm_api_authorize_middleware(
25
+ require_active=True
26
+ ),
27
+ require_user_token_dbm_api_authorize_middleware(
28
+ require_active_user_token=True,
29
+ require_user_roles=[UserDBM.Roles.admin]
30
+ )
31
+ ]))
32
+ ):
33
+ raise APIException(
34
+ error_code="RAISE_API_EXCEPTION",
35
+ error_specification_code="1",
36
+ error_description="Simple, create_story_log=True",
37
+ kwargs_={
38
+ "create_story_log": True
39
+ }
40
+ )
@@ -0,0 +1,40 @@
1
+ import fastapi.requests
2
+ from fastapi import APIRouter
3
+
4
+ from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
5
+ require_api_key_dbm_api_authorize_middleware
6
+ from project.api.exception import APIException
7
+ from project.api.schema.out.common.error import ErrorCommonSO
8
+ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
+
10
+ api_router = APIRouter()
11
+
12
+
13
+ @api_router.get(
14
+ path="",
15
+ name="Raise api exception 2",
16
+ status_code=fastapi.status.HTTP_200_OK,
17
+ response_model=ErrorCommonSO,
18
+ )
19
+ async def _(
20
+ *,
21
+ request: fastapi.requests.Request,
22
+ response: fastapi.responses.Response,
23
+ api_auth_data: APIAuthorizeData = fastapi.Depends(api_authorize(middlewares=[
24
+ require_api_key_dbm_api_authorize_middleware(
25
+ require_active=True
26
+ ),
27
+ require_user_token_dbm_api_authorize_middleware(
28
+ require_active_user_token=True,
29
+ require_user_roles=[UserDBM.Roles.admin]
30
+ )
31
+ ]))
32
+ ):
33
+ raise APIException(
34
+ error_code="RAISE_API_EXCEPTION",
35
+ error_specification_code="2",
36
+ error_description="Simple, create_story_log=False",
37
+ kwargs_={
38
+ "create_story_log": False
39
+ }
40
+ )
@@ -0,0 +1,40 @@
1
+ import fastapi.requests
2
+ from fastapi import APIRouter
3
+
4
+ from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
5
+ require_api_key_dbm_api_authorize_middleware
6
+ from project.api.exception import APIException
7
+ from project.api.schema.out.common.error import ErrorCommonSO
8
+ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
+
10
+ api_router = APIRouter()
11
+
12
+
13
+ @api_router.get(
14
+ path="",
15
+ name="Raise api exception 3",
16
+ status_code=fastapi.status.HTTP_200_OK,
17
+ response_model=ErrorCommonSO,
18
+ )
19
+ async def _(
20
+ *,
21
+ request: fastapi.requests.Request,
22
+ response: fastapi.responses.Response,
23
+ api_auth_data: APIAuthorizeData = fastapi.Depends(api_authorize(middlewares=[
24
+ require_api_key_dbm_api_authorize_middleware(
25
+ require_active=True
26
+ ),
27
+ require_user_token_dbm_api_authorize_middleware(
28
+ require_active_user_token=True,
29
+ require_user_roles=[UserDBM.Roles.admin]
30
+ )
31
+ ]))
32
+ ):
33
+ raise APIException(
34
+ error_code="RAISE_API_EXCEPTION",
35
+ error_specification_code="3",
36
+ error_description="Simple, logging=False",
37
+ kwargs_={
38
+ "logging": False
39
+ }
40
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.168
3
+ Version: 1.8.170
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=mbM5q-3lHD1IaIdSI-fTT_4o4n1UotqzksLxGBNxxjg,98
11
+ arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=atNvoUsY-k-ufUcakguY8JR1_hanqrcaGl3Ubwna-t4,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,8 +92,8 @@ arpakitlib/_arpakit_project_template_v_5/project/api/const.py,sha256=J9bqaRRiIc3
92
92
  arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=R9NJXGss1oO-T1ztInFetQ8SoqIXsV5UyKelU7R2-og,2913
93
93
  arpakitlib/_arpakit_project_template_v_5/project/api/create_first_data.py,sha256=sc98-xW74QbhFCT6AW5-fUJVd8RLRxClAOEW5-ec9T0,1815
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=J1RNvEcF-1ZVCXgQSpuoUqBTqd-QjfyFnsbbTVu1rv8,1372
96
- arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=VzkABWb7wdqVP3XMtHMEPy0veSxM3X5OHsqoa2cwTQI,11385
95
+ arpakitlib/_arpakit_project_template_v_5/project/api/exception.py,sha256=DubhdZtgR6tXG6EEhAMxuEut8IRgGOGsQi5LGELpaE0,1417
96
+ arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=AqT5l_GyTMWZsW-eI4ZD5FU4zMR0HKhsxsMX3p2KukY,11535
97
97
  arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py,sha256=PLhH-W6zDViO-75AGCs8Vq3IoyHChdqwBYAqLvdQN0U,904
98
98
  arpakitlib/_arpakit_project_template_v_5/project/api/response.py,sha256=xZMymP2BuQaRNVWLeIp3UgUUo-MFN8MJnsn9Al4vOb8,1028
99
99
  arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -112,12 +112,15 @@ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy
112
112
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py,sha256=sK0FvNzoG-pE5rD2Q62t6yK5Bx1Y2JZA_04sOk14loQ,2033
113
113
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py,sha256=lBTR7eyjVbf0I8yG1yTovlrz2H4h-6O3wggQLsMPdsw,2763
114
114
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/init_sqlalchemy_db.py,sha256=HUDaDeyb5ldpiEaA2mJIsAuGF6H-XupGvKfxjrkxMTE,1333
115
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/main_router.py,sha256=oDf4EnvYhJR3ZI_Kl-V1kuTbPZqSKJFODfnqgPtiW6U,3005
115
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/main_router.py,sha256=CcwWdr_ECBwFX7SdnY4k5VAFBmEWxo-zLNpgzU_9aZg,3441
116
116
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_1.py,sha256=tITqtXW2C7od04_ECQudR_5kupVoKrYVnUVU2YcZp-g,1178
117
117
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_2.py,sha256=w003vLYnCUmM5GMaPDFGYcKd04OUf6rvonAQSEToZ5c,1178
118
118
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_3.py,sha256=P0IF-awERehfABlE68O1GjxTYVaBEUl-s5tQL2tQ-Qg,1178
119
119
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_4.py,sha256=u0VDTCQoMl17jmtGM4f2uDFf52F6Aq7B_d8fbUK83hE,1178
120
120
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_5.py,sha256=5hEvMeTj7Bu_JT1alRHBFjyOfdEaZeMwk_Smrpqd-So,1178
121
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_1.py,sha256=Z2f7wv4R_jZPy8KccOtsmVsOjrLsFSBZYGRAsTRVbhE,1300
122
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_2.py,sha256=YI5PTA7miwYtl8-GiYSPW3NfpXtx5MwzWI_kKZXWS3c,1302
123
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_3.py,sha256=y8rrEPfS2P-273HSsWorHkxft-KOt7vly35tDukqsPU,1284
121
124
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_fake_error.py,sha256=kMr06QR39XVUoVwUuwJHoQmaWHvlfi2j53ZCMX3CU48,1048
122
125
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/reinit_sqlalchemy_db.py,sha256=kTa_RSZgPKbDfdFHzhAJroddWOUDRK4YTJN2WVnKu-Q,1343
123
126
  arpakitlib/_arpakit_project_template_v_5/project/api/router/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -408,8 +411,8 @@ arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA8
408
411
  arpakitlib/ar_str_util.py,sha256=2lGpnXDf2h1cBZpVf5i1tX_HCv5iBd6IGnrCw4QWWlY,4350
409
412
  arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
410
413
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
411
- arpakitlib-1.8.168.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
412
- arpakitlib-1.8.168.dist-info/METADATA,sha256=XWzJqiszevtHB8nIrKVLHNSDRwIiVr9Gs8aurPZ8x2Q,3706
413
- arpakitlib-1.8.168.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
414
- arpakitlib-1.8.168.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
415
- arpakitlib-1.8.168.dist-info/RECORD,,
414
+ arpakitlib-1.8.170.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
415
+ arpakitlib-1.8.170.dist-info/METADATA,sha256=ZqrMr1KrOQosrhan_n-0Q55roF9ddhC7XPj9vuMf3EU,3706
416
+ arpakitlib-1.8.170.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
417
+ arpakitlib-1.8.170.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
418
+ arpakitlib-1.8.170.dist-info/RECORD,,