arpakitlib 1.7.41__py3-none-any.whl → 1.7.43__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.
- arpakitlib/_arpakit_project_template/src/api/auth.py +6 -0
- arpakitlib/_arpakit_project_template/src/api/util.py +0 -0
- arpakitlib/_arpakit_project_template/src/core/settings.py +2 -0
- arpakitlib/api_key_util.py +1 -1
- arpakitlib/ar_fastapi_util.py +9 -16
- arpakitlib/ar_type_util.py +1 -1
- {arpakitlib-1.7.41.dist-info → arpakitlib-1.7.43.dist-info}/METADATA +1 -1
- {arpakitlib-1.7.41.dist-info → arpakitlib-1.7.43.dist-info}/RECORD +12 -10
- {arpakitlib-1.7.41.dist-info → arpakitlib-1.7.43.dist-info}/LICENSE +0 -0
- {arpakitlib-1.7.41.dist-info → arpakitlib-1.7.43.dist-info}/NOTICE +0 -0
- {arpakitlib-1.7.41.dist-info → arpakitlib-1.7.43.dist-info}/WHEEL +0 -0
- {arpakitlib-1.7.41.dist-info → arpakitlib-1.7.43.dist-info}/entry_points.txt +0 -0
File without changes
|
@@ -31,6 +31,8 @@ class Settings(SimpleSettings):
|
|
31
31
|
|
32
32
|
api_port: int | None = int("{API_PORT}") if "{API_PORT}".isdigit() else None
|
33
33
|
|
34
|
+
api_correct_api_key: str | None = None
|
35
|
+
|
34
36
|
var_dirname: str | None = "var"
|
35
37
|
|
36
38
|
var_dirpath: str | None = os.path.join(BASE_DIRPATH, var_dirname)
|
arpakitlib/api_key_util.py
CHANGED
arpakitlib/ar_fastapi_util.py
CHANGED
@@ -32,7 +32,7 @@ from arpakitlib.ar_json_util import safely_transfer_to_json_str_to_json_obj
|
|
32
32
|
from arpakitlib.ar_logging_util import setup_normal_logging
|
33
33
|
from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM
|
34
34
|
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
|
35
|
-
from arpakitlib.ar_type_util import raise_for_type, raise_if_not_async_func
|
35
|
+
from arpakitlib.ar_type_util import raise_for_type, raise_if_not_async_func, raise_if_none
|
36
36
|
|
37
37
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
38
38
|
|
@@ -529,26 +529,20 @@ def base_api_auth(
|
|
529
529
|
|
530
530
|
|
531
531
|
class CheckAPIKeyAPIAuthData(BaseAPIAuthData):
|
532
|
-
require_check_api_key: bool = False
|
533
532
|
is_api_key_correct: bool | None = None
|
534
533
|
|
535
534
|
|
536
|
-
def
|
535
|
+
def is_api_key_correct_api_auth(
|
537
536
|
*,
|
538
|
-
|
539
|
-
check_api_key_func: Callable | None = None,
|
537
|
+
validate_api_key_func: Callable | None = None,
|
540
538
|
correct_api_key: str | None = None
|
541
539
|
):
|
542
|
-
|
543
|
-
require_api_key_string = True
|
544
|
-
else:
|
545
|
-
require_api_key_string = False
|
540
|
+
require_api_key_string = True
|
546
541
|
|
547
542
|
if correct_api_key is not None:
|
548
|
-
|
543
|
+
validate_api_key_func = lambda **kwargs: kwargs["api_key_string"] == correct_api_key
|
549
544
|
|
550
|
-
|
551
|
-
raise ValueError("require_check_api_key and check_api_key_func is None")
|
545
|
+
raise_if_none(validate_api_key_func)
|
552
546
|
|
553
547
|
async def func(
|
554
548
|
*,
|
@@ -560,18 +554,17 @@ def check_api_key_api_auth(
|
|
560
554
|
request: starlette.requests.Request
|
561
555
|
) -> CheckAPIKeyAPIAuthData:
|
562
556
|
check_api_key_api_auth_data = CheckAPIKeyAPIAuthData.model_validate(base_api_auth_data)
|
563
|
-
check_api_key_api_auth_data.require_check_api_key = require_check_api_key
|
564
557
|
check_api_key_api_auth_data.is_api_key_correct = (
|
565
|
-
|
558
|
+
validate_api_key_func(
|
566
559
|
api_key_string=base_api_auth_data.api_key_string,
|
567
560
|
base_api_auth_data=base_api_auth_data,
|
568
561
|
transmitted_api_data=transmitted_api_data,
|
569
562
|
request=request
|
570
563
|
)
|
571
|
-
if
|
564
|
+
if validate_api_key_func is not None else None
|
572
565
|
)
|
573
566
|
|
574
|
-
if
|
567
|
+
if not check_api_key_api_auth_data.is_api_key_correct:
|
575
568
|
raise APIException(
|
576
569
|
status_code=starlette.status.HTTP_401_UNAUTHORIZED,
|
577
570
|
error_code=ErrorSO.APIErrorCodes.cannot_authorize,
|
arpakitlib/ar_type_util.py
CHANGED
@@ -71,6 +71,7 @@ arpakitlib/_arpakit_project_template/src/additional_model/__init__.py,sha256=47D
|
|
71
71
|
arpakitlib/_arpakit_project_template/src/additional_model/additional_model.py,sha256=4KCOvto9Hj5eMYpvfaJChghhR9bkCvKluGGPWrTezoY,134
|
72
72
|
arpakitlib/_arpakit_project_template/src/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
73
|
arpakitlib/_arpakit_project_template/src/api/asgi.py,sha256=a5UBxOyNC8NG3E0ayhiDo3t5tPoB3WtOf2gbZJFWBAA,74
|
74
|
+
arpakitlib/_arpakit_project_template/src/api/auth.py,sha256=Ljq_VjjiAaW3HEzq60nkSI-HkHfuv6j5-8Q6Qs8V9bU,261
|
74
75
|
arpakitlib/_arpakit_project_template/src/api/create_api_app.py,sha256=uDEnLAPugb3rXuuJDMkfs8i6aIGYo0-_JP-PG6Spdr4,4496
|
75
76
|
arpakitlib/_arpakit_project_template/src/api/event.py,sha256=58wCVyVSIe_kydWi44M0Wvp7bTnV8xvO30gMXzjbFYc,750
|
76
77
|
arpakitlib/_arpakit_project_template/src/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -82,10 +83,11 @@ arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py,sha256=47DEQpj8HBS
|
|
82
83
|
arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
84
|
arpakitlib/_arpakit_project_template/src/api/start_api_for_dev.py,sha256=BwROGTR8Hm1ewx_Z0k8HXeql4RIItCdCtP_hmhTT_PM,344
|
84
85
|
arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py,sha256=YtpATqzN216e76W5QOuzN-Vo6343PVDiHpKWYQ6oqyU,278
|
86
|
+
arpakitlib/_arpakit_project_template/src/api/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
85
87
|
arpakitlib/_arpakit_project_template/src/business_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
88
|
arpakitlib/_arpakit_project_template/src/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
87
89
|
arpakitlib/_arpakit_project_template/src/core/const.py,sha256=CZZew674y7LhCAlYhvuF5cV4Zb9nQ17j2Tcuj2GEBf4,1232
|
88
|
-
arpakitlib/_arpakit_project_template/src/core/settings.py,sha256=
|
90
|
+
arpakitlib/_arpakit_project_template/src/core/settings.py,sha256=Rg90TaiilxSxqvfeqrFeZNIXxrvfWgvwYME9ErHJ200,2058
|
89
91
|
arpakitlib/_arpakit_project_template/src/core/util.py,sha256=J1_AiI4DW_VB8ldLNATP6mjxz254CSxceGcqUbT0SVU,2006
|
90
92
|
arpakitlib/_arpakit_project_template/src/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
91
93
|
arpakitlib/_arpakit_project_template/src/db/sqlalchemy_model.py,sha256=nXtayUkBaVb6tWx5qJgXZLbLOTVAjnSLpSDxBm7yZLc,234
|
@@ -102,7 +104,7 @@ arpakitlib/_arpakit_project_template/src/test_data/make_test_data_3.py,sha256=89
|
|
102
104
|
arpakitlib/_arpakit_project_template/src/test_data/make_test_data_4.py,sha256=BlVvIhSFclBMQMHftETS57bRaFpkOdKPrZyxMbYJuDY,80
|
103
105
|
arpakitlib/_arpakit_project_template/src/test_data/make_test_data_5.py,sha256=7ruCZevqJoLSdqL1OEJWUy3YPCOHQif7JqVTKxZ9acM,80
|
104
106
|
arpakitlib/_arpakit_project_template/src/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
105
|
-
arpakitlib/api_key_util.py,sha256=
|
107
|
+
arpakitlib/api_key_util.py,sha256=DtzREor5h70XlZOv1ounNoPHL5_cc0YA28SaHvlFaWs,224
|
106
108
|
arpakitlib/ar_additional_model_util.py,sha256=tNzZhZtvtJ1qC6Cn4UnyoEL58HudfpCdQy5ftkCqyik,473
|
107
109
|
arpakitlib/ar_aiogram_util.py,sha256=5JPCDZpdBGTE-EIWPRez9amCZAX7XemFIVu5YrQK7Pw,12264
|
108
110
|
arpakitlib/ar_arpakit_lib_module_util.py,sha256=V_mc3Ml73Tzz3arxmwEfIxruKMyrwbe8XZ9FfVDtUXY,5446
|
@@ -137,7 +139,7 @@ arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css,sha256=jzPZlgJTFwSdSphk9C
|
|
137
139
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map,sha256=5wq8eXMLU6Zxb45orZPL1zAsBFJReFw6GjYqGpUX3hg,262650
|
138
140
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js,sha256=ffrLZHHEQ_g84A-ul3yWa10Kk09waOAxHcQXPuZuavg,339292
|
139
141
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map,sha256=9UhIW7MqCOZPAz1Sl1IKfZUuhWU0p-LJqrnjjJD9Xhc,1159454
|
140
|
-
arpakitlib/ar_fastapi_util.py,sha256=
|
142
|
+
arpakitlib/ar_fastapi_util.py,sha256=EL4tO7jQKArbvVvNOXaDx-pJDB1cOedWm1YiXBTzsG8,24320
|
141
143
|
arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
|
142
144
|
arpakitlib/ar_file_util.py,sha256=07xCF7paAUP2JUyfpeX0l3N1oCSma7qAcBmrCIZVi3g,452
|
143
145
|
arpakitlib/ar_hash_util.py,sha256=Iqy6KBAOLBQMFLWv676boI5sV7atT2B-fb7aCdHOmIQ,340
|
@@ -163,12 +165,12 @@ arpakitlib/ar_sqlalchemy_model_util.py,sha256=TFGOAgpxcnBV_u7yZrLCkf1ldlB4Of8vIR
|
|
163
165
|
arpakitlib/ar_sqlalchemy_util.py,sha256=Hcg1THrDsSR_-8dsY1CG3NWPEv0FqCbkPXFXLtjlSJ0,4207
|
164
166
|
arpakitlib/ar_ssh_runner_util.py,sha256=jlnss4V4pziBN1rBzoK_lDiWm6nMOqGXfa6NFJSKH-Y,6796
|
165
167
|
arpakitlib/ar_str_util.py,sha256=oCEtQ_TTn35OEz9jCNLjbhopq76JmaifD_iYR-nEJJ4,2142
|
166
|
-
arpakitlib/ar_type_util.py,sha256=
|
168
|
+
arpakitlib/ar_type_util.py,sha256=99tp2xEQaAxy1D2AdpJMVIqJa7ycj72o6D8gCoJiVcY,2157
|
167
169
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=sh4fcUkAkdOetFn9JYoTvjcSXP-M1wU04KEY-ECLfLg,5137
|
168
170
|
arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
|
169
|
-
arpakitlib-1.7.
|
170
|
-
arpakitlib-1.7.
|
171
|
-
arpakitlib-1.7.
|
172
|
-
arpakitlib-1.7.
|
173
|
-
arpakitlib-1.7.
|
174
|
-
arpakitlib-1.7.
|
171
|
+
arpakitlib-1.7.43.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
172
|
+
arpakitlib-1.7.43.dist-info/METADATA,sha256=VN-d0OUcmbY1Pern6idUVOOZWJiELSNgr-XQ_aHLkk8,2824
|
173
|
+
arpakitlib-1.7.43.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
|
174
|
+
arpakitlib-1.7.43.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
175
|
+
arpakitlib-1.7.43.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
176
|
+
arpakitlib-1.7.43.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|