arpakitlib 1.8.112__py3-none-any.whl → 1.8.114__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/schema/out/admin/user.py +1 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py +1 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py +1 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/start_api.py +26 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py +2 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py +15 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py +10 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +19 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +10 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py +12 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/start_sqladmin.py +19 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py +4 -0
- arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_1.py +2 -1
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.114.dist-info}/METADATA +1 -1
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.114.dist-info}/RECORD +20 -18
- arpakitlib/_arpakit_project_template_v_5/project/business_service/create_first_admin.py +0 -37
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.114.dist-info}/LICENSE +0 -0
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.114.dist-info}/WHEEL +0 -0
- {arpakitlib-1.8.112.dist-info → arpakitlib-1.8.114.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,8 @@
|
|
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
|
5
|
+
|
4
6
|
from project.core.settings import get_cached_settings
|
5
7
|
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
6
8
|
|
@@ -25,6 +25,21 @@ class OperationMV(SimpleMV, model=OperationDBM):
|
|
25
25
|
OperationDBM.error_data,
|
26
26
|
OperationDBM.extra_data
|
27
27
|
]
|
28
|
+
column_details_list = [
|
29
|
+
OperationDBM.id,
|
30
|
+
OperationDBM.long_id,
|
31
|
+
OperationDBM.slug,
|
32
|
+
OperationDBM.creation_dt,
|
33
|
+
OperationDBM.status,
|
34
|
+
OperationDBM.type,
|
35
|
+
OperationDBM.title,
|
36
|
+
OperationDBM.execution_start_dt,
|
37
|
+
OperationDBM.execution_finish_dt,
|
38
|
+
OperationDBM.input_data,
|
39
|
+
OperationDBM.output_data,
|
40
|
+
OperationDBM.error_data,
|
41
|
+
OperationDBM.extra_data
|
42
|
+
]
|
28
43
|
form_columns = [
|
29
44
|
OperationDBM.slug,
|
30
45
|
OperationDBM.status,
|
@@ -19,6 +19,16 @@ class StoryLogMV(SimpleMV, model=StoryLogDBM):
|
|
19
19
|
StoryLogDBM.title,
|
20
20
|
StoryLogDBM.extra_data
|
21
21
|
]
|
22
|
+
column_details_list = [
|
23
|
+
StoryLogDBM.id,
|
24
|
+
StoryLogDBM.long_id,
|
25
|
+
StoryLogDBM.slug,
|
26
|
+
StoryLogDBM.creation_dt,
|
27
|
+
StoryLogDBM.level,
|
28
|
+
StoryLogDBM.type,
|
29
|
+
StoryLogDBM.title,
|
30
|
+
StoryLogDBM.extra_data
|
31
|
+
]
|
22
32
|
form_columns = [
|
23
33
|
StoryLogDBM.slug,
|
24
34
|
StoryLogDBM.level,
|
@@ -15,6 +15,23 @@ class UserMV(SimpleMV, model=UserDBM):
|
|
15
15
|
UserDBM.long_id,
|
16
16
|
UserDBM.slug,
|
17
17
|
UserDBM.creation_dt,
|
18
|
+
UserDBM.fullname,
|
19
|
+
UserDBM.email,
|
20
|
+
UserDBM.username,
|
21
|
+
UserDBM.roles,
|
22
|
+
UserDBM.is_active,
|
23
|
+
UserDBM.password,
|
24
|
+
UserDBM.tg_id,
|
25
|
+
UserDBM.tg_data,
|
26
|
+
UserDBM.tg_bot_last_action_dt,
|
27
|
+
UserDBM.extra_data
|
28
|
+
]
|
29
|
+
column_details_list = [
|
30
|
+
UserDBM.id,
|
31
|
+
UserDBM.long_id,
|
32
|
+
UserDBM.slug,
|
33
|
+
UserDBM.creation_dt,
|
34
|
+
UserDBM.fullname,
|
18
35
|
UserDBM.email,
|
19
36
|
UserDBM.username,
|
20
37
|
UserDBM.roles,
|
@@ -27,6 +44,7 @@ class UserMV(SimpleMV, model=UserDBM):
|
|
27
44
|
]
|
28
45
|
form_columns = [
|
29
46
|
UserDBM.slug,
|
47
|
+
UserDBM.fullname,
|
30
48
|
UserDBM.email,
|
31
49
|
UserDBM.username,
|
32
50
|
UserDBM.roles,
|
@@ -53,6 +71,7 @@ class UserMV(SimpleMV, model=UserDBM):
|
|
53
71
|
column_searchable_list = [
|
54
72
|
UserDBM.id,
|
55
73
|
UserDBM.long_id,
|
74
|
+
UserDBM.fullname,
|
56
75
|
UserDBM.email,
|
57
76
|
UserDBM.username,
|
58
77
|
UserDBM.tg_id
|
@@ -19,6 +19,16 @@ class UserTokenMV(SimpleMV, model=UserTokenDBM):
|
|
19
19
|
UserTokenDBM.is_active,
|
20
20
|
UserTokenDBM.extra_data,
|
21
21
|
]
|
22
|
+
column_details_list = [
|
23
|
+
UserTokenDBM.id,
|
24
|
+
UserTokenDBM.long_id,
|
25
|
+
UserTokenDBM.slug,
|
26
|
+
UserTokenDBM.creation_dt,
|
27
|
+
UserTokenDBM.value,
|
28
|
+
UserTokenDBM.user,
|
29
|
+
UserTokenDBM.is_active,
|
30
|
+
UserTokenDBM.extra_data,
|
31
|
+
]
|
22
32
|
form_columns = [
|
23
33
|
UserTokenDBM.slug,
|
24
34
|
UserTokenDBM.creation_dt,
|
@@ -24,6 +24,18 @@ class VerificationCodeMV(SimpleMV, model=VerificationCodeDBM):
|
|
24
24
|
VerificationCodeDBM.is_active,
|
25
25
|
VerificationCodeDBM.extra_data
|
26
26
|
]
|
27
|
+
column_details_list = [
|
28
|
+
VerificationCodeDBM.id,
|
29
|
+
VerificationCodeDBM.long_id,
|
30
|
+
VerificationCodeDBM.slug,
|
31
|
+
VerificationCodeDBM.creation_dt,
|
32
|
+
VerificationCodeDBM.type,
|
33
|
+
VerificationCodeDBM.value,
|
34
|
+
VerificationCodeDBM.recipient,
|
35
|
+
VerificationCodeDBM.user,
|
36
|
+
VerificationCodeDBM.is_active,
|
37
|
+
VerificationCodeDBM.extra_data
|
38
|
+
]
|
27
39
|
form_columns = [
|
28
40
|
VerificationCodeDBM.slug,
|
29
41
|
VerificationCodeDBM.type,
|
@@ -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()
|
@@ -19,13 +19,14 @@ def make_test_data_1():
|
|
19
19
|
|
20
20
|
with get_cached_sqlalchemy_db().new_session() as session:
|
21
21
|
|
22
|
-
for i in range(
|
22
|
+
for i in range(100):
|
23
23
|
api_key = ApiKeyDBM(value=str(i + 1))
|
24
24
|
session.add(api_key)
|
25
25
|
_logger.info(api_key)
|
26
26
|
session.commit()
|
27
27
|
|
28
28
|
arpakit_user = UserDBM(
|
29
|
+
fullname="Арсен",
|
29
30
|
email="arpakit@gmail.com",
|
30
31
|
username="arpakit",
|
31
32
|
roles=[UserDBM.Roles.client, UserDBM.Roles.admin],
|
@@ -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
|
@@ -141,12 +142,12 @@ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/__init__.p
|
|
141
142
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/common.py,sha256=0vZOPql7ijaSr0yq5USSHNRSHnpUmCgYdh0vw4n8qak,591
|
142
143
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/operation.py,sha256=Gg0TSj9RmsaHBaWNzjJPLYnTN1wZ7Od0z8OaqMFa6hc,833
|
143
144
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/story_log.py,sha256=lOQWCpXrdVbLFRZFbY5aW9afM4vn5-KV3DwKb6_48N4,565
|
144
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py,sha256=
|
145
|
+
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py,sha256=j4Ezq2Ia4ZonWRagaRY-FvZneuW04D3kQT-w4GOLpWo,1095
|
145
146
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
146
147
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/common.py,sha256=vpE_bjT7fdaWe0LQxuVwEy7ZDSyVe4PrcX-gUTRWZbU,539
|
147
148
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_1.py,sha256=G7rdFpfIK13w2nQVuAASqvtPm9jHPzt59A_-dtJfle4,763
|
148
149
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_token_1.py,sha256=XhM0YMWK1fJCzTGgnSsEKFynx8Cs6JwygmmF4C1_Jts,714
|
149
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py,sha256=
|
150
|
+
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py,sha256=JEwIqTJIko_v2NTV5zbTgzgXj8qld8tHwxJDfLj2iq4,1075
|
150
151
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user_token.py,sha256=Emhpawd_jGWu9xzyYyXk9h0YDSnHGDkyfP-hIgenzpA,508
|
151
152
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
152
153
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/datetime_.py,sha256=YFo29Qc7JMVq-OR398kPy4ypjh9kYAxPuZZUsobhDdc,942
|
@@ -156,11 +157,11 @@ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/raw_data.
|
|
156
157
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
157
158
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/api_key.py,sha256=S0b1t79VRJZMA1hNdJJe_bH-QN5qNY8uJIHVVDnQ6Is,506
|
158
159
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/common.py,sha256=y-p4QJhvKnFL1I6ud3m_nzE0xtreT3CNApPkkkLAbG0,541
|
159
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py,sha256=
|
160
|
+
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py,sha256=AvYwqaowd1V_6VQjrIGxt8SwqNEgmirLcHbtSHPwWmQ,1080
|
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,15 +231,16 @@ 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=n8Bt78wyIqplxhbmSrwHf0rolV46QvXLOJ6UjAUNCZE,937
|
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
|
237
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=
|
238
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=
|
239
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=
|
240
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=
|
241
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py,sha256=
|
238
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=KUC-EZYFlLca92b6PwI0l5leOT8DzjlWm6y-a0PCvQc,3234
|
239
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=BFieWjN5cWgft0Vocrdn_9d3YiDvCBxOjQJ3otPJSEQ,1658
|
240
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=Ca92t9vj-Eu6x6NGi0rv8AnxNCx0fhDzuTDqVJpGdW0,2426
|
241
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=pyeyDTg4rss8-67hIE3-SQlAvNfje6HazuaVnyFBpN8,2054
|
242
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py,sha256=8dfmXKVsmLNf6Id6Ql52uVaZuQtqNCq5nJgBOv3N66A,2883
|
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
|
@@ -249,13 +251,13 @@ arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model
|
|
249
251
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py,sha256=9j3QwBkaQSmsqXZbAYZDysGXP3xPPAHJfqIja5UnLcc,3229
|
250
252
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py,sha256=op5cSkTlHJyGjULgcSWE9-_PNinKSneHLxhG5DUkd9M,5913
|
251
253
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py,sha256=wig_D6OZyYYGsqZEbmSK56qoAIOnOVnOEB_sRSZLSIU,2396
|
252
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py,sha256=
|
254
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py,sha256=bAyeFV9EU5J1R6POQieDSPpna9q_AMr-9oHq2SVHnSQ,7637
|
253
255
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py,sha256=UtSbQRlNJOnD7q-d_aZfMjQnPFnchGPf1fWGwsgCm5k,1944
|
254
256
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/verification_code.py,sha256=13aDT9m2l9zaJXqHZi0MsoY--5BNWhbw0O9uQJAW16E,3136
|
255
257
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
256
258
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
257
259
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_api_keys.py,sha256=9F2bMfymaqx_Czh_tF945BKpKqNrVNjSIfCQl13Dkxw,911
|
258
|
-
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_1.py,sha256=
|
260
|
+
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_1.py,sha256=F7vCmfWjItw5QzYR7_OAPSHdJt9louuvqXvcfOkU0AU,2246
|
259
261
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_2.py,sha256=VcCvxRLA0XnLaQcsaoZkIVV8rTO3uMyLTYoEsdxKtYE,416
|
260
262
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_3.py,sha256=9QJTgM4qsJXPgFhfVueQ9vObXr_dAldzP_p8dPO42uA,416
|
261
263
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_4.py,sha256=OyU9601WACF7cCpPT33x6CpizNJeQIPDDFezIvEO01A,416
|
@@ -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.114.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
402
|
+
arpakitlib-1.8.114.dist-info/METADATA,sha256=RF87YlXnrStQ2Qld70zHu6k7AgKoS-cgZP8W5TY-3t8,3566
|
403
|
+
arpakitlib-1.8.114.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
404
|
+
arpakitlib-1.8.114.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
405
|
+
arpakitlib-1.8.114.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
|