amsdal 0.3.3__cp311-cp311-macosx_10_9_universal2.whl → 0.5.29__cp311-cp311-macosx_10_9_universal2.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.
- amsdal/Third-Party Materials - AMSDAL Dependencies - License Notices.md +56 -2
- amsdal/__about__.py +1 -1
- amsdal/__init__.py +20 -0
- amsdal/__init__.pyi +9 -0
- amsdal/__migrations__/0000_initial.py +23 -190
- amsdal/__migrations__/0001_create_class_file.py +61 -0
- amsdal/__migrations__/0002_create_class_file.py +109 -0
- amsdal/__migrations__/0003_update_class_file.py +91 -0
- amsdal/__migrations__/0004_update_class_file.py +45 -0
- amsdal/cloud/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/client.cpython-311-darwin.so +0 -0
- amsdal/cloud/constants.cpython-311-darwin.so +0 -0
- amsdal/cloud/enums.cpython-311-darwin.so +0 -0
- amsdal/cloud/models/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/models/base.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_allowlist_ip.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_basic_auth.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_dependency.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_secret.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/base.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/create_deploy.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/create_env.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/create_session.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_allowlist_ip.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_basic_auth.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_dependency.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_env.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_secret.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/destroy_deploy.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/expose_db.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/get_monitoring_info.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_dependencies.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_deploys.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_envs.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_secrets.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/manager.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/signup_action.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/update_deploy.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/base.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/credentials.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/credentials.pyi +0 -1
- amsdal/cloud/services/auth/manager.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/signup_service.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/token.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/token.pyi +0 -1
- amsdal/configs/main.py +40 -20
- amsdal/configs/main.pyi +19 -18
- amsdal/contrib/__init__.cpython-311-darwin.so +0 -0
- amsdal/contrib/auth/errors.py +36 -0
- amsdal/contrib/auth/errors.pyi +12 -0
- amsdal/contrib/auth/fixtures/basic_permissions.json +64 -0
- amsdal/contrib/auth/lifecycle/consumer.py +13 -13
- amsdal/contrib/auth/lifecycle/consumer.pyi +3 -0
- amsdal/contrib/auth/migrations/0000_initial.py +69 -31
- amsdal/contrib/auth/migrations/0001_add_mfa_support.py +188 -0
- amsdal/contrib/auth/models/__init__.py +1 -0
- amsdal/contrib/auth/models/backup_code.py +85 -0
- amsdal/contrib/auth/models/email_mfa_device.py +108 -0
- amsdal/contrib/auth/models/login_session.py +235 -0
- amsdal/contrib/auth/models/mfa_device.py +86 -0
- amsdal/contrib/auth/models/permission.py +23 -0
- amsdal/contrib/auth/models/sms_device.py +113 -0
- amsdal/contrib/auth/models/totp_device.py +58 -0
- amsdal/contrib/auth/models/user.py +156 -0
- amsdal/contrib/auth/services/__init__.py +1 -0
- amsdal/contrib/auth/services/mfa_device_service.py +544 -0
- amsdal/contrib/auth/services/mfa_device_service.pyi +216 -0
- amsdal/contrib/auth/services/totp_service.py +358 -0
- amsdal/contrib/auth/services/totp_service.pyi +158 -0
- amsdal/contrib/auth/settings.py +8 -0
- amsdal/contrib/auth/settings.pyi +8 -0
- amsdal/contrib/auth/transactions/__init__.py +1 -0
- amsdal/contrib/auth/transactions/mfa_device_transactions.py +463 -0
- amsdal/contrib/auth/transactions/mfa_device_transactions.pyi +226 -0
- amsdal/contrib/auth/transactions/totp_transactions.py +206 -0
- amsdal/contrib/auth/transactions/totp_transactions.pyi +113 -0
- amsdal/contrib/auth/utils/__init__.py +0 -0
- amsdal/contrib/auth/utils/__init__.pyi +0 -0
- amsdal/contrib/auth/utils/mfa.py +257 -0
- amsdal/contrib/auth/utils/mfa.pyi +119 -0
- amsdal/contrib/frontend_configs/conversion/convert.py +85 -25
- amsdal/contrib/frontend_configs/conversion/convert.pyi +0 -1
- amsdal/contrib/frontend_configs/lifecycle/consumer.py +32 -13
- amsdal/contrib/frontend_configs/lifecycle/consumer.pyi +1 -1
- amsdal/contrib/frontend_configs/migrations/0000_initial.py +167 -195
- amsdal/contrib/frontend_configs/migrations/0001_update_frontend_control_config.py +245 -0
- amsdal/contrib/frontend_configs/migrations/0002_add_button_and_invoke_actions.py +352 -0
- amsdal/contrib/frontend_configs/migrations/0003_create_class_frontendconfigdashboardelement.py +145 -0
- amsdal/contrib/frontend_configs/models/__init__.py +0 -0
- amsdal/contrib/frontend_configs/models/frontend_activator_config.py +22 -0
- amsdal/contrib/frontend_configs/models/frontend_config_async_validator.py +11 -0
- amsdal/contrib/frontend_configs/models/frontend_config_control_action.py +110 -0
- amsdal/contrib/frontend_configs/models/frontend_config_dashboard.py +51 -0
- amsdal/contrib/frontend_configs/models/frontend_config_group_validator.py +21 -0
- amsdal/contrib/frontend_configs/models/frontend_config_option.py +12 -0
- amsdal/contrib/frontend_configs/models/frontend_config_skip_none_base.py +17 -0
- amsdal/contrib/frontend_configs/models/frontend_config_slider_option.py +13 -0
- amsdal/contrib/frontend_configs/models/frontend_config_text_mask.py +14 -0
- amsdal/contrib/frontend_configs/models/frontend_config_validator.py +28 -0
- amsdal/contrib/frontend_configs/models/frontend_control_config.py +110 -0
- amsdal/contrib/frontend_configs/models/frontend_model_config.py +14 -0
- amsdal/errors.py +0 -3
- amsdal/errors.pyi +0 -1
- amsdal/fixtures/__init__.cpython-311-darwin.so +0 -0
- amsdal/fixtures/manager.cpython-311-darwin.so +0 -0
- amsdal/fixtures/manager.pyi +73 -123
- amsdal/fixtures/utils.cpython-311-darwin.so +0 -0
- amsdal/fixtures/utils.pyi +9 -0
- amsdal/manager.cpython-311-darwin.so +0 -0
- amsdal/manager.pyi +9 -96
- amsdal/mixins/__init__.cpython-311-darwin.so +0 -0
- amsdal/mixins/class_versions_mixin.cpython-311-darwin.so +0 -0
- amsdal/models/__init__.py +19 -0
- amsdal/models/core/__init__.py +0 -0
- amsdal/models/core/class_object.py +38 -0
- amsdal/models/core/class_property.py +26 -0
- amsdal/models/core/file.py +243 -0
- amsdal/models/core/fixture.py +25 -0
- amsdal/models/core/option.py +11 -0
- amsdal/models/core/storage_metadata.py +15 -0
- amsdal/models/core/validator.py +12 -0
- amsdal/models/mixins.py +31 -0
- amsdal/models/types/__init__.py +0 -0
- amsdal/models/types/object.py +26 -0
- amsdal/queryset/__init__.py +21 -0
- amsdal/queryset/__init__.pyi +6 -0
- amsdal/schemas/core/class_object/model.json +20 -0
- amsdal/schemas/core/class_property/model.json +19 -0
- amsdal/schemas/core/file/properties/from_file.py +1 -1
- amsdal/schemas/core/file/properties/validate_data.py +3 -4
- amsdal/schemas/core/storage_metadata/model.json +52 -0
- amsdal/schemas/interfaces.py +25 -0
- amsdal/schemas/interfaces.pyi +20 -0
- amsdal/schemas/manager.cpython-311-darwin.so +0 -0
- amsdal/schemas/manager.py +0 -116
- amsdal/schemas/manager.pyi +0 -65
- amsdal/schemas/mixins/__init__.py +0 -0
- amsdal/schemas/mixins/__init__.pyi +0 -0
- amsdal/schemas/mixins/check_dependencies_mixin.py +130 -0
- amsdal/schemas/mixins/check_dependencies_mixin.pyi +45 -0
- amsdal/schemas/mixins/verify_schemas_mixin.py +96 -0
- amsdal/schemas/mixins/verify_schemas_mixin.pyi +33 -0
- amsdal/schemas/repository.py +84 -0
- amsdal/schemas/repository.pyi +22 -0
- amsdal/schemas/utils.py +16 -0
- amsdal/schemas/utils.pyi +10 -0
- amsdal/services/__init__.py +11 -0
- amsdal/services/__init__.pyi +4 -0
- amsdal/services/external_connections.py +262 -0
- amsdal/services/external_connections.pyi +190 -0
- amsdal/services/external_model_generator.py +350 -0
- amsdal/services/external_model_generator.pyi +134 -0
- amsdal/services/transaction_execution.cpython-311-darwin.so +0 -0
- amsdal/services/transaction_execution.pyi +2 -1
- amsdal/storages/__init__.py +20 -0
- amsdal/storages/__init__.pyi +8 -0
- amsdal/storages/file_system.py +214 -0
- amsdal/storages/file_system.pyi +36 -0
- amsdal/transactions/__init__.py +13 -0
- amsdal/transactions/__init__.pyi +4 -0
- amsdal/utils/rollback/__init__.py +99 -54
- amsdal/utils/rollback/__init__.pyi +6 -0
- amsdal/utils/tests/enums.py +0 -2
- amsdal/utils/tests/helpers.py +253 -231
- amsdal/utils/tests/migrations.py +157 -0
- {amsdal-0.3.3.dist-info → amsdal-0.5.29.dist-info}/METADATA +17 -10
- amsdal-0.5.29.dist-info/RECORD +276 -0
- {amsdal-0.3.3.dist-info → amsdal-0.5.29.dist-info}/WHEEL +1 -1
- amsdal/__migrations__/0001_datetime_type.py +0 -18
- amsdal/__migrations__/0002_fixture_order.py +0 -40
- amsdal/__migrations__/0003_schema_type_in_class_meta.py +0 -56
- amsdal/contrib/auth/models/login_session/hooks/pre_init.py +0 -68
- amsdal/contrib/auth/models/login_session/model.json +0 -23
- amsdal/contrib/auth/models/login_session/modifiers/display_name.py +0 -11
- amsdal/contrib/auth/models/permission/fixtures/basic_permissions.json +0 -62
- amsdal/contrib/auth/models/permission/model.json +0 -18
- amsdal/contrib/auth/models/permission/modifiers/display_name.py +0 -11
- amsdal/contrib/auth/models/user/hooks/post_init.py +0 -76
- amsdal/contrib/auth/models/user/hooks/pre_create.py +0 -8
- amsdal/contrib/auth/models/user/model.json +0 -25
- amsdal/contrib/auth/models/user/modifiers/display_name.py +0 -19
- amsdal/contrib/frontend_configs/models/frontend_activator_config/model.json +0 -11
- amsdal/contrib/frontend_configs/models/frontend_config_async_validator/model.json +0 -11
- amsdal/contrib/frontend_configs/models/frontend_config_group_validator/model.json +0 -52
- amsdal/contrib/frontend_configs/models/frontend_config_option/model.json +0 -15
- amsdal/contrib/frontend_configs/models/frontend_config_skip_none_base/model.json +0 -6
- amsdal/contrib/frontend_configs/models/frontend_config_skip_none_base/properties/model_dump.py +0 -13
- amsdal/contrib/frontend_configs/models/frontend_config_slider_option/model.json +0 -19
- amsdal/contrib/frontend_configs/models/frontend_config_text_mask/model.json +0 -26
- amsdal/contrib/frontend_configs/models/frontend_config_validator/model.json +0 -41
- amsdal/contrib/frontend_configs/models/frontend_control_config/model.json +0 -250
- amsdal/contrib/frontend_configs/models/frontend_model_config/fixtures/permissions.json +0 -24
- amsdal/contrib/frontend_configs/models/frontend_model_config/model.json +0 -17
- amsdal/contrib/frontend_configs/models/frontent_config_control_action/model.json +0 -54
- amsdal/contrib/frontend_configs/models/frontent_config_control_action/properties/action_validate.py +0 -33
- amsdal/migration/__init__.cpython-311-darwin.so +0 -0
- amsdal/migration/base_migration_schemas.cpython-311-darwin.so +0 -0
- amsdal/migration/base_migration_schemas.pyi +0 -120
- amsdal/migration/data_classes.cpython-311-darwin.so +0 -0
- amsdal/migration/data_classes.pyi +0 -172
- amsdal/migration/executors/__init__.cpython-311-darwin.so +0 -0
- amsdal/migration/executors/base.cpython-311-darwin.so +0 -0
- amsdal/migration/executors/base.pyi +0 -118
- amsdal/migration/executors/default_executor.cpython-311-darwin.so +0 -0
- amsdal/migration/executors/default_executor.pyi +0 -184
- amsdal/migration/executors/state_executor.cpython-311-darwin.so +0 -0
- amsdal/migration/executors/state_executor.pyi +0 -78
- amsdal/migration/file_migration_executor.cpython-311-darwin.so +0 -0
- amsdal/migration/file_migration_executor.pyi +0 -68
- amsdal/migration/file_migration_generator.cpython-311-darwin.so +0 -0
- amsdal/migration/file_migration_generator.pyi +0 -139
- amsdal/migration/file_migration_store.cpython-311-darwin.so +0 -0
- amsdal/migration/file_migration_store.pyi +0 -61
- amsdal/migration/file_migration_writer.cpython-311-darwin.so +0 -0
- amsdal/migration/file_migration_writer.pyi +0 -73
- amsdal/migration/migrations.cpython-311-darwin.so +0 -0
- amsdal/migration/migrations.pyi +0 -166
- amsdal/migration/migrations_loader.cpython-311-darwin.so +0 -0
- amsdal/migration/migrations_loader.pyi +0 -32
- amsdal/migration/schemas_loaders.cpython-311-darwin.so +0 -0
- amsdal/migration/schemas_loaders.pyi +0 -37
- amsdal/migration/templates/data_migration.tmpl +0 -18
- amsdal/migration/templates/dict_validator.tmpl +0 -4
- amsdal/migration/templates/migration.tmpl +0 -6
- amsdal/migration/templates/model_class.tmpl +0 -8
- amsdal/migration/templates/model_class_layout.tmpl +0 -24
- amsdal/migration/templates/options_validator.tmpl +0 -4
- amsdal/migration/utils.cpython-311-darwin.so +0 -0
- amsdal/migration/utils.pyi +0 -58
- amsdal/mixins/build_mixin.cpython-311-darwin.so +0 -0
- amsdal/mixins/build_mixin.pyi +0 -78
- amsdal/schemas/core/class_object_meta/model.json +0 -59
- amsdal/schemas/core/class_property_meta/model.json +0 -23
- amsdal/services/__init__.cpython-311-darwin.so +0 -0
- amsdal-0.3.3.dist-info/RECORD +0 -257
- amsdal-0.3.3.dist-info/licenses/LICENSE.txt +0 -107
- /amsdal/{migration → contrib/auth/services}/__init__.pyi +0 -0
- /amsdal/{migration/executors → contrib/auth/transactions}/__init__.pyi +0 -0
- {amsdal-0.3.3.dist-info → amsdal-0.5.29.dist-info/licenses}/LICENSE.txt +0 -0
- {amsdal-0.3.3.dist-info → amsdal-0.5.29.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
from amsdal_models.migration import migrations
|
|
2
|
+
from amsdal_utils.models.enums import ModuleType
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Migration(migrations.Migration):
|
|
6
|
+
operations: list[migrations.Operation] = [
|
|
7
|
+
migrations.CreateClass(
|
|
8
|
+
module_type=ModuleType.CONTRIB,
|
|
9
|
+
class_name="Condition",
|
|
10
|
+
new_schema={
|
|
11
|
+
"title": "Condition",
|
|
12
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
13
|
+
"required": ["operation", "conditions"],
|
|
14
|
+
"properties": {
|
|
15
|
+
"operation": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"options": [
|
|
18
|
+
{"key": "and", "value": "and"},
|
|
19
|
+
{"key": "or", "value": "or"},
|
|
20
|
+
{"key": "not", "value": "not"},
|
|
21
|
+
],
|
|
22
|
+
"title": "Operation",
|
|
23
|
+
"enum": ["and", "or", "not"],
|
|
24
|
+
},
|
|
25
|
+
"conditions": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": {"type": "ConditionItem", "title": "ConditionItem"},
|
|
28
|
+
"title": "Conditions",
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
"meta_class": "TypeMeta",
|
|
32
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
33
|
+
"storage_metadata": {"table_name": "Condition", "db_fields": {}, "foreign_keys": {}},
|
|
34
|
+
},
|
|
35
|
+
),
|
|
36
|
+
migrations.CreateClass(
|
|
37
|
+
module_type=ModuleType.CONTRIB,
|
|
38
|
+
class_name="ConditionItem",
|
|
39
|
+
new_schema={
|
|
40
|
+
"title": "ConditionItem",
|
|
41
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
42
|
+
"required": ["path", "condition"],
|
|
43
|
+
"properties": {
|
|
44
|
+
"path": {"type": "string", "title": "Path"},
|
|
45
|
+
"condition": {"type": "string", "title": "Condition"},
|
|
46
|
+
"value": {"type": "anything", "title": "Value"},
|
|
47
|
+
},
|
|
48
|
+
"meta_class": "TypeMeta",
|
|
49
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
50
|
+
"storage_metadata": {"table_name": "ConditionItem", "db_fields": {}, "foreign_keys": {}},
|
|
51
|
+
},
|
|
52
|
+
),
|
|
53
|
+
migrations.UpdateClass(
|
|
54
|
+
module_type=ModuleType.CONTRIB,
|
|
55
|
+
class_name="FrontendControlConfig",
|
|
56
|
+
old_schema={
|
|
57
|
+
"title": "FrontendControlConfig",
|
|
58
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
59
|
+
"required": ["type", "name"],
|
|
60
|
+
"properties": {
|
|
61
|
+
"type": {"type": "string", "title": "Type"},
|
|
62
|
+
"name": {"type": "string", "title": "Name"},
|
|
63
|
+
"label": {"type": "string", "title": "Label"},
|
|
64
|
+
"required": {"type": "boolean", "title": "Required"},
|
|
65
|
+
"hideLabel": {"type": "boolean", "title": "Hide Label"},
|
|
66
|
+
"actions": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"items": {"type": "FrontendConfigControlAction", "title": "FrontendConfigControlAction"},
|
|
69
|
+
"title": "Actions",
|
|
70
|
+
},
|
|
71
|
+
"validators": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"items": {"type": "FrontendConfigValidator", "title": "FrontendConfigValidator"},
|
|
74
|
+
"title": "Validators",
|
|
75
|
+
},
|
|
76
|
+
"asyncValidators": {
|
|
77
|
+
"type": "array",
|
|
78
|
+
"items": {"type": "FrontendConfigAsyncValidator", "title": "FrontendConfigAsyncValidator"},
|
|
79
|
+
"title": "Async Validators",
|
|
80
|
+
},
|
|
81
|
+
"activators": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"items": {"type": "FrontendActivatorConfig", "title": "FrontendActivatorConfig"},
|
|
84
|
+
"title": "Activators",
|
|
85
|
+
},
|
|
86
|
+
"additionalText": {"type": "string", "title": "Additional Text"},
|
|
87
|
+
"value": {"type": "anything", "title": "Value"},
|
|
88
|
+
"placeholder": {"type": "string", "title": "Placeholder"},
|
|
89
|
+
"options": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"items": {"type": "FrontendConfigOption", "title": "FrontendConfigOption"},
|
|
92
|
+
"title": "Options",
|
|
93
|
+
},
|
|
94
|
+
"mask": {"type": "FrontendConfigTextMask", "title": "Mask"},
|
|
95
|
+
"controls": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": {"type": "FrontendControlConfig", "title": "FrontendControlConfig"},
|
|
98
|
+
"title": "Controls",
|
|
99
|
+
},
|
|
100
|
+
"showSearch": {"type": "boolean", "title": "Show Search"},
|
|
101
|
+
"sliderOptions": {"type": "FrontendConfigSliderOption", "title": "Slider Option"},
|
|
102
|
+
"customLabel": {"type": "array", "items": {"type": "string"}, "title": "Custom Label"},
|
|
103
|
+
"control": {"type": "FrontendControlConfig", "title": "Control"},
|
|
104
|
+
"entityType": {"type": "string", "title": "Entity Type"},
|
|
105
|
+
},
|
|
106
|
+
"meta_class": "TypeMeta",
|
|
107
|
+
"custom_code": "from typing import Any\n\nfrom amsdal_models.builder.validators.options_validators import validate_options\nfrom pydantic.functional_validators import field_validator\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\n@field_validator('type')\n@classmethod\ndef validate_value_in_options_type(cls: type, value: Any) -> Any:\n return validate_options(value, options=['Bytes', 'array', 'checkbox', 'date', 'dateTriplet', 'datetime', 'dict', 'dropzone', 'email', 'file', 'group', 'group_switch', 'group_toggle', 'info-group', 'infoscreen', 'multiselect', 'number', 'number-operations', 'number-slider', 'number_equals', 'number_initial', 'number_minus', 'number_plus', 'object', 'object_group', 'object_latest', 'password', 'phone', 'radio', 'select', 'text', 'textarea', 'time', 'toggle'])\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
108
|
+
"storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
|
|
109
|
+
},
|
|
110
|
+
new_schema={
|
|
111
|
+
"title": "FrontendControlConfig",
|
|
112
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
113
|
+
"required": ["type", "name"],
|
|
114
|
+
"properties": {
|
|
115
|
+
"type": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"options": [
|
|
118
|
+
{"key": "Bytes", "value": "Bytes"},
|
|
119
|
+
{"key": "array", "value": "array"},
|
|
120
|
+
{"key": "checkbox", "value": "checkbox"},
|
|
121
|
+
{"key": "date", "value": "date"},
|
|
122
|
+
{"key": "dateTriplet", "value": "dateTriplet"},
|
|
123
|
+
{"key": "datetime", "value": "datetime"},
|
|
124
|
+
{"key": "dict", "value": "dict"},
|
|
125
|
+
{"key": "dropzone", "value": "dropzone"},
|
|
126
|
+
{"key": "email", "value": "email"},
|
|
127
|
+
{"key": "file", "value": "file"},
|
|
128
|
+
{"key": "group", "value": "group"},
|
|
129
|
+
{"key": "group_switch", "value": "group_switch"},
|
|
130
|
+
{"key": "group_toggle", "value": "group_toggle"},
|
|
131
|
+
{"key": "info-group", "value": "info-group"},
|
|
132
|
+
{"key": "infoscreen", "value": "infoscreen"},
|
|
133
|
+
{"key": "multiselect", "value": "multiselect"},
|
|
134
|
+
{"key": "number", "value": "number"},
|
|
135
|
+
{"key": "number-operations", "value": "number-operations"},
|
|
136
|
+
{"key": "number-slider", "value": "number-slider"},
|
|
137
|
+
{"key": "number_equals", "value": "number_equals"},
|
|
138
|
+
{"key": "number_initial", "value": "number_initial"},
|
|
139
|
+
{"key": "number_minus", "value": "number_minus"},
|
|
140
|
+
{"key": "number_plus", "value": "number_plus"},
|
|
141
|
+
{"key": "object", "value": "object"},
|
|
142
|
+
{"key": "object_group", "value": "object_group"},
|
|
143
|
+
{"key": "object_latest", "value": "object_latest"},
|
|
144
|
+
{"key": "password", "value": "password"},
|
|
145
|
+
{"key": "phone", "value": "phone"},
|
|
146
|
+
{"key": "radio", "value": "radio"},
|
|
147
|
+
{"key": "select", "value": "select"},
|
|
148
|
+
{"key": "text", "value": "text"},
|
|
149
|
+
{"key": "textarea", "value": "textarea"},
|
|
150
|
+
{"key": "time", "value": "time"},
|
|
151
|
+
{"key": "toggle", "value": "toggle"},
|
|
152
|
+
{"key": "sections", "value": "sections"},
|
|
153
|
+
{"key": "section", "value": "section"},
|
|
154
|
+
],
|
|
155
|
+
"title": "Type",
|
|
156
|
+
"enum": [
|
|
157
|
+
"Bytes",
|
|
158
|
+
"array",
|
|
159
|
+
"checkbox",
|
|
160
|
+
"date",
|
|
161
|
+
"dateTriplet",
|
|
162
|
+
"datetime",
|
|
163
|
+
"dict",
|
|
164
|
+
"dropzone",
|
|
165
|
+
"email",
|
|
166
|
+
"file",
|
|
167
|
+
"group",
|
|
168
|
+
"group_switch",
|
|
169
|
+
"group_toggle",
|
|
170
|
+
"info-group",
|
|
171
|
+
"infoscreen",
|
|
172
|
+
"multiselect",
|
|
173
|
+
"number",
|
|
174
|
+
"number-operations",
|
|
175
|
+
"number-slider",
|
|
176
|
+
"number_equals",
|
|
177
|
+
"number_initial",
|
|
178
|
+
"number_minus",
|
|
179
|
+
"number_plus",
|
|
180
|
+
"object",
|
|
181
|
+
"object_group",
|
|
182
|
+
"object_latest",
|
|
183
|
+
"password",
|
|
184
|
+
"phone",
|
|
185
|
+
"radio",
|
|
186
|
+
"select",
|
|
187
|
+
"text",
|
|
188
|
+
"textarea",
|
|
189
|
+
"time",
|
|
190
|
+
"toggle",
|
|
191
|
+
"sections",
|
|
192
|
+
"section",
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
"name": {"type": "string", "title": "Name"},
|
|
196
|
+
"label": {"type": "string", "title": "Label"},
|
|
197
|
+
"required": {"type": "boolean", "title": "Required"},
|
|
198
|
+
"hideLabel": {"type": "boolean", "title": "Hide Label"},
|
|
199
|
+
"actions": {
|
|
200
|
+
"type": "array",
|
|
201
|
+
"items": {"type": "FrontendConfigControlAction", "title": "FrontendConfigControlAction"},
|
|
202
|
+
"title": "Actions",
|
|
203
|
+
},
|
|
204
|
+
"validators": {
|
|
205
|
+
"type": "array",
|
|
206
|
+
"items": {"type": "FrontendConfigValidator", "title": "FrontendConfigValidator"},
|
|
207
|
+
"title": "Validators",
|
|
208
|
+
},
|
|
209
|
+
"asyncValidators": {
|
|
210
|
+
"type": "array",
|
|
211
|
+
"items": {"type": "FrontendConfigAsyncValidator", "title": "FrontendConfigAsyncValidator"},
|
|
212
|
+
"title": "Async Validators",
|
|
213
|
+
},
|
|
214
|
+
"activators": {
|
|
215
|
+
"type": "array",
|
|
216
|
+
"items": {"type": "FrontendActivatorConfig", "title": "FrontendActivatorConfig"},
|
|
217
|
+
"title": "Activators",
|
|
218
|
+
},
|
|
219
|
+
"additionalText": {"type": "string", "title": "Additional Text"},
|
|
220
|
+
"value": {"type": "anything", "title": "Value"},
|
|
221
|
+
"placeholder": {"type": "string", "title": "Placeholder"},
|
|
222
|
+
"options": {
|
|
223
|
+
"type": "array",
|
|
224
|
+
"items": {"type": "FrontendConfigOption", "title": "FrontendConfigOption"},
|
|
225
|
+
"title": "Options",
|
|
226
|
+
},
|
|
227
|
+
"mask": {"type": "FrontendConfigTextMask", "title": "Mask"},
|
|
228
|
+
"controls": {
|
|
229
|
+
"type": "array",
|
|
230
|
+
"items": {"type": "FrontendControlConfig", "title": "FrontendControlConfig"},
|
|
231
|
+
"title": "Controls",
|
|
232
|
+
},
|
|
233
|
+
"showSearch": {"type": "boolean", "title": "Show Search"},
|
|
234
|
+
"sliderOptions": {"type": "FrontendConfigSliderOption", "title": "Slider Option"},
|
|
235
|
+
"customLabel": {"type": "array", "items": {"type": "string"}, "title": "Custom Label"},
|
|
236
|
+
"control": {"type": "FrontendControlConfig", "title": "Control"},
|
|
237
|
+
"entityType": {"type": "string", "title": "Entity Type"},
|
|
238
|
+
"condition": {"type": "Condition", "title": "Condition"},
|
|
239
|
+
},
|
|
240
|
+
"meta_class": "TypeMeta",
|
|
241
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
242
|
+
"storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
|
|
243
|
+
},
|
|
244
|
+
),
|
|
245
|
+
]
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
from amsdal_models.migration import migrations
|
|
2
|
+
from amsdal_utils.models.enums import ModuleType
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Migration(migrations.Migration):
|
|
6
|
+
operations: list[migrations.Operation] = [
|
|
7
|
+
migrations.CreateClass(
|
|
8
|
+
module_type=ModuleType.CONTRIB,
|
|
9
|
+
class_name="UpdateValueAction",
|
|
10
|
+
new_schema={
|
|
11
|
+
"title": "UpdateValueAction",
|
|
12
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
13
|
+
"required": ["type", "field_id", "value"],
|
|
14
|
+
"properties": {
|
|
15
|
+
"type": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"options": [{"key": "update_value", "value": "update_value"}],
|
|
18
|
+
"title": "Type",
|
|
19
|
+
"enum": ["update_value"],
|
|
20
|
+
},
|
|
21
|
+
"field_id": {"type": "string", "title": "Field ID"},
|
|
22
|
+
"value": {"type": "anything", "title": "Value"},
|
|
23
|
+
},
|
|
24
|
+
"meta_class": "TypeMeta",
|
|
25
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
26
|
+
"storage_metadata": {"table_name": "UpdateValueAction", "db_fields": {}, "foreign_keys": {}},
|
|
27
|
+
},
|
|
28
|
+
),
|
|
29
|
+
migrations.CreateClass(
|
|
30
|
+
module_type=ModuleType.CONTRIB,
|
|
31
|
+
class_name="InvokeAction",
|
|
32
|
+
new_schema={
|
|
33
|
+
"title": "InvokeAction",
|
|
34
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
35
|
+
"required": ["type", "method", "url"],
|
|
36
|
+
"properties": {
|
|
37
|
+
"type": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"options": [{"key": "invoke", "value": "invoke"}],
|
|
40
|
+
"title": "Type",
|
|
41
|
+
"enum": ["invoke"],
|
|
42
|
+
},
|
|
43
|
+
"method": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"title": "HTTP Method",
|
|
46
|
+
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE"],
|
|
47
|
+
"options": [
|
|
48
|
+
{"key": "GET", "value": "GET"},
|
|
49
|
+
{"key": "POST", "value": "POST"},
|
|
50
|
+
{"key": "PUT", "value": "PUT"},
|
|
51
|
+
{"key": "PATCH", "value": "PATCH"},
|
|
52
|
+
{"key": "DELETE", "value": "DELETE"},
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
"url": {"type": "string", "title": "URL"},
|
|
56
|
+
"headers": {"type": "dict", "title": "Headers"},
|
|
57
|
+
"body": {"type": "dict", "title": "Body"},
|
|
58
|
+
"onSuccess": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": {"type": "anything"},
|
|
61
|
+
"title": "On Success Actions",
|
|
62
|
+
},
|
|
63
|
+
"onError": {
|
|
64
|
+
"type": "array",
|
|
65
|
+
"items": {"type": "anything"},
|
|
66
|
+
"title": "On Error Actions",
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
"meta_class": "TypeMeta",
|
|
70
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
71
|
+
"storage_metadata": {"table_name": "InvokeAction", "db_fields": {}, "foreign_keys": {}},
|
|
72
|
+
},
|
|
73
|
+
),
|
|
74
|
+
migrations.CreateClass(
|
|
75
|
+
module_type=ModuleType.CONTRIB,
|
|
76
|
+
class_name="ChangeContextAction",
|
|
77
|
+
new_schema={
|
|
78
|
+
"title": "ChangeContextAction",
|
|
79
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
80
|
+
"required": ["type", "context"],
|
|
81
|
+
"properties": {
|
|
82
|
+
"type": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"options": [{"key": "change_context", "value": "change_context"}],
|
|
85
|
+
"title": "Type",
|
|
86
|
+
"enum": ["change_context"],
|
|
87
|
+
},
|
|
88
|
+
"context": {"type": "dict", "title": "Context"},
|
|
89
|
+
},
|
|
90
|
+
"meta_class": "TypeMeta",
|
|
91
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
92
|
+
"storage_metadata": {"table_name": "ChangeContextAction", "db_fields": {}, "foreign_keys": {}},
|
|
93
|
+
},
|
|
94
|
+
),
|
|
95
|
+
migrations.CreateClass(
|
|
96
|
+
module_type=ModuleType.CONTRIB,
|
|
97
|
+
class_name="SaveAction",
|
|
98
|
+
new_schema={
|
|
99
|
+
"title": "SaveAction",
|
|
100
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
101
|
+
"required": ["type"],
|
|
102
|
+
"properties": {
|
|
103
|
+
"type": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"options": [{"key": "save", "value": "save"}],
|
|
106
|
+
"title": "Type",
|
|
107
|
+
"enum": ["save"],
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
"meta_class": "TypeMeta",
|
|
111
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
|
112
|
+
"storage_metadata": {"table_name": "SaveAction", "db_fields": {}, "foreign_keys": {}},
|
|
113
|
+
},
|
|
114
|
+
),
|
|
115
|
+
migrations.UpdateClass(
|
|
116
|
+
module_type=ModuleType.CONTRIB,
|
|
117
|
+
class_name="FrontendControlConfig",
|
|
118
|
+
old_schema={
|
|
119
|
+
"title": "FrontendControlConfig",
|
|
120
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
121
|
+
"required": ["type", "name"],
|
|
122
|
+
"properties": {
|
|
123
|
+
"type": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"options": [
|
|
126
|
+
{"key": "Bytes", "value": "Bytes"},
|
|
127
|
+
{"key": "array", "value": "array"},
|
|
128
|
+
{"key": "checkbox", "value": "checkbox"},
|
|
129
|
+
{"key": "date", "value": "date"},
|
|
130
|
+
{"key": "dateTriplet", "value": "dateTriplet"},
|
|
131
|
+
{"key": "datetime", "value": "datetime"},
|
|
132
|
+
{"key": "dict", "value": "dict"},
|
|
133
|
+
{"key": "dropzone", "value": "dropzone"},
|
|
134
|
+
{"key": "email", "value": "email"},
|
|
135
|
+
{"key": "file", "value": "file"},
|
|
136
|
+
{"key": "group", "value": "group"},
|
|
137
|
+
{"key": "group_switch", "value": "group_switch"},
|
|
138
|
+
{"key": "group_toggle", "value": "group_toggle"},
|
|
139
|
+
{"key": "info-group", "value": "info-group"},
|
|
140
|
+
{"key": "infoscreen", "value": "infoscreen"},
|
|
141
|
+
{"key": "multiselect", "value": "multiselect"},
|
|
142
|
+
{"key": "number", "value": "number"},
|
|
143
|
+
{"key": "number-operations", "value": "number-operations"},
|
|
144
|
+
{"key": "number-slider", "value": "number-slider"},
|
|
145
|
+
{"key": "number_equals", "value": "number_equals"},
|
|
146
|
+
{"key": "number_initial", "value": "number_initial"},
|
|
147
|
+
{"key": "number_minus", "value": "number_minus"},
|
|
148
|
+
{"key": "number_plus", "value": "number_plus"},
|
|
149
|
+
{"key": "object", "value": "object"},
|
|
150
|
+
{"key": "object_group", "value": "object_group"},
|
|
151
|
+
{"key": "object_latest", "value": "object_latest"},
|
|
152
|
+
{"key": "password", "value": "password"},
|
|
153
|
+
{"key": "phone", "value": "phone"},
|
|
154
|
+
{"key": "radio", "value": "radio"},
|
|
155
|
+
{"key": "select", "value": "select"},
|
|
156
|
+
{"key": "text", "value": "text"},
|
|
157
|
+
{"key": "textarea", "value": "textarea"},
|
|
158
|
+
{"key": "time", "value": "time"},
|
|
159
|
+
{"key": "toggle", "value": "toggle"},
|
|
160
|
+
{"key": "sections", "value": "sections"},
|
|
161
|
+
{"key": "section", "value": "section"},
|
|
162
|
+
],
|
|
163
|
+
"title": "Type",
|
|
164
|
+
"enum": [
|
|
165
|
+
"Bytes",
|
|
166
|
+
"array",
|
|
167
|
+
"checkbox",
|
|
168
|
+
"date",
|
|
169
|
+
"dateTriplet",
|
|
170
|
+
"datetime",
|
|
171
|
+
"dict",
|
|
172
|
+
"dropzone",
|
|
173
|
+
"email",
|
|
174
|
+
"file",
|
|
175
|
+
"group",
|
|
176
|
+
"group_switch",
|
|
177
|
+
"group_toggle",
|
|
178
|
+
"info-group",
|
|
179
|
+
"infoscreen",
|
|
180
|
+
"multiselect",
|
|
181
|
+
"number",
|
|
182
|
+
"number-operations",
|
|
183
|
+
"number-slider",
|
|
184
|
+
"number_equals",
|
|
185
|
+
"number_initial",
|
|
186
|
+
"number_minus",
|
|
187
|
+
"number_plus",
|
|
188
|
+
"object",
|
|
189
|
+
"object_group",
|
|
190
|
+
"object_latest",
|
|
191
|
+
"password",
|
|
192
|
+
"phone",
|
|
193
|
+
"radio",
|
|
194
|
+
"select",
|
|
195
|
+
"text",
|
|
196
|
+
"textarea",
|
|
197
|
+
"time",
|
|
198
|
+
"toggle",
|
|
199
|
+
"sections",
|
|
200
|
+
"section",
|
|
201
|
+
],
|
|
202
|
+
},
|
|
203
|
+
"name": {"type": "string", "title": "Name"},
|
|
204
|
+
"actions": {
|
|
205
|
+
"type": "array",
|
|
206
|
+
"items": {"type": "FrontendConfigControlAction", "title": "FrontendConfigControlAction"},
|
|
207
|
+
"title": "Actions",
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
"meta_class": "TypeMeta",
|
|
211
|
+
"storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
|
|
212
|
+
},
|
|
213
|
+
new_schema={
|
|
214
|
+
"title": "FrontendControlConfig",
|
|
215
|
+
"type": "FrontendConfigSkipNoneBase",
|
|
216
|
+
"required": ["type", "name"],
|
|
217
|
+
"properties": {
|
|
218
|
+
"type": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"options": [
|
|
221
|
+
{"key": "Bytes", "value": "Bytes"},
|
|
222
|
+
{"key": "array", "value": "array"},
|
|
223
|
+
{"key": "button", "value": "button"},
|
|
224
|
+
{"key": "chat", "value": "chat"},
|
|
225
|
+
{"key": "checkbox", "value": "checkbox"},
|
|
226
|
+
{"key": "date", "value": "date"},
|
|
227
|
+
{"key": "dateTriplet", "value": "dateTriplet"},
|
|
228
|
+
{"key": "datetime", "value": "datetime"},
|
|
229
|
+
{"key": "dict", "value": "dict"},
|
|
230
|
+
{"key": "dropzone", "value": "dropzone"},
|
|
231
|
+
{"key": "email", "value": "email"},
|
|
232
|
+
{"key": "file", "value": "file"},
|
|
233
|
+
{"key": "group", "value": "group"},
|
|
234
|
+
{"key": "group_switch", "value": "group_switch"},
|
|
235
|
+
{"key": "group_toggle", "value": "group_toggle"},
|
|
236
|
+
{"key": "info-group", "value": "info-group"},
|
|
237
|
+
{"key": "infoscreen", "value": "infoscreen"},
|
|
238
|
+
{"key": "multiselect", "value": "multiselect"},
|
|
239
|
+
{"key": "number", "value": "number"},
|
|
240
|
+
{"key": "number-operations", "value": "number-operations"},
|
|
241
|
+
{"key": "number-slider", "value": "number-slider"},
|
|
242
|
+
{"key": "number_equals", "value": "number_equals"},
|
|
243
|
+
{"key": "number_initial", "value": "number_initial"},
|
|
244
|
+
{"key": "number_minus", "value": "number_minus"},
|
|
245
|
+
{"key": "number_plus", "value": "number_plus"},
|
|
246
|
+
{"key": "object", "value": "object"},
|
|
247
|
+
{"key": "object_group", "value": "object_group"},
|
|
248
|
+
{"key": "object_latest", "value": "object_latest"},
|
|
249
|
+
{"key": "password", "value": "password"},
|
|
250
|
+
{"key": "phone", "value": "phone"},
|
|
251
|
+
{"key": "radio", "value": "radio"},
|
|
252
|
+
{"key": "select", "value": "select"},
|
|
253
|
+
{"key": "text", "value": "text"},
|
|
254
|
+
{"key": "textarea", "value": "textarea"},
|
|
255
|
+
{"key": "time", "value": "time"},
|
|
256
|
+
{"key": "toggle", "value": "toggle"},
|
|
257
|
+
{"key": "sections", "value": "sections"},
|
|
258
|
+
{"key": "section", "value": "section"},
|
|
259
|
+
],
|
|
260
|
+
"title": "Type",
|
|
261
|
+
"enum": [
|
|
262
|
+
"Bytes",
|
|
263
|
+
"array",
|
|
264
|
+
"button",
|
|
265
|
+
"chat",
|
|
266
|
+
"checkbox",
|
|
267
|
+
"date",
|
|
268
|
+
"dateTriplet",
|
|
269
|
+
"datetime",
|
|
270
|
+
"dict",
|
|
271
|
+
"dropzone",
|
|
272
|
+
"email",
|
|
273
|
+
"file",
|
|
274
|
+
"group",
|
|
275
|
+
"group_switch",
|
|
276
|
+
"group_toggle",
|
|
277
|
+
"info-group",
|
|
278
|
+
"infoscreen",
|
|
279
|
+
"multiselect",
|
|
280
|
+
"number",
|
|
281
|
+
"number-operations",
|
|
282
|
+
"number-slider",
|
|
283
|
+
"number_equals",
|
|
284
|
+
"number_initial",
|
|
285
|
+
"number_minus",
|
|
286
|
+
"number_plus",
|
|
287
|
+
"object",
|
|
288
|
+
"object_group",
|
|
289
|
+
"object_latest",
|
|
290
|
+
"password",
|
|
291
|
+
"phone",
|
|
292
|
+
"radio",
|
|
293
|
+
"select",
|
|
294
|
+
"text",
|
|
295
|
+
"textarea",
|
|
296
|
+
"time",
|
|
297
|
+
"toggle",
|
|
298
|
+
"sections",
|
|
299
|
+
"section",
|
|
300
|
+
],
|
|
301
|
+
},
|
|
302
|
+
"id": {"type": "string", "title": "ID"},
|
|
303
|
+
"name": {"type": "string", "title": "Name"},
|
|
304
|
+
"label": {"type": "string", "title": "Label"},
|
|
305
|
+
"required": {"type": "boolean", "title": "Required"},
|
|
306
|
+
"hideLabel": {"type": "boolean", "title": "Hide Label"},
|
|
307
|
+
"actions": {
|
|
308
|
+
"type": "array",
|
|
309
|
+
"items": {"type": "anything"},
|
|
310
|
+
"title": "Actions",
|
|
311
|
+
},
|
|
312
|
+
"validators": {
|
|
313
|
+
"type": "array",
|
|
314
|
+
"items": {"type": "FrontendConfigValidator", "title": "FrontendConfigValidator"},
|
|
315
|
+
"title": "Validators",
|
|
316
|
+
},
|
|
317
|
+
"asyncValidators": {
|
|
318
|
+
"type": "array",
|
|
319
|
+
"items": {"type": "FrontendConfigAsyncValidator", "title": "FrontendConfigAsyncValidator"},
|
|
320
|
+
"title": "Async Validators",
|
|
321
|
+
},
|
|
322
|
+
"activators": {
|
|
323
|
+
"type": "array",
|
|
324
|
+
"items": {"type": "FrontendActivatorConfig", "title": "FrontendActivatorConfig"},
|
|
325
|
+
"title": "Activators",
|
|
326
|
+
},
|
|
327
|
+
"additionalText": {"type": "string", "title": "Additional Text"},
|
|
328
|
+
"value": {"type": "anything", "title": "Value"},
|
|
329
|
+
"placeholder": {"type": "string", "title": "Placeholder"},
|
|
330
|
+
"options": {
|
|
331
|
+
"type": "array",
|
|
332
|
+
"items": {"type": "FrontendConfigOption", "title": "FrontendConfigOption"},
|
|
333
|
+
"title": "Options",
|
|
334
|
+
},
|
|
335
|
+
"mask": {"type": "FrontendConfigTextMask", "title": "Mask"},
|
|
336
|
+
"controls": {
|
|
337
|
+
"type": "array",
|
|
338
|
+
"items": {"type": "FrontendControlConfig", "title": "FrontendControlConfig"},
|
|
339
|
+
"title": "Controls",
|
|
340
|
+
},
|
|
341
|
+
"showSearch": {"type": "boolean", "title": "Show Search"},
|
|
342
|
+
"sliderOptions": {"type": "FrontendConfigSliderOption", "title": "Slider Option"},
|
|
343
|
+
"customLabel": {"type": "array", "items": {"type": "string"}, "title": "Custom Label"},
|
|
344
|
+
"control": {"type": "FrontendControlConfig", "title": "Control"},
|
|
345
|
+
"entityType": {"type": "string", "title": "Entity Type"},
|
|
346
|
+
"condition": {"type": "Condition", "title": "Condition"},
|
|
347
|
+
},
|
|
348
|
+
"meta_class": "TypeMeta",
|
|
349
|
+
"storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
|
|
350
|
+
},
|
|
351
|
+
),
|
|
352
|
+
]
|