arpakitlib 1.8.99__py3-none-any.whl → 1.8.101__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/arpakitlib_project_template_info.json +1 -1
- arpakitlib/_arpakit_project_template_v_5/project/business_service/create_first_admin.py +37 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py +5 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py +13 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py +5 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +5 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +5 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py +1 -1
- {arpakitlib-1.8.99.dist-info → arpakitlib-1.8.101.dist-info}/METADATA +1 -1
- {arpakitlib-1.8.99.dist-info → arpakitlib-1.8.101.dist-info}/RECORD +13 -12
- {arpakitlib-1.8.99.dist-info → arpakitlib-1.8.101.dist-info}/LICENSE +0 -0
- {arpakitlib-1.8.99.dist-info → arpakitlib-1.8.101.dist-info}/WHEEL +0 -0
- {arpakitlib-1.8.99.dist-info → arpakitlib-1.8.101.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,37 @@
|
|
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()
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
-
from project.sqladmin_.util.etc import format_datetime_
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_, format_json_, format_json_for_preview_
|
5
5
|
from project.sqlalchemy_db_.sqlalchemy_model import ApiKeyDBM
|
6
6
|
|
7
7
|
|
@@ -27,8 +27,10 @@ class ApiKeyMV(SimpleMV, model=ApiKeyDBM):
|
|
27
27
|
ApiKeyDBM.value,
|
28
28
|
]
|
29
29
|
column_formatters = {
|
30
|
-
ApiKeyDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
30
|
+
ApiKeyDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
31
|
+
ApiKeyDBM.extra_data: lambda m, a: format_json_for_preview_(m.extra_data),
|
31
32
|
}
|
32
33
|
column_formatters_detail = {
|
33
|
-
ApiKeyDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
34
|
+
ApiKeyDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
35
|
+
ApiKeyDBM.extra_data: lambda m, a: format_json_(m.extra_data),
|
34
36
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
-
from project.sqladmin_.util.etc import format_datetime_
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
|
5
5
|
from project.sqlalchemy_db_.sqlalchemy_model import OperationDBM
|
6
6
|
|
7
7
|
|
@@ -32,8 +32,18 @@ class OperationMV(SimpleMV, model=OperationDBM):
|
|
32
32
|
OperationDBM.slug,
|
33
33
|
]
|
34
34
|
column_formatters = {
|
35
|
-
OperationDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
35
|
+
OperationDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
36
|
+
OperationDBM.execution_start_dt: lambda m, _: format_datetime_(m.execution_start_dt),
|
37
|
+
OperationDBM.execution_finish_dt: lambda m, _: format_datetime_(m.execution_finish_dt),
|
38
|
+
OperationDBM.input_data: lambda m, a: format_json_for_preview_(m.input_data),
|
39
|
+
OperationDBM.output_data: lambda m, a: format_json_for_preview_(m.output_data),
|
40
|
+
OperationDBM.error_data: lambda m, a: format_json_for_preview_(m.error_data),
|
41
|
+
OperationDBM.extra_data: lambda m, a: format_json_for_preview_(m.extra_data),
|
36
42
|
}
|
37
43
|
column_formatters_detail = {
|
38
|
-
OperationDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
44
|
+
OperationDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
45
|
+
OperationDBM.input_data: lambda m, a: format_json_(m.input_data),
|
46
|
+
OperationDBM.output_data: lambda m, a: format_json_(m.output_data),
|
47
|
+
OperationDBM.error_data: lambda m, a: format_json_(m.error_data),
|
48
|
+
OperationDBM.extra_data: lambda m, a: format_json_(m.extra_data),
|
39
49
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
-
from project.sqladmin_.util.etc import format_datetime_
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
|
5
5
|
from project.sqlalchemy_db_.sqlalchemy_model import StoryLogDBM
|
6
6
|
|
7
7
|
|
@@ -27,8 +27,10 @@ class StoryLogMV(SimpleMV, model=StoryLogDBM):
|
|
27
27
|
StoryLogDBM.slug,
|
28
28
|
]
|
29
29
|
column_formatters = {
|
30
|
-
StoryLogDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
30
|
+
StoryLogDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
31
|
+
StoryLogDBM.extra_data: lambda m, a: format_json_for_preview_(m.extra_data),
|
31
32
|
}
|
32
33
|
column_formatters_detail = {
|
33
|
-
StoryLogDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
34
|
+
StoryLogDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
35
|
+
StoryLogDBM.extra_data: lambda m, a: format_json_(m.extra_data),
|
34
36
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
-
from project.sqladmin_.util.etc import format_datetime_
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
|
5
5
|
from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
|
6
6
|
|
7
7
|
|
@@ -49,8 +49,10 @@ class UserMV(SimpleMV, model=UserDBM):
|
|
49
49
|
UserDBM.tg_id
|
50
50
|
]
|
51
51
|
column_formatters = {
|
52
|
-
UserDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
52
|
+
UserDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
53
|
+
UserDBM.extra_data: lambda m, a: format_json_for_preview_(m.extra_data),
|
53
54
|
}
|
54
55
|
column_formatters_detail = {
|
55
|
-
UserDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
56
|
+
UserDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
57
|
+
UserDBM.extra_data: lambda m, a: format_json_(m.extra_data),
|
56
58
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
-
from project.sqladmin_.util.etc import format_datetime_
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
|
5
5
|
from project.sqlalchemy_db_.sqlalchemy_model import UserTokenDBM
|
6
6
|
|
7
7
|
|
@@ -38,8 +38,10 @@ class UserTokenMV(SimpleMV, model=UserTokenDBM):
|
|
38
38
|
UserTokenDBM.value,
|
39
39
|
]
|
40
40
|
column_formatters = {
|
41
|
-
UserTokenDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
41
|
+
UserTokenDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
42
|
+
UserTokenDBM.extra_data: lambda m, a: format_json_for_preview_(m.extra_data),
|
42
43
|
}
|
43
44
|
column_formatters_detail = {
|
44
|
-
UserTokenDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
45
|
+
UserTokenDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
46
|
+
UserTokenDBM.extra_data: lambda m, a: format_json_(m.extra_data),
|
45
47
|
}
|
@@ -18,7 +18,7 @@ def format_datetime_(datetime_: dt.datetime | None) -> str:
|
|
18
18
|
def format_json_for_preview_(data: dict[str, Any] | list[Any] | None) -> str:
|
19
19
|
if data is None:
|
20
20
|
return ""
|
21
|
-
return f"JSON {type(data)}
|
21
|
+
return f"JSON {type(data)} {len(data)} элемент(ов)"
|
22
22
|
|
23
23
|
|
24
24
|
def format_json_(data: dict[str, Any] | list[Any] | None) -> str:
|
@@ -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=
|
11
|
+
arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=ZneHlEsk8wRJSuHj4ZP4GeF5uLsCc2qGMz5Ibx8EJms,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
|
@@ -159,6 +159,7 @@ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py,
|
|
159
159
|
arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user_token.py,sha256=iiuZXu_zo3FJX0W5qyyMGasUx-_d32yjqc_2KY3xpUA,513
|
160
160
|
arpakitlib/_arpakit_project_template_v_5/project/api/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
161
161
|
arpakitlib/_arpakit_project_template_v_5/project/business_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
|
+
arpakitlib/_arpakit_project_template_v_5/project/business_service/create_first_admin.py,sha256=2TzUxP8XY1ijTMXzpjfwelWgtqDmuX9_VmN915cvfkI,959
|
162
163
|
arpakitlib/_arpakit_project_template_v_5/project/business_service/hello_world.py,sha256=lvWlVF6SlnC33swSCd-_QK6guxBg50myOd8cPS7hZrA,251
|
163
164
|
arpakitlib/_arpakit_project_template_v_5/project/business_service/remove_operations.py,sha256=E2F8xonPeZovKKOHv-XDmsQUHvks8A6R89PVhF_pAQI,1780
|
164
165
|
arpakitlib/_arpakit_project_template_v_5/project/celery_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -229,14 +230,14 @@ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py,sha256=DRlRPk
|
|
229
230
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=x5F8--5KA4cmTrb6kAAmp6fVd2TiqxPOzxqUkSEhSG4,1298
|
230
231
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py,sha256=LjAUYNlsX9Sj_QLMzYuTQbbYYbIMHhbsSjTXt-G7lOE,849
|
231
232
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py,sha256=MtEk37LR9xg5XltEbIAw1hh74BsS70I2G3C21QSbjVQ,357
|
232
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=
|
233
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=SNk66VApMLgfOHB8grLDiYnm8KYZTmw7eoOdBmkZCfw,1193
|
233
234
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py,sha256=US1tueTCPvAdse6TLT6yRLUHbvwGGagApYhFJzE_6Yc,576
|
234
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=
|
235
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=
|
236
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=
|
237
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=
|
235
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=lIwqYRd2n-wPAKtDlPpNqNHAcSxJDMbtfh8upShqN1I,2112
|
236
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=yTBHnL8em7d96o-tL2OsKQEryDQfDYFeEUpkNTjfHQI,1236
|
237
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=7pjzmIe-Nit2Bk3GL4H7sLem46UcHN1sLc5ZrWd3xQQ,1679
|
238
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=q1kjGEkNvaMmbxnpMmR66qF1CdkIChC_SF3YVJnYsks,1529
|
238
239
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
239
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py,sha256=
|
240
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py,sha256=jm65ZB0K8e6WpgcL2Y6pxcIuQjioIyMtBIOOFbbWfgk,1070
|
240
241
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
241
242
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
|
242
243
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_db.py,sha256=1y3FaMFzm_5UM2poqtBve_UP_mh1vjs--krq6yO8PsA,742
|
@@ -386,8 +387,8 @@ arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA8
|
|
386
387
|
arpakitlib/ar_str_util.py,sha256=CAv0wH8nP5Ja59S-hEdmNhNrM_Fwy935d0zntLpJkx8,4309
|
387
388
|
arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
|
388
389
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
|
389
|
-
arpakitlib-1.8.
|
390
|
-
arpakitlib-1.8.
|
391
|
-
arpakitlib-1.8.
|
392
|
-
arpakitlib-1.8.
|
393
|
-
arpakitlib-1.8.
|
390
|
+
arpakitlib-1.8.101.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
391
|
+
arpakitlib-1.8.101.dist-info/METADATA,sha256=5q2R3PZ1Dl8y5OnfmjaCSxE1q_acj9SFDf9euTsjmMk,3471
|
392
|
+
arpakitlib-1.8.101.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
393
|
+
arpakitlib-1.8.101.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
394
|
+
arpakitlib-1.8.101.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|