amsdal_utils 0.4.5__tar.gz → 0.5.0__tar.gz
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_utils-0.4.5 → amsdal_utils-0.5.0}/PKG-INFO +1 -1
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/change-logs.md +6 -0
- amsdal_utils-0.5.0/latest-changelogs.md +5 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/__about__.py +1 -1
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/core.py +34 -2
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/schemas/schema.py +10 -2
- amsdal_utils-0.4.5/latest-changelogs.md +0 -5
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/.editorconfig +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/.gitignore +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/CONTRIBUTING.md +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/LICENSE.txt +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/README.md +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/license_check.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/pyproject.toml +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/release_notes/.gitkeep +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/scripts/release.sh +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/scripts/tag_check.sh +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/Third-Party Materials - AMSDAL Dependencies - License Notices.md +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/classes/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/classes/metadata_manager.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/classes/transaction_manager.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/classes/version_manager.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/amsdal_config.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/connection_config.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/integration_config.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/repository_config.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/resources_config.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/enums.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/manager.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/errors.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/lifecycle/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/lifecycle/consumer.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/lifecycle/enum.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/lifecycle/producer.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/base.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/address.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/enums.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/metadata.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/reference.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/table_schema.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/transaction.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/enums.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/mixins/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/mixins/cached_mixin.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/utils/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/utils/get_subclasses.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/utils/reference_builders.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/py.typed +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/data_models/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/data_models/filter.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/data_models/order_by.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/data_models/paginator.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/data_models/query_specifier.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/enums.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/mixin.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/pull_out_filter.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/split.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/utils.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/schemas/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/schemas/interfaces.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/utils/__init__.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/utils/classes.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/utils/decorators.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/utils/identifier.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/utils/lazy_object.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/utils/singleton.py +0 -0
- {amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/utils/text.py +0 -0
|
@@ -72,6 +72,24 @@ class LegacyDictSchema(BaseModel):
|
|
|
72
72
|
value_type: str
|
|
73
73
|
|
|
74
74
|
|
|
75
|
+
def process_one_of(data: dict[str, Any]) -> dict[str, Any]:
|
|
76
|
+
one_of = [
|
|
77
|
+
ao
|
|
78
|
+
for ao in data.pop('oneOf')
|
|
79
|
+
if ao not in [{'type': 'null'}, {'$ref': '#/$defs/Reference'}, {'$ref': '#/$defs/LegacyModel'}]
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
for _one_of_item in one_of:
|
|
83
|
+
if not _one_of_item or '$ref' not in _one_of_item:
|
|
84
|
+
msg = f'Multiple oneOf should contain $ref. Currently: {one_of}'
|
|
85
|
+
raise ValueError(msg)
|
|
86
|
+
|
|
87
|
+
_types = [_one_of_item['$ref'].rsplit('/', 1)[-1] for _one_of_item in one_of]
|
|
88
|
+
data['type'] = '|'.join(_types)
|
|
89
|
+
|
|
90
|
+
return data
|
|
91
|
+
|
|
92
|
+
|
|
75
93
|
def process_any_of(data: dict[str, Any], info: ValidationInfo) -> dict[str, Any]:
|
|
76
94
|
_any_of = data.pop('anyOf')
|
|
77
95
|
if _any_of in [[{'$ref': '#/$defs/Reference'}], [{'$ref': '#/$defs/Reference'}, {'type': 'null'}]]:
|
|
@@ -85,8 +103,13 @@ def process_any_of(data: dict[str, Any], info: ValidationInfo) -> dict[str, Any]
|
|
|
85
103
|
]
|
|
86
104
|
|
|
87
105
|
if len(any_of) != 1:
|
|
88
|
-
|
|
89
|
-
|
|
106
|
+
for _any_of_item in any_of:
|
|
107
|
+
if not _any_of_item or '$ref' not in _any_of_item:
|
|
108
|
+
msg = f'Multiple anyOf should contain $ref. Currently: {any_of}'
|
|
109
|
+
raise ValueError(msg)
|
|
110
|
+
_types = [_any_of_item['$ref'].rsplit('/', 1)[-1] for _any_of_item in any_of]
|
|
111
|
+
|
|
112
|
+
data['type'] = '|'.join(_types)
|
|
90
113
|
|
|
91
114
|
_any_of_element = any_of[0]
|
|
92
115
|
|
|
@@ -186,6 +209,15 @@ class TypeData(BaseModel, extra='allow'):
|
|
|
186
209
|
if 'anyOf' in data:
|
|
187
210
|
data = process_any_of(data, info)
|
|
188
211
|
|
|
212
|
+
if 'oneOf' in data:
|
|
213
|
+
data = process_one_of(data)
|
|
214
|
+
|
|
215
|
+
if 'discriminator' in data and isinstance(data['discriminator'], dict):
|
|
216
|
+
try:
|
|
217
|
+
data['discriminator'] = data['discriminator']['propertyName']
|
|
218
|
+
except:
|
|
219
|
+
raise
|
|
220
|
+
|
|
189
221
|
if 'type' not in data:
|
|
190
222
|
data['type'] = 'object'
|
|
191
223
|
|
|
@@ -30,7 +30,6 @@ class PropertyData(TypeData, extra='allow'):
|
|
|
30
30
|
field_name (str | None): The name of the field.
|
|
31
31
|
field_id (str | None): The ID of the field.
|
|
32
32
|
is_deleted (bool): Indicates if the property is deleted.
|
|
33
|
-
db_field (list[str] | None): The database fields.
|
|
34
33
|
"""
|
|
35
34
|
|
|
36
35
|
title: str | None = None
|
|
@@ -38,7 +37,7 @@ class PropertyData(TypeData, extra='allow'):
|
|
|
38
37
|
field_name: str | None = None
|
|
39
38
|
field_id: str | None = None
|
|
40
39
|
is_deleted: bool = False
|
|
41
|
-
|
|
40
|
+
discriminator: str | None = None
|
|
42
41
|
|
|
43
42
|
@model_validator(mode='before')
|
|
44
43
|
@classmethod
|
|
@@ -101,6 +100,14 @@ class PropertyData(TypeData, extra='allow'):
|
|
|
101
100
|
return self
|
|
102
101
|
|
|
103
102
|
|
|
103
|
+
class StorageMetadata(BaseModel, extra='allow'):
|
|
104
|
+
table_name: str | None = Field(None, title='Table name')
|
|
105
|
+
db_fields: dict[str, list[str]] | None = Field(None, title='Database property to fields mapping')
|
|
106
|
+
primary_key: list[str] | None = Field(None, title='Primary key fields')
|
|
107
|
+
indexed: list[list[str]] | None = Field(None, title='Indexed')
|
|
108
|
+
unique: list[list[str]] | None = Field(None, title='Unique Fields')
|
|
109
|
+
|
|
110
|
+
|
|
104
111
|
class ObjectSchema(BaseModel, extra='allow'):
|
|
105
112
|
r"""
|
|
106
113
|
Schema for an object.
|
|
@@ -127,6 +134,7 @@ class ObjectSchema(BaseModel, extra='allow'):
|
|
|
127
134
|
options: list[OptionItemData] | None = None
|
|
128
135
|
meta_class: str = MetaClasses.CLASS_OBJECT.value
|
|
129
136
|
custom_code: str | None = None
|
|
137
|
+
storage_metadata: StorageMetadata | None = None
|
|
130
138
|
|
|
131
139
|
@model_validator(mode='before')
|
|
132
140
|
@classmethod
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/amsdal_config.py
RENAMED
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/connection_config.py
RENAMED
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/integration_config.py
RENAMED
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/repository_config.py
RENAMED
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/config/data_models/resources_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/table_schema.py
RENAMED
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/data_models/transaction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/models/utils/reference_builders.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{amsdal_utils-0.4.5 → amsdal_utils-0.5.0}/src/amsdal_utils/query/data_models/query_specifier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|