arpakitlib 1.8.112__py3-none-any.whl → 1.8.113__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_v_5/project/api/create_first_data.py +64 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/event.py +4 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/start_api.py +26 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py +1 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/start_sqladmin.py +19 -0
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.113.dist-info}/METADATA +1 -1
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.113.dist-info}/RECORD +10 -8
- arpakitlib/_arpakit_project_template_v_5/project/business_service/create_first_admin.py +0 -37
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.113.dist-info}/LICENSE +0 -0
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.113.dist-info}/WHEEL +0 -0
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.113.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,64 @@
|
|
1
|
+
import logging
|
2
|
+
|
3
|
+
from project.core.util import setup_logging
|
4
|
+
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
5
|
+
from project.sqlalchemy_db_.sqlalchemy_model import UserDBM, ApiKeyDBM, UserTokenDBM
|
6
|
+
|
7
|
+
_logger = logging.getLogger(__name__)
|
8
|
+
|
9
|
+
|
10
|
+
def create_first_data_for_api():
|
11
|
+
with get_cached_sqlalchemy_db().new_session() as session:
|
12
|
+
user_dbm = (
|
13
|
+
session
|
14
|
+
.query(UserDBM)
|
15
|
+
.filter(UserDBM.roles.any(UserDBM.Roles.admin))
|
16
|
+
.first()
|
17
|
+
)
|
18
|
+
if user_dbm is None:
|
19
|
+
user_dbm = UserDBM(
|
20
|
+
username="admin",
|
21
|
+
roles=[UserDBM.Roles.client, UserDBM.Roles.admin],
|
22
|
+
password="admin",
|
23
|
+
)
|
24
|
+
session.add(user_dbm)
|
25
|
+
session.commit()
|
26
|
+
_logger.info("admin was created")
|
27
|
+
|
28
|
+
user_token_dbm = (
|
29
|
+
session
|
30
|
+
.query(UserTokenDBM)
|
31
|
+
.filter(UserTokenDBM.user_id == user_dbm.id)
|
32
|
+
.first()
|
33
|
+
)
|
34
|
+
if user_token_dbm is None:
|
35
|
+
user_token_dbm = UserTokenDBM(
|
36
|
+
value="1",
|
37
|
+
user_id=user_dbm.id
|
38
|
+
)
|
39
|
+
session.add(user_token_dbm)
|
40
|
+
session.commit()
|
41
|
+
_logger.info("admin token was created")
|
42
|
+
|
43
|
+
api_key_dbm = (
|
44
|
+
session
|
45
|
+
.query(ApiKeyDBM)
|
46
|
+
.first()
|
47
|
+
)
|
48
|
+
if api_key_dbm is None:
|
49
|
+
api_key_dbm = ApiKeyDBM(
|
50
|
+
value="1",
|
51
|
+
title="First api key"
|
52
|
+
)
|
53
|
+
session.add(api_key_dbm)
|
54
|
+
session.commit()
|
55
|
+
_logger.info("api key was created")
|
56
|
+
|
57
|
+
|
58
|
+
def command():
|
59
|
+
setup_logging()
|
60
|
+
create_first_data_for_api()
|
61
|
+
|
62
|
+
|
63
|
+
if __name__ == '__main__':
|
64
|
+
command()
|
@@ -2,6 +2,7 @@ import logging
|
|
2
2
|
from typing import Callable
|
3
3
|
|
4
4
|
from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
|
5
|
+
from project.api.create_first_data import create_first_data_for_api
|
5
6
|
from project.core.cache_file_storage_in_dir import get_cached_cache_file_storage_in_dir
|
6
7
|
from project.core.dump_file_storage_in_dir import get_cached_dump_file_storage_in_dir
|
7
8
|
from project.core.media_file_storage_in_dir import get_cached_media_file_storage_in_dir
|
@@ -41,6 +42,9 @@ async def async_startup_api_event():
|
|
41
42
|
):
|
42
43
|
get_cached_json_db().init()
|
43
44
|
|
45
|
+
if get_cached_sqlalchemy_db() is not None:
|
46
|
+
create_first_data_for_api()
|
47
|
+
|
44
48
|
if get_cached_settings().api_start_operation_executor_worker:
|
45
49
|
_ = safe_run_worker_in_background(
|
46
50
|
worker=create_operation_executor_worker(),
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import uvicorn
|
2
|
+
|
3
|
+
from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
|
4
|
+
from project.core.settings import get_cached_settings
|
5
|
+
from project.core.util import setup_logging
|
6
|
+
from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
|
7
|
+
|
8
|
+
|
9
|
+
def __command():
|
10
|
+
setup_logging()
|
11
|
+
if get_cached_settings().api_start_scheduled_operation_creator_worker:
|
12
|
+
_ = safe_run_worker_in_background(
|
13
|
+
worker=create_scheduled_operation_creator_worker(),
|
14
|
+
mode=SafeRunInBackgroundModes.thread
|
15
|
+
)
|
16
|
+
uvicorn.run(
|
17
|
+
"project.api.asgi:app",
|
18
|
+
port=get_cached_settings().api_port,
|
19
|
+
host="localhost",
|
20
|
+
workers=1,
|
21
|
+
reload=False
|
22
|
+
)
|
23
|
+
|
24
|
+
|
25
|
+
if __name__ == '__main__':
|
26
|
+
__command()
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import logging
|
2
2
|
from typing import Callable
|
3
3
|
|
4
|
+
from project.business_service.create_first_data import create_first_admin_with_api_key
|
4
5
|
from project.core.settings import get_cached_settings
|
5
6
|
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
6
7
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import uvicorn
|
2
|
+
|
3
|
+
from project.core.settings import get_cached_settings
|
4
|
+
from project.core.util import setup_logging
|
5
|
+
|
6
|
+
|
7
|
+
def __command():
|
8
|
+
setup_logging()
|
9
|
+
uvicorn.run(
|
10
|
+
"project.sqladmin_.asgi:app",
|
11
|
+
port=get_cached_settings().sqladmin_port,
|
12
|
+
host="localhost",
|
13
|
+
workers=1,
|
14
|
+
reload=False
|
15
|
+
)
|
16
|
+
|
17
|
+
|
18
|
+
if __name__ == '__main__':
|
19
|
+
__command()
|
@@ -89,7 +89,8 @@ arpakitlib/_arpakit_project_template_v_5/project/api/blank/client.py,sha256=rvJK
|
|
89
89
|
arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py,sha256=ug1FylE_CVC5eij-u4nh-IHNO-gwkbBGo5KgyWDujC8,91
|
90
90
|
arpakitlib/_arpakit_project_template_v_5/project/api/const.py,sha256=J9bqaRRiIc3RLn6SJTvdfDvFrSsM_Ixii9t2M8dA5Jc,433
|
91
91
|
arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=fRYjpKEB5pMpFtWEhUe84mVvaFBKQ2WU5BTwCpb0J2Y,2861
|
92
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/
|
92
|
+
arpakitlib/_arpakit_project_template_v_5/project/api/create_first_data.py,sha256=sc98-xW74QbhFCT6AW5-fUJVd8RLRxClAOEW5-ec9T0,1815
|
93
|
+
arpakitlib/_arpakit_project_template_v_5/project/api/event.py,sha256=2DqXb8-iiSMoyh5OJI7nf53N5Bij5HfnFVrbLlI8G3w,2566
|
93
94
|
arpakitlib/_arpakit_project_template_v_5/project/api/exception.py,sha256=cNZaI2DacGLl8Hyn1qIfFpVjvQzOQjwXWsVW4auBrCo,1280
|
94
95
|
arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=TEzkCNOg_TAELRTZgLtblVagSaHf-vego_oH5FNCbcs,11179
|
95
96
|
arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py,sha256=PLhH-W6zDViO-75AGCs8Vq3IoyHChdqwBYAqLvdQN0U,904
|
@@ -158,9 +159,9 @@ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/api_key.
|
|
158
159
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/common.py,sha256=y-p4QJhvKnFL1I6ud3m_nzE0xtreT3CNApPkkkLAbG0,541
|
159
160
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py,sha256=pHNtMOXZCSSpobetiKRKveEX6fPoywI5y7uQf9_WrBk,1055
|
160
161
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user_token.py,sha256=iiuZXu_zo3FJX0W5qyyMGasUx-_d32yjqc_2KY3xpUA,513
|
162
|
+
arpakitlib/_arpakit_project_template_v_5/project/api/start_api.py,sha256=fl-dkm2I3ModQXjGG6VrP6vUFciEcRW_ORFG3VX8jH8,821
|
161
163
|
arpakitlib/_arpakit_project_template_v_5/project/api/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
164
|
arpakitlib/_arpakit_project_template_v_5/project/business_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
163
|
-
arpakitlib/_arpakit_project_template_v_5/project/business_service/create_first_admin.py,sha256=2TzUxP8XY1ijTMXzpjfwelWgtqDmuX9_VmN915cvfkI,959
|
164
165
|
arpakitlib/_arpakit_project_template_v_5/project/business_service/hello_world.py,sha256=lvWlVF6SlnC33swSCd-_QK6guxBg50myOd8cPS7hZrA,251
|
165
166
|
arpakitlib/_arpakit_project_template_v_5/project/business_service/remove_operations.py,sha256=E2F8xonPeZovKKOHv-XDmsQUHvks8A6R89PVhF_pAQI,1780
|
166
167
|
arpakitlib/_arpakit_project_template_v_5/project/celery_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -230,7 +231,7 @@ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py,s
|
|
230
231
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py,sha256=tmvYx5hFO2RqHmhKktpMRJaBuT6vDHBOsQujihO7sMw,4983
|
231
232
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py,sha256=DRlRPkcOGXOccfP73oKEXolZTsc5VWdQgEG-qoW03ms,99
|
232
233
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=x5F8--5KA4cmTrb6kAAmp6fVd2TiqxPOzxqUkSEhSG4,1298
|
233
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py,sha256=
|
234
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py,sha256=JhaCB_dW4YDQ5B8TlqI06qp_KVSiHuQefdLmhqoIdEI,936
|
234
235
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py,sha256=dc_swzjkRDj85SWQ3cGGgsrp_cq5evUYQYUg0g7C5nw,435
|
235
236
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=VTpepKLCKrPnftGD-8Ibp75S0dwUrLlUytRfcXDDcKg,1597
|
236
237
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py,sha256=StdbfHZ92qAP-l2lnvAeyYCaZuMHKskHq1E19zJh6MA,2471
|
@@ -239,6 +240,7 @@ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.
|
|
239
240
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=npO1CSSycbgzgL7fWRuxIoB1zJySVqISP0ZKwjSm6y8,1953
|
240
241
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=Q826LQIiK9J5JKKaAyB0xituMUxuMyyvFF-c1ekyAPM,1784
|
241
242
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py,sha256=AU0f9VzBxeBkVTSp2tpqracLYW5gsJIx69PrIYTn5H8,2485
|
243
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/start_sqladmin.py,sha256=g3kNKPR4X-PKpiSe4oFLHbZ-EJIwmWUOK6a5FABat_Y,375
|
242
244
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
243
245
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py,sha256=jm65ZB0K8e6WpgcL2Y6pxcIuQjioIyMtBIOOFbbWfgk,1070
|
244
246
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -396,8 +398,8 @@ arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA8
|
|
396
398
|
arpakitlib/ar_str_util.py,sha256=CAv0wH8nP5Ja59S-hEdmNhNrM_Fwy935d0zntLpJkx8,4309
|
397
399
|
arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
|
398
400
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
|
399
|
-
arpakitlib-1.8.
|
400
|
-
arpakitlib-1.8.
|
401
|
-
arpakitlib-1.8.
|
402
|
-
arpakitlib-1.8.
|
403
|
-
arpakitlib-1.8.
|
401
|
+
arpakitlib-1.8.113.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
402
|
+
arpakitlib-1.8.113.dist-info/METADATA,sha256=UTCEQ0WcA44R7yM8uU_8vpU71CPbyK2VPE_--gwEYEY,3566
|
403
|
+
arpakitlib-1.8.113.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
404
|
+
arpakitlib-1.8.113.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
405
|
+
arpakitlib-1.8.113.dist-info/RECORD,,
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import logging
|
2
|
-
|
3
|
-
from project.core.util import setup_logging
|
4
|
-
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
5
|
-
from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
|
6
|
-
|
7
|
-
_logger = logging.getLogger(__name__)
|
8
|
-
|
9
|
-
|
10
|
-
def create_first_admin():
|
11
|
-
with get_cached_sqlalchemy_db().new_session() as session:
|
12
|
-
user_dbm = (
|
13
|
-
session
|
14
|
-
.query(UserDBM)
|
15
|
-
.filter(UserDBM.roles.any(UserDBM.Roles.admin))
|
16
|
-
.first()
|
17
|
-
)
|
18
|
-
if user_dbm is not None:
|
19
|
-
_logger.info("first admin already exists")
|
20
|
-
return
|
21
|
-
user_dbm = UserDBM(
|
22
|
-
username="admin",
|
23
|
-
roles=[UserDBM.Roles.client, UserDBM.Roles.admin],
|
24
|
-
password="admin",
|
25
|
-
)
|
26
|
-
session.add(user_dbm)
|
27
|
-
session.commit()
|
28
|
-
_logger.info("first admin was created")
|
29
|
-
|
30
|
-
|
31
|
-
def command():
|
32
|
-
setup_logging()
|
33
|
-
create_first_admin()
|
34
|
-
|
35
|
-
|
36
|
-
if __name__ == '__main__':
|
37
|
-
command()
|
File without changes
|
File without changes
|
File without changes
|