arpakitlib 1.8.108__py3-none-any.whl → 1.8.110__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.
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "arpakitlib_project_template_version": "5",
3
- "arpakitlib_project_template_subversion": "24"
3
+ "arpakitlib_project_template_subversion": "25"
4
4
  }
@@ -9,7 +9,26 @@ class ApiKeyMV(SimpleMV, model=ApiKeyDBM):
9
9
  name = "ApiKey"
10
10
  name_plural = "ApiKeys"
11
11
  icon = "fa-solid fa-key"
12
- column_list = sqlalchemy.inspect(ApiKeyDBM).columns
12
+ column_list = [
13
+ ApiKeyDBM.id,
14
+ ApiKeyDBM.long_id,
15
+ ApiKeyDBM.slug,
16
+ ApiKeyDBM.creation_dt,
17
+ ApiKeyDBM.title,
18
+ ApiKeyDBM.value,
19
+ ApiKeyDBM.is_active,
20
+ ApiKeyDBM.extra_data
21
+ ]
22
+ column_details_list = [
23
+ ApiKeyDBM.id,
24
+ ApiKeyDBM.long_id,
25
+ ApiKeyDBM.slug,
26
+ ApiKeyDBM.creation_dt,
27
+ ApiKeyDBM.title,
28
+ ApiKeyDBM.value,
29
+ ApiKeyDBM.is_active,
30
+ ApiKeyDBM.extra_data
31
+ ]
13
32
  form_columns = [
14
33
  ApiKeyDBM.slug,
15
34
  ApiKeyDBM.title,
@@ -22,8 +41,6 @@ class ApiKeyMV(SimpleMV, model=ApiKeyDBM):
22
41
  ]
23
42
  column_searchable_list = [
24
43
  ApiKeyDBM.id,
25
- ApiKeyDBM.long_id,
26
- ApiKeyDBM.slug,
27
44
  ApiKeyDBM.value,
28
45
  ]
29
46
  column_formatters = {
@@ -1,4 +1,5 @@
1
1
  import sqlalchemy
2
+ from sqladmin.fields import SelectField
2
3
 
3
4
  from project.sqladmin_.model_view.common import SimpleMV
4
5
  from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
@@ -9,7 +10,21 @@ class OperationMV(SimpleMV, model=OperationDBM):
9
10
  name = "Operation"
10
11
  name_plural = "Operations"
11
12
  icon = "fa-solid fa-gears"
12
- column_list = sqlalchemy.inspect(OperationDBM).columns
13
+ column_list = [
14
+ OperationDBM.id,
15
+ OperationDBM.long_id,
16
+ OperationDBM.slug,
17
+ OperationDBM.creation_dt,
18
+ OperationDBM.status,
19
+ OperationDBM.type,
20
+ OperationDBM.title,
21
+ OperationDBM.execution_start_dt,
22
+ OperationDBM.execution_finish_dt,
23
+ OperationDBM.input_data,
24
+ OperationDBM.output_data,
25
+ OperationDBM.error_data,
26
+ OperationDBM.extra_data
27
+ ]
13
28
  form_columns = [
14
29
  OperationDBM.slug,
15
30
  OperationDBM.status,
@@ -22,14 +37,22 @@ class OperationMV(SimpleMV, model=OperationDBM):
22
37
  OperationDBM.error_data,
23
38
  OperationDBM.extra_data
24
39
  ]
40
+ form_overrides = {
41
+ OperationDBM.status.key: SelectField
42
+ }
43
+ form_args = {
44
+ OperationDBM.status.key: {
45
+ "choices": [(status, status) for status in OperationDBM.Statuses.values_list()],
46
+ "description": "Choose status"
47
+ }
48
+ }
25
49
  column_sortable_list = sqlalchemy.inspect(OperationDBM).columns
26
50
  column_default_sort = [
27
51
  (OperationDBM.creation_dt, True)
28
52
  ]
29
53
  column_searchable_list = [
30
54
  OperationDBM.id,
31
- OperationDBM.long_id,
32
- OperationDBM.slug,
55
+ OperationDBM.long_id
33
56
  ]
34
57
  column_formatters = {
35
58
  OperationDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
@@ -1,4 +1,5 @@
1
1
  import sqlalchemy
2
+ from wtforms import SelectMultipleField
2
3
 
3
4
  from project.sqladmin_.model_view.common import SimpleMV
4
5
  from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
@@ -36,6 +37,15 @@ class UserMV(SimpleMV, model=UserDBM):
36
37
  UserDBM.tg_bot_last_action_dt,
37
38
  UserDBM.extra_data
38
39
  ]
40
+ form_overrides = {
41
+ UserDBM.roles.key: SelectMultipleField
42
+ }
43
+ form_args = {
44
+ UserDBM.roles.key: {
45
+ "choices": [(role, role) for role in UserDBM.Roles.values_list()],
46
+ "description": "Choose user roles"
47
+ }
48
+ }
39
49
  column_sortable_list = sqlalchemy.inspect(UserDBM).columns
40
50
  column_default_sort = [
41
51
  (UserDBM.creation_dt, True)
@@ -2,7 +2,7 @@ import sqlalchemy
2
2
 
3
3
  from project.sqladmin_.model_view.common import SimpleMV
4
4
  from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
5
- from project.sqlalchemy_db_.sqlalchemy_model import UserTokenDBM
5
+ from project.sqlalchemy_db_.sqlalchemy_model import UserTokenDBM, UserDBM
6
6
 
7
7
 
8
8
  class UserTokenMV(SimpleMV, model=UserTokenDBM):
@@ -45,3 +45,11 @@ class UserTokenMV(SimpleMV, model=UserTokenDBM):
45
45
  UserTokenDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
46
46
  UserTokenDBM.extra_data: lambda m, a: format_json_(m.extra_data),
47
47
  }
48
+ form_ajax_refs = {
49
+ UserTokenDBM.user.key: {
50
+ "fields": [UserDBM.id.key, UserDBM.email.key],
51
+ "placeholder": "Search by id or email",
52
+ "minimum_input_length": 1,
53
+ "page_size": 10,
54
+ }
55
+ }
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import sqlalchemy
4
+ from sqladmin.fields import SelectField
4
5
 
5
6
  from project.sqladmin_.model_view import SimpleMV
6
7
  from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
@@ -32,16 +33,23 @@ class VerificationCodeMV(SimpleMV, model=VerificationCodeDBM):
32
33
  VerificationCodeDBM.is_active,
33
34
  VerificationCodeDBM.extra_data
34
35
  ]
36
+ form_overrides = {
37
+ VerificationCodeDBM.type.key: SelectField
38
+ }
39
+ form_args = {
40
+ VerificationCodeDBM.type.key: {
41
+ "choices": [(status, status) for status in VerificationCodeDBM.Types.values_list()],
42
+ "description": "Choose type"
43
+ }
44
+ }
35
45
  column_sortable_list = sqlalchemy.inspect(VerificationCodeDBM).columns
36
46
  column_default_sort = [
37
47
  (VerificationCodeDBM.creation_dt, True)
38
48
  ]
39
49
  column_searchable_list = [
40
50
  VerificationCodeDBM.id,
41
- VerificationCodeDBM.long_id,
42
- VerificationCodeDBM.slug,
43
51
  VerificationCodeDBM.value,
44
- VerificationCodeDBM.recipient,
52
+ VerificationCodeDBM.recipient
45
53
  ]
46
54
  column_formatters = {
47
55
  VerificationCodeDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.108
3
+ Version: 1.8.110
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -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=rqII_y4Uc4rsf3NPxaIMjyTBO2LmKeQxG1JaQIxxNLA,98
11
+ arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=ci8A7G6hZkXMNSaZE5P8knBMo4tQBtmS61Zkl6fzll4,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
@@ -232,13 +232,13 @@ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py,sha256=DRlRPk
232
232
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=x5F8--5KA4cmTrb6kAAmp6fVd2TiqxPOzxqUkSEhSG4,1298
233
233
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py,sha256=LjAUYNlsX9Sj_QLMzYuTQbbYYbIMHhbsSjTXt-G7lOE,849
234
234
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py,sha256=dc_swzjkRDj85SWQ3cGGgsrp_cq5evUYQYUg0g7C5nw,435
235
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=SNk66VApMLgfOHB8grLDiYnm8KYZTmw7eoOdBmkZCfw,1193
235
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=VZKCG2GQworbmB_PPHPU10qMf5IThP0LN27k50XlHlg,1570
236
236
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py,sha256=US1tueTCPvAdse6TLT6yRLUHbvwGGagApYhFJzE_6Yc,576
237
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=lIwqYRd2n-wPAKtDlPpNqNHAcSxJDMbtfh8upShqN1I,2112
237
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=4BFJEp_yIpZltfEjsBC__J_BfgIBYzOc6LeoWFxP1MI,2785
238
238
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=8N9ahbCzNVczqgO_g0luRqP8luCv5bmCLoz66UYZ0mU,1427
239
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=7pjzmIe-Nit2Bk3GL4H7sLem46UcHN1sLc5ZrWd3xQQ,1679
240
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=q1kjGEkNvaMmbxnpMmR66qF1CdkIChC_SF3YVJnYsks,1529
241
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py,sha256=llFZ3KDtv0M-wAC77IGAiF9TM8fO83w1xlTWr_t-vHk,1900
239
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=-QxTreqrSZkIUDrTWkkTH8jI--tH7kXwpWq9TRn_1X4,1984
240
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=gGhpfqwydZ5VA6vdvNblp3NQHqXZLd1K3OxcYVU1SoM,1789
241
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py,sha256=_uuBUTkV7cAhHxaBVYk8JSp5voATOc-Kgq36-nC_o-w,2159
242
242
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
243
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py,sha256=jm65ZB0K8e6WpgcL2Y6pxcIuQjioIyMtBIOOFbbWfgk,1070
244
244
  arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -392,8 +392,8 @@ arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA8
392
392
  arpakitlib/ar_str_util.py,sha256=CAv0wH8nP5Ja59S-hEdmNhNrM_Fwy935d0zntLpJkx8,4309
393
393
  arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
394
394
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
395
- arpakitlib-1.8.108.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
396
- arpakitlib-1.8.108.dist-info/METADATA,sha256=jgzV39GScpi1sgRSiPkI7Bbt520miM5phD-0PlF6x2c,3566
397
- arpakitlib-1.8.108.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
398
- arpakitlib-1.8.108.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
399
- arpakitlib-1.8.108.dist-info/RECORD,,
395
+ arpakitlib-1.8.110.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
396
+ arpakitlib-1.8.110.dist-info/METADATA,sha256=xOyDGGFbdSk39F8anU0TMvHPZ8oxurhPYItXElio5Vs,3566
397
+ arpakitlib-1.8.110.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
398
+ arpakitlib-1.8.110.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
399
+ arpakitlib-1.8.110.dist-info/RECORD,,