amsdal 0.5.9__cp312-cp312-macosx_10_13_universal2.whl → 0.5.11__cp312-cp312-macosx_10_13_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/__about__.py +1 -1
- amsdal/__migrations__/0004_update_class_file.py +45 -0
- amsdal/cloud/__init__.cpython-312-darwin.so +0 -0
- amsdal/cloud/client.cpython-312-darwin.so +0 -0
- amsdal/cloud/constants.cpython-312-darwin.so +0 -0
- amsdal/cloud/enums.cpython-312-darwin.so +0 -0
- amsdal/cloud/models/__init__.cpython-312-darwin.so +0 -0
- amsdal/cloud/models/base.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/__init__.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/__init__.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/base.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/create_env.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/create_session.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/manager.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/auth/__init__.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/auth/base.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/auth/credentials.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/auth/manager.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so +0 -0
- amsdal/cloud/services/auth/token.cpython-312-darwin.so +0 -0
- amsdal/contrib/__init__.cpython-312-darwin.so +0 -0
- amsdal/contrib/frontend_configs/migrations/0001_update_frontend_control_config.py +245 -0
- amsdal/contrib/frontend_configs/models/frontend_control_config.py +57 -46
- amsdal/fixtures/__init__.cpython-312-darwin.so +0 -0
- amsdal/fixtures/manager.cpython-312-darwin.so +0 -0
- amsdal/fixtures/utils.cpython-312-darwin.so +0 -0
- amsdal/manager.cpython-312-darwin.so +0 -0
- amsdal/mixins/__init__.cpython-312-darwin.so +0 -0
- amsdal/mixins/class_versions_mixin.cpython-312-darwin.so +0 -0
- amsdal/models/core/file.py +10 -17
- amsdal/schemas/manager.cpython-312-darwin.so +0 -0
- amsdal/services/__init__.cpython-312-darwin.so +0 -0
- amsdal/services/transaction_execution.cpython-312-darwin.so +0 -0
- {amsdal-0.5.9.dist-info → amsdal-0.5.11.dist-info}/METADATA +1 -1
- {amsdal-0.5.9.dist-info → amsdal-0.5.11.dist-info}/RECORD +58 -56
- {amsdal-0.5.9.dist-info → amsdal-0.5.11.dist-info}/WHEEL +0 -0
- {amsdal-0.5.9.dist-info → amsdal-0.5.11.dist-info}/licenses/LICENSE.txt +0 -0
- {amsdal-0.5.9.dist-info → amsdal-0.5.11.dist-info}/top_level.txt +0 -0
amsdal/__about__.py
CHANGED
@@ -0,0 +1,45 @@
|
|
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.UpdateClass(
|
8
|
+
module_type=ModuleType.CORE,
|
9
|
+
class_name="File",
|
10
|
+
old_schema={
|
11
|
+
"title": "File",
|
12
|
+
"required": ["filename"],
|
13
|
+
"properties": {
|
14
|
+
"filename": {"type": "string", "title": "Filename"},
|
15
|
+
"data": {"type": "binary", "title": "Data"},
|
16
|
+
"size": {"type": "number", "title": "Size"},
|
17
|
+
"storage_address": {"type": "anything", "title": "Storage Reference"},
|
18
|
+
},
|
19
|
+
"custom_code": 'import base64\nimport io\nfrom contextlib import suppress\nfrom pathlib import Path\nfrom typing import IO\nfrom typing import Any\nfrom typing import BinaryIO\n\nfrom amsdal_models.storage.backends.db import DBStorage\nfrom amsdal_models.storage.base import Storage\nfrom pydantic import model_validator\n\n\n@classmethod\ndef data_base64_decode(cls, data: Any) -> bytes:\n if isinstance(data, str):\n data = data.encode(\'utf-8\')\n is_base64: bool = False\n with suppress(Exception):\n is_base64 = base64.b64encode(base64.b64decode(data)) == data\n if is_base64:\n return base64.b64decode(data)\n return data\n\n@classmethod\ndef from_bytes(cls, filename: str, data: bytes) -> \'File\':\n """\n Creates a `File` object from a byte string.\n\n Args:\n filename (str): The filename of the file.\n data (bytes): The byte string containing the file data.:\n\n Returns:\n File: The created `File` object.\n """\n obj = cls(filename=filename, data=data, size=len(data))\n obj._needs_persist = True\n return obj\n\n@classmethod\ndef from_file(cls, file_or_path: Path | BinaryIO) -> \'File\':\n """\n Creates a `File` object from a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object.\n\n Returns:\n File: The created `File` object.\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n f: BinaryIO | io.BufferedReader\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n msg = f\'{file_or_path} is a directory\'\n raise ValueError(msg)\n f = file_or_path.open(\'rb\')\n filename = file_or_path.name\n size = file_or_path.stat().st_size\n else:\n f = file_or_path\n filename = Path(getattr(f, \'name\', \'unnamed\')).name\n try:\n if f.seekable():\n f.seek(0, io.SEEK_END)\n size = f.tell()\n f.seek(0)\n else:\n size = None\n except (OSError, AttributeError):\n size = None\n obj = cls(filename=filename, size=size)\n obj._source = f\n obj._needs_persist = True\n return obj\n\n@model_validator(mode=\'before\')\n@classmethod\ndef validate_model_data(cls, data: Any) -> Any:\n if isinstance(data, dict):\n if \'data\' in data:\n if data[\'data\']:\n data[\'data\'] = cls.data_base64_decode(data[\'data\'])\n data[\'size\'] = len(data[\'data\'])\n else:\n data[\'size\'] = 0\n return data\n\n@property\ndef mimetype(self) -> str | None:\n """\n Returns the MIME type of the file based on its filename.\n\n This method uses the `mimetypes` module to guess the MIME type of the file.\n\n Returns:\n str | None: The guessed MIME type of the file, or None if it cannot be determined.\n """\n import mimetypes\n return mimetypes.guess_type(self.filename)[0]\n\n@property\ndef storage(self) -> Storage:\n from amsdal.storages import default_storage\n if self._storage:\n return self._storage\n if self.storage_address:\n return Storage.from_storage_spec({\'storage_class\': self.storage_address.ref.resource})\n return default_storage()\n\nasync def aopen(self, mode: str=\'rb\') -> Any:\n """\n Async variant of open().\n\n Uses the resolved storage to call aopen(); if the backend does not implement\n async, falls back to the sync open().\n """\n try:\n return await self.storage.aopen(self, mode)\n except NotImplementedError:\n return self.storage.open(self, mode)\n\nasync def apre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def apre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def aread_bytes(self) -> bytes:\n async with await self.aopen() as f:\n return await f.read()\n\nasync def aurl(self) -> str:\n """\n Async variant of url().\n\n Uses the resolved storage to call aurl(); if the backend does not implement\n async, falls back to the sync url().\n """\n try:\n return await self.storage.aurl(self)\n except NotImplementedError:\n return self.storage.url(self)\n\ndef __repr__(self) -> str:\n return f"File<{self.filename}>({self.size or len(self.data or \'\') or 0} bytes)"\n\ndef __str__(self) -> str:\n return repr(self)\n\ndef open(self, mode: str=\'rb\') -> IO[Any]:\n """\n Open a binary stream for reading (or other modes if supported) using storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.open(self, mode)\n\ndef pre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef pre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef read_bytes(self) -> bytes:\n with self.open() as f:\n return f.read()\n\ndef set_data(self, data: bytes | str) -> None:\n if not isinstance(self.storage, DBStorage):\n msg = \'Cannot set data on a file that is not stored in a database. Use `File.from_bytes` instead.\'\n raise ValueError(msg)\n self.data = self.data_base64_decode(data)\n self.size = len(self.data)\n self._needs_persist = True\n\ndef to_file(self, file_or_path: Path | BinaryIO) -> None:\n """\n Writes the object\'s data to a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object where the data will be written.\n\n Returns:\n None\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n with self.open() as f:\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n file_or_path = file_or_path / self.name\n file_or_path.write_bytes(f.read())\n else:\n file_or_path.write(f.read())\n file_or_path.seek(0)\n\ndef url(self) -> str:\n """\n Return a URL for this file using its storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.url(self)',
|
20
|
+
"storage_metadata": {
|
21
|
+
"table_name": "File",
|
22
|
+
"db_fields": {},
|
23
|
+
"primary_key": ["partition_key"],
|
24
|
+
"foreign_keys": {},
|
25
|
+
},
|
26
|
+
},
|
27
|
+
new_schema={
|
28
|
+
"title": "File",
|
29
|
+
"required": ["filename"],
|
30
|
+
"properties": {
|
31
|
+
"filename": {"type": "string", "title": "Filename"},
|
32
|
+
"data": {"type": "binary", "title": "Data"},
|
33
|
+
"size": {"type": "number", "title": "Size"},
|
34
|
+
"storage_address": {"type": "anything", "title": "Storage Reference"},
|
35
|
+
},
|
36
|
+
"custom_code": 'import base64\nimport io\nfrom contextlib import suppress\nfrom pathlib import Path\nfrom typing import IO\nfrom typing import Any\nfrom typing import BinaryIO\n\nfrom amsdal_models.storage.backends.db import AsyncFileWrapper\nfrom amsdal_models.storage.backends.db import DBStorage\nfrom amsdal_models.storage.base import Storage\nfrom pydantic import model_validator\n\n\n@classmethod\ndef data_base64_decode(cls, data: Any) -> bytes:\n if isinstance(data, str):\n data = data.encode(\'utf-8\')\n is_base64: bool = False\n with suppress(Exception):\n is_base64 = base64.b64encode(base64.b64decode(data)) == data\n if is_base64:\n return base64.b64decode(data)\n return data\n\n@classmethod\ndef from_bytes(cls, filename: str, data: bytes) -> \'File\':\n """\n Creates a `File` object from a byte string.\n\n Args:\n filename (str): The filename of the file.\n data (bytes): The byte string containing the file data.:\n\n Returns:\n File: The created `File` object.\n """\n obj = cls(filename=filename, data=data, size=len(data))\n return obj\n\n@classmethod\ndef from_file(cls, file_or_path: Path | BinaryIO) -> \'File\':\n """\n Creates a `File` object from a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object.\n\n Returns:\n File: The created `File` object.\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n f: BinaryIO | io.BufferedReader\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n msg = f\'{file_or_path} is a directory\'\n raise ValueError(msg)\n f = file_or_path.open(\'rb\')\n filename = file_or_path.name\n size = file_or_path.stat().st_size\n else:\n f = file_or_path\n filename = Path(getattr(f, \'name\', \'unnamed\')).name\n try:\n if f.seekable():\n f.seek(0, io.SEEK_END)\n size = f.tell()\n f.seek(0)\n else:\n size = None\n except (OSError, AttributeError):\n size = None\n obj = cls(filename=filename, size=size)\n obj._source = f\n return obj\n\n@model_validator(mode=\'before\')\n@classmethod\ndef validate_model_data(cls, data: Any) -> Any:\n if isinstance(data, dict):\n if \'data\' in data:\n if data[\'data\']:\n data[\'data\'] = cls.data_base64_decode(data[\'data\'])\n data[\'size\'] = len(data[\'data\'])\n else:\n data[\'size\'] = 0\n return data\n\n@property\ndef mimetype(self) -> str | None:\n """\n Returns the MIME type of the file based on its filename.\n\n This method uses the `mimetypes` module to guess the MIME type of the file.\n\n Returns:\n str | None: The guessed MIME type of the file, or None if it cannot be determined.\n """\n import mimetypes\n return mimetypes.guess_type(self.filename)[0]\n\n@property\ndef storage(self) -> Storage:\n from amsdal.storages import default_storage\n if self._storage:\n return self._storage\n if self.storage_address:\n return Storage.from_storage_spec({\'storage_class\': self.storage_address.ref.resource})\n return default_storage()\n\nasync def aopen(self, mode: str=\'rb\') -> Any:\n """\n Async variant of open().\n\n Uses the resolved storage to call aopen(); if the backend does not implement\n async, falls back to the sync open().\n """\n try:\n return await self.storage.aopen(self, mode)\n except NotImplementedError:\n return AsyncFileWrapper(self.storage.open(self, mode))\n\nasync def apre_create(self) -> None:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def apre_update(self) -> None:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def aread_bytes(self) -> bytes:\n async with await self.aopen() as f:\n return await f.read()\n\nasync def aurl(self) -> str:\n """\n Async variant of url().\n\n Uses the resolved storage to call aurl(); if the backend does not implement\n async, falls back to the sync url().\n """\n try:\n return await self.storage.aurl(self)\n except NotImplementedError:\n return self.storage.url(self)\n\ndef __repr__(self) -> str:\n return f"File<{self.filename}>({self.size or len(self.data or \'\') or 0} bytes)"\n\ndef __str__(self) -> str:\n return repr(self)\n\ndef open(self, mode: str=\'rb\') -> IO[Any]:\n """\n Open a binary stream for reading (or other modes if supported) using storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.open(self, mode)\n\ndef pre_create(self) -> None:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef pre_update(self) -> None:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef read_bytes(self) -> bytes:\n with self.open() as f:\n return f.read()\n\ndef set_data(self, data: bytes | str) -> None:\n if not isinstance(self.storage, DBStorage):\n msg = \'Cannot set data on a file that is not stored in a database. Use `File.from_bytes` instead.\'\n raise ValueError(msg)\n self.data = self.data_base64_decode(data)\n self.size = len(self.data)\n\ndef to_file(self, file_or_path: Path | BinaryIO) -> None:\n """\n Writes the object\'s data to a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object where the data will be written.\n\n Returns:\n None\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n with self.open() as f:\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n file_or_path = file_or_path / self.name\n file_or_path.write_bytes(f.read())\n else:\n file_or_path.write(f.read())\n file_or_path.seek(0)\n\ndef url(self) -> str:\n """\n Return a URL for this file using its storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.url(self)',
|
37
|
+
"storage_metadata": {
|
38
|
+
"table_name": "File",
|
39
|
+
"db_fields": {},
|
40
|
+
"primary_key": ["partition_key"],
|
41
|
+
"foreign_keys": {},
|
42
|
+
},
|
43
|
+
},
|
44
|
+
),
|
45
|
+
]
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|
+
]
|
@@ -1,11 +1,10 @@
|
|
1
1
|
from typing import Any
|
2
2
|
from typing import ClassVar
|
3
|
+
from typing import Literal
|
3
4
|
from typing import Optional
|
4
5
|
|
5
|
-
from amsdal_models.builder.validators.options_validators import validate_options
|
6
6
|
from amsdal_utils.models.enums import ModuleType
|
7
7
|
from pydantic.fields import Field
|
8
|
-
from pydantic.functional_validators import field_validator
|
9
8
|
|
10
9
|
from amsdal.contrib.frontend_configs.models.frontend_activator_config import * # noqa: F403
|
11
10
|
from amsdal.contrib.frontend_configs.models.frontend_config_async_validator import * # noqa: F403
|
@@ -16,10 +15,64 @@ from amsdal.contrib.frontend_configs.models.frontend_config_slider_option import
|
|
16
15
|
from amsdal.contrib.frontend_configs.models.frontend_config_text_mask import * # noqa: F403
|
17
16
|
from amsdal.contrib.frontend_configs.models.frontend_config_validator import * # noqa: F403
|
18
17
|
|
18
|
+
ConfigType = Literal[
|
19
|
+
'Bytes',
|
20
|
+
'array',
|
21
|
+
'checkbox',
|
22
|
+
'date',
|
23
|
+
'dateTriplet',
|
24
|
+
'datetime',
|
25
|
+
'dict',
|
26
|
+
'dropzone',
|
27
|
+
'email',
|
28
|
+
'file',
|
29
|
+
'group',
|
30
|
+
'group_switch',
|
31
|
+
'group_toggle',
|
32
|
+
'info-group',
|
33
|
+
'infoscreen',
|
34
|
+
'multiselect',
|
35
|
+
'number',
|
36
|
+
'number-operations',
|
37
|
+
'number-slider',
|
38
|
+
'number_equals',
|
39
|
+
'number_initial',
|
40
|
+
'number_minus',
|
41
|
+
'number_plus',
|
42
|
+
'object',
|
43
|
+
'object_group',
|
44
|
+
'object_latest',
|
45
|
+
'password',
|
46
|
+
'phone',
|
47
|
+
'radio',
|
48
|
+
'select',
|
49
|
+
'text',
|
50
|
+
'textarea',
|
51
|
+
'time',
|
52
|
+
'toggle',
|
53
|
+
'sections',
|
54
|
+
'section',
|
55
|
+
]
|
56
|
+
|
57
|
+
|
58
|
+
class ConditionItem(FrontendConfigSkipNoneBase): # noqa: F405
|
59
|
+
path: str = Field(title='Path')
|
60
|
+
condition: str = Field(title='Condition')
|
61
|
+
value: Any = Field(default=None, title='Value')
|
62
|
+
|
63
|
+
|
64
|
+
class Condition(FrontendConfigSkipNoneBase): # noqa: F405
|
65
|
+
__module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
|
66
|
+
operation: Literal['and', 'or', 'not'] = Field(title='Operation')
|
67
|
+
conditions: list[ConditionItem] = Field(title='Conditions') # noqa: F405
|
68
|
+
|
69
|
+
|
70
|
+
Condition.model_rebuild()
|
71
|
+
|
19
72
|
|
20
73
|
class FrontendControlConfig(FrontendConfigSkipNoneBase): # noqa: F405
|
21
74
|
__module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
|
22
|
-
type:
|
75
|
+
type: ConfigType = Field(title='Type')
|
23
76
|
name: str = Field(title='Name')
|
24
77
|
label: str | None = Field(None, title='Label')
|
25
78
|
required: bool | None = Field(None, title='Required')
|
@@ -42,46 +95,4 @@ class FrontendControlConfig(FrontendConfigSkipNoneBase): # noqa: F405
|
|
42
95
|
customLabel: list[str] | None = Field(None, title='Custom Label') # noqa: N815
|
43
96
|
control: Optional['FrontendControlConfig'] = Field(None, title='Control')
|
44
97
|
entityType: str | None = Field(None, title='Entity Type') # noqa: N815
|
45
|
-
|
46
|
-
@field_validator('type')
|
47
|
-
@classmethod
|
48
|
-
def validate_value_in_options_type(cls: type, value: Any) -> Any: # type: ignore # noqa: A003
|
49
|
-
return validate_options(
|
50
|
-
value,
|
51
|
-
options=[
|
52
|
-
'Bytes',
|
53
|
-
'array',
|
54
|
-
'checkbox',
|
55
|
-
'date',
|
56
|
-
'dateTriplet',
|
57
|
-
'datetime',
|
58
|
-
'dict',
|
59
|
-
'dropzone',
|
60
|
-
'email',
|
61
|
-
'file',
|
62
|
-
'group',
|
63
|
-
'group_switch',
|
64
|
-
'group_toggle',
|
65
|
-
'info-group',
|
66
|
-
'infoscreen',
|
67
|
-
'multiselect',
|
68
|
-
'number',
|
69
|
-
'number-operations',
|
70
|
-
'number-slider',
|
71
|
-
'number_equals',
|
72
|
-
'number_initial',
|
73
|
-
'number_minus',
|
74
|
-
'number_plus',
|
75
|
-
'object',
|
76
|
-
'object_group',
|
77
|
-
'object_latest',
|
78
|
-
'password',
|
79
|
-
'phone',
|
80
|
-
'radio',
|
81
|
-
'select',
|
82
|
-
'text',
|
83
|
-
'textarea',
|
84
|
-
'time',
|
85
|
-
'toggle',
|
86
|
-
],
|
87
|
-
)
|
98
|
+
condition: Condition | None = Field(None, title='Condition') # noqa: F405
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
amsdal/models/core/file.py
CHANGED
@@ -8,6 +8,7 @@ from typing import BinaryIO
|
|
8
8
|
from typing import ClassVar
|
9
9
|
|
10
10
|
from amsdal_models.classes.model import Model
|
11
|
+
from amsdal_models.storage.backends.db import AsyncFileWrapper
|
11
12
|
from amsdal_models.storage.backends.db import DBStorage
|
12
13
|
from amsdal_models.storage.base import Storage
|
13
14
|
from amsdal_utils.models.data_models.reference import Reference
|
@@ -25,7 +26,6 @@ class File(Model):
|
|
25
26
|
storage_address: Reference | None = Field(default=None, title='Storage Reference')
|
26
27
|
|
27
28
|
_source: BinaryIO | None = PrivateAttr(default=None)
|
28
|
-
_needs_persist: bool = PrivateAttr(default=False)
|
29
29
|
_storage: Storage | None = PrivateAttr(default=None)
|
30
30
|
|
31
31
|
@property
|
@@ -47,28 +47,24 @@ class File(Model):
|
|
47
47
|
return repr(self)
|
48
48
|
|
49
49
|
def pre_create(self) -> None:
|
50
|
-
|
51
|
-
from amsdal_models.storage.persistence import persist_file
|
50
|
+
from amsdal_models.storage.persistence import persist_file
|
52
51
|
|
53
|
-
|
52
|
+
persist_file(self, storage=self.storage)
|
54
53
|
|
55
54
|
def pre_update(self) -> None:
|
56
|
-
|
57
|
-
from amsdal_models.storage.persistence import persist_file
|
55
|
+
from amsdal_models.storage.persistence import persist_file
|
58
56
|
|
59
|
-
|
57
|
+
persist_file(self, storage=self.storage)
|
60
58
|
|
61
59
|
async def apre_create(self) -> None:
|
62
|
-
|
63
|
-
from amsdal_models.storage.persistence import apersist_file
|
60
|
+
from amsdal_models.storage.persistence import apersist_file
|
64
61
|
|
65
|
-
|
62
|
+
await apersist_file(self, storage=self.storage)
|
66
63
|
|
67
64
|
async def apre_update(self) -> None:
|
68
|
-
|
69
|
-
from amsdal_models.storage.persistence import apersist_file
|
65
|
+
from amsdal_models.storage.persistence import apersist_file
|
70
66
|
|
71
|
-
|
67
|
+
await apersist_file(self, storage=self.storage)
|
72
68
|
|
73
69
|
@model_validator(mode='before')
|
74
70
|
@classmethod
|
@@ -137,7 +133,6 @@ class File(Model):
|
|
137
133
|
|
138
134
|
obj = cls(filename=filename, size=size)
|
139
135
|
obj._source = f
|
140
|
-
obj._needs_persist = True
|
141
136
|
return obj
|
142
137
|
|
143
138
|
@classmethod
|
@@ -153,7 +148,6 @@ class File(Model):
|
|
153
148
|
File: The created `File` object.
|
154
149
|
"""
|
155
150
|
obj = cls(filename=filename, data=data, size=len(data))
|
156
|
-
obj._needs_persist = True
|
157
151
|
return obj
|
158
152
|
|
159
153
|
def to_file(self, file_or_path: Path | BinaryIO) -> None:
|
@@ -216,7 +210,7 @@ class File(Model):
|
|
216
210
|
try:
|
217
211
|
return await self.storage.aopen(self, mode)
|
218
212
|
except NotImplementedError:
|
219
|
-
return self.storage.open(self, mode)
|
213
|
+
return AsyncFileWrapper(self.storage.open(self, mode))
|
220
214
|
|
221
215
|
@property
|
222
216
|
def mimetype(self) -> str | None:
|
@@ -247,4 +241,3 @@ class File(Model):
|
|
247
241
|
|
248
242
|
self.data = self.data_base64_decode(data)
|
249
243
|
self.size = len(self.data)
|
250
|
-
self._needs_persist = True
|
Binary file
|
Binary file
|
Binary file
|
@@ -2,9 +2,9 @@ amsdal/manager.pyi,sha256=aRX-FO3KIozgaoJg3_pAVJjPAW9PL8hMiYvaTJ_kp5E,9466
|
|
2
2
|
amsdal/__init__.pyi,sha256=4FIq7rQKQXoDNIzrDxtklKrbPcE2qqKU8W0jp8Mld6Q,741
|
3
3
|
amsdal/__init__.py,sha256=eg_kMNcJSTvb8Q32AstCARJURBhrlIVmE12Dgq0nOUk,742
|
4
4
|
amsdal/Third-Party Materials - AMSDAL Dependencies - License Notices.md,sha256=3YRsqickIvSW7EmjlC-yk5h-YW_GMzAz7wsT9ZPIiaM,74780
|
5
|
-
amsdal/__about__.py,sha256=
|
5
|
+
amsdal/__about__.py,sha256=L5tj-PVMFqHOJMvqYtQckSVfhE7MXzcQWLoMxnxqIwI,125
|
6
6
|
amsdal/errors.pyi,sha256=mcuGsQMWaIUmC9GJDIkf99dQMMsCfBy6OI_UB3NSNmc,597
|
7
|
-
amsdal/manager.cpython-312-darwin.so,sha256=
|
7
|
+
amsdal/manager.cpython-312-darwin.so,sha256=Il6KJSpKK4a6Oq1fX7rwWQR5--syTWQmE1gerAbHzko,501968
|
8
8
|
amsdal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
amsdal/errors.py,sha256=pZZKIklaDkh8jdFSAfX81TbiylvbaE70nttRjTcTSBk,616
|
10
10
|
amsdal/__about__.pyi,sha256=Y25n44pyE3vp92MiABKrcK3IWRyQ1JG1rZ4Ufqy2nC0,17
|
@@ -17,8 +17,8 @@ amsdal/context/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
amsdal/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
18
|
amsdal/context/manager.py,sha256=CKGY75P2y-TCnZvK5p9NJsDgHo8KXHSE0Eg5AGRjnfk,1850
|
19
19
|
amsdal/mixins/class_versions_mixin.pyi,sha256=oSXjkTsN35d-3YgCckclhk7xRkljKHLYtN8a8gJgj2o,548
|
20
|
-
amsdal/mixins/__init__.cpython-312-darwin.so,sha256=
|
21
|
-
amsdal/mixins/class_versions_mixin.cpython-312-darwin.so,sha256=
|
20
|
+
amsdal/mixins/__init__.cpython-312-darwin.so,sha256=R8MoTULt_nF96utqE8JC5HINk2FIn_U5NbJR2G1nfW8,120720
|
21
|
+
amsdal/mixins/class_versions_mixin.cpython-312-darwin.so,sha256=lZ-Aq_bzLtc6_PtYUtquzHcQF0mplccNgueLOnaaf4Y,180480
|
22
22
|
amsdal/mixins/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
23
|
amsdal/utils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
24
|
amsdal/utils/contrib_paths.py,sha256=9BpNegbPofuvaQ4bE4E5cO4IV415ZZJkTqSLHUruJ3k,787
|
@@ -40,10 +40,10 @@ amsdal/models/core/fixture.py,sha256=V4SS1rAYD6mtRjwZ5tEaGgZL3fgRuP2KJ4x7R3AkBWo
|
|
40
40
|
amsdal/models/core/option.py,sha256=W2w9tmNrdmOF6x5QohJghRrnUY-RFCQ0YFULhVGdDzw,326
|
41
41
|
amsdal/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
42
|
amsdal/models/core/storage_metadata.py,sha256=q-IOcsIpZHf_bt7v2NTtXAfV2i8fip3F_wtes16WY78,716
|
43
|
-
amsdal/models/core/file.py,sha256=
|
43
|
+
amsdal/models/core/file.py,sha256=IZIS3H_RHYYlwlgOpTROspMNHcpthofMbyzd3bD8lcY,7685
|
44
44
|
amsdal/models/core/class_property.py,sha256=HFIMb0DE8bhmRf_l45VeJJD_tE85eUZ---IPSBdld7I,1098
|
45
45
|
amsdal/models/core/class_object.py,sha256=Y5sdatrNZK1jkMImyeRFTxeUonuzJaDCKZzULZvJIHw,1487
|
46
|
-
amsdal/contrib/__init__.cpython-312-darwin.so,sha256=
|
46
|
+
amsdal/contrib/__init__.cpython-312-darwin.so,sha256=mTM-ggviqeoyZKU8sKML_bzAkquIINrwG9LCaNCcyRc,120736
|
47
47
|
amsdal/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
48
|
amsdal/contrib/app_config.pyi,sha256=j3MYfBcn9MzhTagEczGWfVH9N5jrfiKmUhxZMoakojw,149
|
49
49
|
amsdal/contrib/app_config.py,sha256=RT3RAEE49XtzuFTXYNVuaqU9V4YIl0ZWZijtXgV-SC4,131
|
@@ -76,6 +76,7 @@ amsdal/contrib/frontend_configs/app.pyi,sha256=Bxdz0kmOF-Poaf2wmoJdgWYmHaStFyOFY
|
|
76
76
|
amsdal/contrib/frontend_configs/utils.py,sha256=IruaUNl4xkOr2IIFzlvrmi06vEu3CWx49GzLBsrCFU0,1103
|
77
77
|
amsdal/contrib/frontend_configs/app.py,sha256=fY4GukBM6GKSZExT0EgddTamLfUJHwQZS8tOwVQyeSY,836
|
78
78
|
amsdal/contrib/frontend_configs/migrations/0000_initial.py,sha256=-Vg5u__gvbOaz3tMOVVj_V086nb_D6IoC1Ji6ClkUoE,18952
|
79
|
+
amsdal/contrib/frontend_configs/migrations/0001_update_frontend_control_config.py,sha256=4mvgb2IyOWfi3cT4tnrM8lFVmoT3qR064anHpcUz028,17229
|
79
80
|
amsdal/contrib/frontend_configs/lifecycle/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
81
|
amsdal/contrib/frontend_configs/lifecycle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
81
82
|
amsdal/contrib/frontend_configs/lifecycle/consumer.pyi,sha256=kRNenTrKfswS8Y3UY6XYQ03WlCuo9LFk8WIJxm--cAk,4168
|
@@ -84,7 +85,7 @@ amsdal/contrib/frontend_configs/models/frontend_config_control_action.py,sha256=
|
|
84
85
|
amsdal/contrib/frontend_configs/models/frontend_config_option.py,sha256=n4ZcI7RDwNCpeT5gGLuNJeHzJlhqyf7U5BD4V4wbUv4,448
|
85
86
|
amsdal/contrib/frontend_configs/models/frontend_model_config.py,sha256=UTvp-RvPnci4F7RdRj60hZXgEjSqvNhkfwdbw7ju_sU,517
|
86
87
|
amsdal/contrib/frontend_configs/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
87
|
-
amsdal/contrib/frontend_configs/models/frontend_control_config.py,sha256=
|
88
|
+
amsdal/contrib/frontend_configs/models/frontend_control_config.py,sha256=2gKp5C2CnK13PMhy0-7F_6ZneYdvgm4NxV1f9ZCHDwI,3889
|
88
89
|
amsdal/contrib/frontend_configs/models/frontend_config_group_validator.py,sha256=vJ36_Xmweygi5UXAL6wOXLi6sGe2rkUcsmT7WzgXuAU,974
|
89
90
|
amsdal/contrib/frontend_configs/models/frontend_config_slider_option.py,sha256=bixZRd4x4zcxykMXC3obYDp8DHORRR3BEBcqaZGcHHo,510
|
90
91
|
amsdal/contrib/frontend_configs/models/frontend_config_text_mask.py,sha256=EEonXV4HyxiVq4AkvIxKtzXhiDYeplexMWzNSQeYpoc,583
|
@@ -104,7 +105,7 @@ amsdal/schemas/interfaces.pyi,sha256=jUXLEKIa_af9Qrv9a4UvfRmsUV78N921i4dDXKHPaQk
|
|
104
105
|
amsdal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
105
106
|
amsdal/schemas/utils.pyi,sha256=UbeISOxetojP6HlzhiJWeaAVyYZUrnGAS5niTQ0m6n0,437
|
106
107
|
amsdal/schemas/utils.py,sha256=t8k7QYYR6SsCPpBhp7s585eSYKVIF895EKRMK1w1y1Q,492
|
107
|
-
amsdal/schemas/manager.cpython-312-darwin.so,sha256=
|
108
|
+
amsdal/schemas/manager.cpython-312-darwin.so,sha256=YehHGLILJNcBgTxeCKkVfWtUGvY3yHzNjDT6WX3_b3I,120736
|
108
109
|
amsdal/schemas/repository.py,sha256=PbskgDr8JMabQm2uf8Kfj5bBSPlPkx4cDGXn-jfIsPM,3249
|
109
110
|
amsdal/schemas/manager.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
110
111
|
amsdal/schemas/types/array/model.json,sha256=I9Z7r691yd8i-Ndy8Cf3rFGg22mnLxg_weeVU2kRtkY,117
|
@@ -141,6 +142,7 @@ amsdal/schemas/mixins/check_dependencies_mixin.py,sha256=M3Wi1g4F9pbEEpOUlXUhCnv
|
|
141
142
|
amsdal/queryset/__init__.pyi,sha256=U8YdXkB_drnE4aX54kg7B8my9fyPg-pwsVct6QfM5Bc,545
|
142
143
|
amsdal/queryset/__init__.py,sha256=CzNaFx6yHvePtd3JY1ZGF3QLfE-e_ll5iSnaCVWdKHI,676
|
143
144
|
amsdal/__migrations__/0002_create_class_file.py,sha256=Aq72H968urji4D5aEMCsEol6gaXp1SGylmhua-hxBec,9360
|
145
|
+
amsdal/__migrations__/0004_update_class_file.py,sha256=ZxCgHFsR7WBxoAKlncEHbXusrnCLZgqVuk4yiQ9gzCg,15261
|
144
146
|
amsdal/__migrations__/0000_initial.py,sha256=USn8u2uhHy9yFtONsTec-LMdCl3f7GQ_AgSL-yQZmO4,1874
|
145
147
|
amsdal/__migrations__/0001_create_class_file.py,sha256=ujBYnCvk-UhswWlSIsiQqMbgSrXBsdWDFNaFLlc0Trc,3762
|
146
148
|
amsdal/__migrations__/0003_update_class_file.py,sha256=sKzNB9Lc5w6mGIYfyN0jI7wLgkHQVVybdCkJIqw0UYk,16118
|
@@ -152,94 +154,94 @@ amsdal/configs/constants.py,sha256=faghdS6r3on1WKrp782WmgONd1fMf4X73LJzAwMO1po,9
|
|
152
154
|
amsdal/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
153
155
|
amsdal/configs/main.pyi,sha256=2pCKNMnSdnggHNGj37VSDhAxegrzXqVerz0HLtx7Ni4,6937
|
154
156
|
amsdal/configs/main.py,sha256=9iwtIPIy3Dbpenkhq2rSl2ar1nuJjGv4PRQeEv4z71A,9756
|
155
|
-
amsdal/cloud/__init__.cpython-312-darwin.so,sha256=
|
157
|
+
amsdal/cloud/__init__.cpython-312-darwin.so,sha256=QmstApSekxAZOv18fvkQalnsjVmrsSLn4xFdmgYzsAk,120720
|
156
158
|
amsdal/cloud/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
157
159
|
amsdal/cloud/constants.pyi,sha256=0qWxDqjQkETwUtgco5kV83fPHhQ4jRdJe_YPPNTnSIY,327
|
158
160
|
amsdal/cloud/client.pyi,sha256=3VjPRtJrbUU29u_wswETrMorN0iUb4GFAXmMc73bUf4,2247
|
159
|
-
amsdal/cloud/constants.cpython-312-darwin.so,sha256=
|
160
|
-
amsdal/cloud/enums.cpython-312-darwin.so,sha256=
|
161
|
-
amsdal/cloud/client.cpython-312-darwin.so,sha256=
|
161
|
+
amsdal/cloud/constants.cpython-312-darwin.so,sha256=tQw9TFsnD3OgMbNJNexWo1AziV1D1wKM6FVarcknqB4,158688
|
162
|
+
amsdal/cloud/enums.cpython-312-darwin.so,sha256=pV_NNqs0utWRMPUHo8jO6tm732bjsh_0qTeq9NprzNU,158128
|
163
|
+
amsdal/cloud/client.cpython-312-darwin.so,sha256=Fn04aNigXTSQk5hOTpx6zz0ZbK1jc1I201Gg6ZqmFF4,216144
|
162
164
|
amsdal/cloud/enums.pyi,sha256=mX5O1FPc3aNnN108aOJT66Nn9KlcyrRTj9B23sFdDfw,1757
|
163
|
-
amsdal/cloud/models/__init__.cpython-312-darwin.so,sha256=
|
165
|
+
amsdal/cloud/models/__init__.cpython-312-darwin.so,sha256=wSv2odxKI5MzwSV4Vaq117OPKqcE81EihGbp6HL5qaY,120752
|
164
166
|
amsdal/cloud/models/base.pyi,sha256=avwAj4uS4NHrXvmSKBxokFKFWSaBPXtJPl1Ig1CD6sg,7727
|
165
167
|
amsdal/cloud/models/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
166
|
-
amsdal/cloud/models/base.cpython-312-darwin.so,sha256=
|
167
|
-
amsdal/cloud/services/__init__.cpython-312-darwin.so,sha256=
|
168
|
+
amsdal/cloud/models/base.cpython-312-darwin.so,sha256=AG7oxVZTXjN4GaUnJffYKnyVOq5VW43Qg5TP2P_KrqI,195328
|
169
|
+
amsdal/cloud/services/__init__.cpython-312-darwin.so,sha256=9R3C2iMDRHktbrLhDfk2Jtv_lF-5o3N5CHycW15HXE4,120768
|
168
170
|
amsdal/cloud/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
169
|
-
amsdal/cloud/services/auth/__init__.cpython-312-darwin.so,sha256=
|
171
|
+
amsdal/cloud/services/auth/__init__.cpython-312-darwin.so,sha256=yPnZv92LgZxsAGpHNgBJudeXjJFbRTNi1B6ZcAIPNzs,120784
|
170
172
|
amsdal/cloud/services/auth/base.pyi,sha256=oj_tgwWhf02g-FzCLcNOEZjYDxfcrrDssING4jsUMb8,167
|
171
173
|
amsdal/cloud/services/auth/manager.pyi,sha256=AhKllHgraztP3JSKta9MmQjTNRAbQbwqZg2EpQZSwhI,1243
|
172
174
|
amsdal/cloud/services/auth/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
173
|
-
amsdal/cloud/services/auth/credentials.cpython-312-darwin.so,sha256=
|
175
|
+
amsdal/cloud/services/auth/credentials.cpython-312-darwin.so,sha256=zV8A7G6TL8qFUOvpS_OWl4eajnYJxOvwId20UJu06s4,287944
|
174
176
|
amsdal/cloud/services/auth/signup_service.pyi,sha256=SfSN1tLIwrzGi9JbMgoLuKKH1u5uoh_MOFJ4n_NHcBY,1145
|
175
|
-
amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so,sha256=
|
177
|
+
amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so,sha256=qS264uhJ8pl-f8eIXOp7KnPd7Ap66FC6tmm4TWbXyhQ,216232
|
176
178
|
amsdal/cloud/services/auth/token.pyi,sha256=v9QDleIytAZGlYHHaO-W1fTr5d2OLGWsh5g6HDeuk90,1042
|
177
|
-
amsdal/cloud/services/auth/token.cpython-312-darwin.so,sha256=
|
178
|
-
amsdal/cloud/services/auth/manager.cpython-312-darwin.so,sha256=
|
179
|
-
amsdal/cloud/services/auth/base.cpython-312-darwin.so,sha256=
|
179
|
+
amsdal/cloud/services/auth/token.cpython-312-darwin.so,sha256=r1tV6Oi0p0_mWDPtAHL0IbawrAYvVAK8v-hUiPOWSvk,251648
|
180
|
+
amsdal/cloud/services/auth/manager.cpython-312-darwin.so,sha256=CnquSzMklqVIxNJ0hmOIQHUIRTuh-gEPs3BByjJl8xI,214144
|
181
|
+
amsdal/cloud/services/auth/base.cpython-312-darwin.so,sha256=rO1Dh5WGYBjS3CzWIBY-7z0sB6OSKqq-DUjTKQ-Uwzg,163120
|
180
182
|
amsdal/cloud/services/auth/credentials.pyi,sha256=ghp3r8rDq5l5xxx7UKFkCASyQJbWChkF2PQDJrQmeW4,1417
|
181
|
-
amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so,sha256=
|
182
|
-
amsdal/cloud/services/actions/__init__.cpython-312-darwin.so,sha256
|
183
|
+
amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so,sha256=wxUVtwaZAMOi3KaE34NWOcWzXKkljN1lIjXsRssU_10,180840
|
184
|
+
amsdal/cloud/services/actions/__init__.cpython-312-darwin.so,sha256=tnS4gxAadfECvcw2xVvRc7EX0E6MGrsZu3rDfa4KmgQ,120800
|
183
185
|
amsdal/cloud/services/actions/list_envs.pyi,sha256=7PylFRd1Jb6nkTt8q8iy27rLj-Q5qcwfqW02_OlfDZs,878
|
184
186
|
amsdal/cloud/services/actions/base.pyi,sha256=J98igdu3E9-mled_kbxerja4DTLM0OAW8cHtsVOQ_fc,5880
|
185
187
|
amsdal/cloud/services/actions/manager.pyi,sha256=Tal5u1nMhi7MeuJ9lBIPYPLgKoIB6DUXPU2AokrusHI,15441
|
186
188
|
amsdal/cloud/services/actions/delete_allowlist_ip.pyi,sha256=W5zVq7YKL_OVigZl58bqau3rvAzsLdItAZaqDO1HGJw,933
|
187
189
|
amsdal/cloud/services/actions/add_basic_auth.pyi,sha256=4tyTci_k_xlJrkBd71sY0ivRr8alo3Bq0KCkjIfacu4,1106
|
188
190
|
amsdal/cloud/services/actions/list_secrets.pyi,sha256=vF-EikAy7WHdkvkGikD_oDFDIgE1GEr8nxAQKYAs9rY,1079
|
189
|
-
amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so,sha256=
|
191
|
+
amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so,sha256=7_op-o7ws9nFdINt53MppcvTeOURmMzame05JnkuHNY,164312
|
190
192
|
amsdal/cloud/services/actions/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
191
193
|
amsdal/cloud/services/actions/get_basic_auth_credentials.pyi,sha256=1FU8BtDRaGTx8fSqdhmotQK-rR7gKr4Qav_E-T_23rc,1071
|
192
|
-
amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so,sha256=
|
194
|
+
amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so,sha256=8LuNbG8jCEaGSG2t2K5M_YS5jRMqxps_wEjqfQSdVDc,197512
|
193
195
|
amsdal/cloud/services/actions/delete_secret.pyi,sha256=gZi17MivNYBIfdPU2GjoJ2I2lWiefdvLuXTcxDss1P4,953
|
194
196
|
amsdal/cloud/services/actions/delete_env.pyi,sha256=uyBHMOp_AprbpSfv6y6QfYW5FvK1-8jb2NxK_FmuPHE,969
|
195
|
-
amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so,sha256=
|
196
|
-
amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so,sha256=
|
197
|
-
amsdal/cloud/services/actions/create_env.cpython-312-darwin.so,sha256=
|
198
|
-
amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so,sha256=
|
199
|
-
amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so,sha256=
|
197
|
+
amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so,sha256=uMwVmtYD-NEpf0xxUYJ0ewMFsWiGNucvtuGePL_ImRg,180848
|
198
|
+
amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so,sha256=zHaXs1wsNyXgTTdduOb66E6za55dxA_V509neG34CMY,164328
|
199
|
+
amsdal/cloud/services/actions/create_env.cpython-312-darwin.so,sha256=i3S2tmEkdaSKsx4WSNahCum9QR4pQ3Tic5UU8GQ4Tsg,180840
|
200
|
+
amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so,sha256=y-CfvHTR54wjFlfCUndBEPu3C2emdMS6N0mUMMo4Z8k,181080
|
201
|
+
amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so,sha256=ljtRcRrho2KMUs-ELe2hYfYP7c9JStr8RvWDWtzTsB0,197376
|
200
202
|
amsdal/cloud/services/actions/delete_dependency.pyi,sha256=VuT1w2qOpjR7I9mBi9tPXMXDPEeU8tG0vi9TXV82Frg,1021
|
201
|
-
amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so,sha256=
|
202
|
-
amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so,sha256=
|
203
|
-
amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so,sha256=
|
204
|
-
amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so,sha256=
|
203
|
+
amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so,sha256=d9iJELEMn8LN2U20IbhCbC1_yWgrsfQ-PnhUi1g89IM,164168
|
204
|
+
amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so,sha256=dXbgAN0nNEaoCb5C5h9uhgAE5vPU29LcaWSHhrCFa8k,197704
|
205
|
+
amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so,sha256=JznnzVygb39vLj1HE4lZDK-H8sCxweLJvThvHW-GuOo,164384
|
206
|
+
amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so,sha256=OsEqXD-wG6cOCiiULUt1Nox-8NI0m4St3vp0JRDr878,181096
|
205
207
|
amsdal/cloud/services/actions/create_session.pyi,sha256=KUvx_vkhLQfGp_DM1ZvgszyT_G8LB28KoI1XpjNR7YY,674
|
206
208
|
amsdal/cloud/services/actions/list_deploys.pyi,sha256=Q8da3PDPxICLP2V7L-A7p-9_a3qNKrARqgHhu0CA0nA,724
|
207
|
-
amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so,sha256=
|
208
|
-
amsdal/cloud/services/actions/create_session.cpython-312-darwin.so,sha256=
|
209
|
+
amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so,sha256=hWpZlIdEy64UAPCN9w2rZ6EabDgRVVWACKnvhuz1IXQ,269176
|
210
|
+
amsdal/cloud/services/actions/create_session.cpython-312-darwin.so,sha256=vN4nZfDtSwGdn-VmS9sM-ONVR44drM4r-ewFaO1rGT8,181000
|
209
211
|
amsdal/cloud/services/actions/add_allowlist_ip.pyi,sha256=gB2NQVz8NcSsgXYiym2Suh1RPI8eHKIAFE13RmeTHkA,883
|
210
212
|
amsdal/cloud/services/actions/get_monitoring_info.pyi,sha256=uvtBgWvtWf-Mq4vZq_q-q8Z8hJh5voAY61KRJQPGWFk,1045
|
211
213
|
amsdal/cloud/services/actions/add_dependency.pyi,sha256=uVEIhvDa4GRS0Lg6TkcYdOwezKcxrzL7A_Lh8BxcAeU,837
|
212
|
-
amsdal/cloud/services/actions/manager.cpython-312-darwin.so,sha256=
|
214
|
+
amsdal/cloud/services/actions/manager.cpython-312-darwin.so,sha256=wgQZJIjiiX0VEV336JBF1EXDIapL4nc0rGtKc7sJ98k,354848
|
213
215
|
amsdal/cloud/services/actions/signup_action.pyi,sha256=VswHjhxw2eHYqXwc---F2LpwlD7GlIuL_Ev2DmA96_4,808
|
214
216
|
amsdal/cloud/services/actions/add_secret.pyi,sha256=H6rS3PRwiktMfnoY8qwtmTplN9gG2yZgQKKCX8S8Q6c,890
|
215
|
-
amsdal/cloud/services/actions/base.cpython-312-darwin.so,sha256=
|
216
|
-
amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so,sha256=
|
217
|
+
amsdal/cloud/services/actions/base.cpython-312-darwin.so,sha256=tIxdQcW9rjlYGdBCZknEqE1Ksb0x3o5SxutQYjec5Ho,307200
|
218
|
+
amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so,sha256=KdVbWbpMJCsOgrYfi2_ZksDSvn9nuMrKgocCXXh3Rnk,197512
|
217
219
|
amsdal/cloud/services/actions/destroy_deploy.pyi,sha256=VNb0J71B3gk4SVJwxlB9XTj4vCG-37ucojcGzsvKwe8,609
|
218
220
|
amsdal/cloud/services/actions/update_deploy.pyi,sha256=alM1nquQZ5O8PYlDIqDdSuiyuc_aj9fkd01bL9KANEI,766
|
219
|
-
amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so,sha256=
|
220
|
-
amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so,sha256=
|
221
|
-
amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so,sha256=
|
222
|
-
amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so,sha256=
|
223
|
-
amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so,sha256=
|
224
|
-
amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so,sha256=
|
225
|
-
amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so,sha256=
|
221
|
+
amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so,sha256=oYVwmHuowFKUgPwZouptyF_ECnznkdoqGnyTw8SrVx0,164264
|
222
|
+
amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so,sha256=cSdYhPZRGoFYDqShxwZZuF50YQOz3vjfddGBr6Xo2To,197568
|
223
|
+
amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so,sha256=E3mecOgwAb-zkoRqDhHJqxKvQik5akt2ZehiPoRZCLs,164376
|
224
|
+
amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so,sha256=1yi2VwJwZ17nseI41HyFaAop_6jVo9GGt0vaiI2qA3U,180792
|
225
|
+
amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so,sha256=yYUwXkKZn7XzWIWsWFxSOYdHOgQ4iyZL6EZk50SGkQ0,164216
|
226
|
+
amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so,sha256=hGMxU2SgZJnww9zQSYomuRAsWJEUS0hln5v0NIMY8E8,164376
|
227
|
+
amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so,sha256=ULHfBganhmF2gJnPvODuVtPQpX1rmY8gcRDXbDkB_hY,197688
|
226
228
|
amsdal/cloud/services/actions/create_deploy.pyi,sha256=VmVMYJQmjPZce6Cm8sMQ27HomhfdzZc_0X57ZWZmCt0,1988
|
227
229
|
amsdal/cloud/services/actions/delete_basic_auth.pyi,sha256=-I1YoOMFi0LaRsZL2JBGH_sg18PZoUL1PP9YetboDJA,915
|
228
230
|
amsdal/cloud/services/actions/list_dependencies.pyi,sha256=C37VamSyRT-uNLuwQJ0OrHKavs8Jt0bfPbAsE5BQEvE,1035
|
229
231
|
amsdal/cloud/services/actions/create_env.pyi,sha256=ITvyLrvwt6H36JNYURHZ_PbmGZquc5Fm07dVo7H6ll0,910
|
230
232
|
amsdal/cloud/services/actions/expose_db.pyi,sha256=uk2zuz1SiXwjDFxtKF-yyWGNEONOgfm7EcrEyVT0cMM,1049
|
231
|
-
amsdal/fixtures/__init__.cpython-312-darwin.so,sha256=
|
233
|
+
amsdal/fixtures/__init__.cpython-312-darwin.so,sha256=UqC_vneay0tyEJbBEE4FnpuxN-6FZx1LNNL_smPIpIg,120736
|
232
234
|
amsdal/fixtures/manager.pyi,sha256=fMl3nNa2A9jiZanZ_7tnUGaPigk_03KMmdcUGPoX9kI,7077
|
233
235
|
amsdal/fixtures/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
234
|
-
amsdal/fixtures/utils.cpython-312-darwin.so,sha256=
|
236
|
+
amsdal/fixtures/utils.cpython-312-darwin.so,sha256=Hyhov8eOAW3-kjTQiMkQmktfWvZIaF6UugtW9uA0dIo,290128
|
235
237
|
amsdal/fixtures/utils.pyi,sha256=OnFn7opJscOydj-rlcXQIdDodlIKGCt79TRy5zAUkqg,457
|
236
|
-
amsdal/fixtures/manager.cpython-312-darwin.so,sha256=
|
237
|
-
amsdal/services/__init__.cpython-312-darwin.so,sha256=
|
238
|
+
amsdal/fixtures/manager.cpython-312-darwin.so,sha256=R915jM16W5DWtBavq2Unob1ue95SeN9axwO538TjKz0,655648
|
239
|
+
amsdal/services/__init__.cpython-312-darwin.so,sha256=2K09Ey4fjxtC1F9yB0-AGXKIoSl7NKlAbWEWMCFESFs,120736
|
238
240
|
amsdal/services/transaction_execution.pyi,sha256=TwCuurOoqSHgNu9GCYYZPSpGjxXssF2eNygQ5KVwAZM,4374
|
239
|
-
amsdal/services/transaction_execution.cpython-312-darwin.so,sha256=
|
241
|
+
amsdal/services/transaction_execution.cpython-312-darwin.so,sha256=ZKV_JX1la3iULju0wxI3g3tJPOSc7UungGPsb_iNEN4,435648
|
240
242
|
amsdal/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
241
|
-
amsdal-0.5.
|
242
|
-
amsdal-0.5.
|
243
|
-
amsdal-0.5.
|
244
|
-
amsdal-0.5.
|
245
|
-
amsdal-0.5.
|
243
|
+
amsdal-0.5.11.dist-info/RECORD,,
|
244
|
+
amsdal-0.5.11.dist-info/WHEEL,sha256=_N1vyLgwJ10g4JxFsp-IfU42zGJgf-DUqwfdbV1YvEM,115
|
245
|
+
amsdal-0.5.11.dist-info/top_level.txt,sha256=VPQLnOP3mf7q0JuQ_vPZYQyPNGKd_uc6ouz-hZRkhSk,7
|
246
|
+
amsdal-0.5.11.dist-info/METADATA,sha256=blriDQBHUpEI5skBbBAUFgGaCzZjW8d0fxNURbytJpM,57623
|
247
|
+
amsdal-0.5.11.dist-info/licenses/LICENSE.txt,sha256=hG-541PFYfNJi9WRZi_hno91UyqNg7YLK8LR3vLblZA,27355
|
File without changes
|
File without changes
|
File without changes
|