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.
@@ -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()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.112
3
+ Version: 1.8.113
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -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/event.py,sha256=xKfJ3UnOx_g1s7KNZjWRp0eZbVRTsSlyJhT3wkfwT6k,2414
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=LjAUYNlsX9Sj_QLMzYuTQbbYYbIMHhbsSjTXt-G7lOE,849
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.112.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
400
- arpakitlib-1.8.112.dist-info/METADATA,sha256=rRtXEb7kPS7p60Eb4WtlFZf7YVi8W0ABiq-sGC4hRAc,3566
401
- arpakitlib-1.8.112.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
402
- arpakitlib-1.8.112.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
403
- arpakitlib-1.8.112.dist-info/RECORD,,
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()