Skip to content

Commit 88c507f

Browse files
authored
[portal] az portal dashboard: Refine input json properties deserializing (#8730)
* refine json deserializing * update version
1 parent b436df4 commit 88c507f

File tree

12 files changed

+113
-426
lines changed

12 files changed

+113
-426
lines changed

src/portal/HISTORY.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Release History
44
===============
55

6+
1.0.0b2
7+
++++++
8+
* Revert maximum name length to 64 characters.
9+
* Refine deserializing for input json properties.
10+
611
1.0.0b1
712
++++++
813
* Migrate to AAZ

src/portal/azext_portal/aaz/latest/portal/__cmd_group.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#
55
# Code generated by aaz-dev-tools
66
# --------------------------------------------------------------------------------------------
7+
# swagger changes: https://github.com/Azure/azure-rest-api-specs/pull/32901
78

89
# pylint: skip-file
910
# flake8: noqa

src/portal/azext_portal/aaz/latest/portal/dashboard/_create.py

Lines changed: 4 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
4949
help="The name of the dashboard.",
5050
required=True,
5151
fmt=AAZStrArgFormat(
52-
pattern="^[a-zA-Z0-9-]{3,24}$",
5352
max_length=64,
5453
min_length=3,
5554
),
@@ -109,7 +108,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
109108
parts.Element = AAZObjectArg()
110109

111110
_element = cls._args_schema.lenses.Element.parts.Element
112-
_element.metadata = AAZObjectArg(
111+
_element.metadata = AAZFreeFormDictArg(
113112
options=["metadata"],
114113
help="The dashboard part's metadata.",
115114
)
@@ -119,58 +118,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
119118
required=True,
120119
)
121120

122-
metadata = cls._args_schema.lenses.Element.parts.Element.metadata
123-
metadata.extension_hubs_extension_part_type_markdown_part = AAZObjectArg(
124-
options=["extension-hubs-extension-part-type-markdown-part"],
125-
)
126-
127-
extension_hubs_extension_part_type_markdown_part = cls._args_schema.lenses.Element.parts.Element.metadata.extension_hubs_extension_part_type_markdown_part
128-
extension_hubs_extension_part_type_markdown_part.inputs = AAZListArg(
129-
options=["inputs"],
130-
help="Input to dashboard part.",
131-
)
132-
extension_hubs_extension_part_type_markdown_part.settings = AAZObjectArg(
133-
options=["settings"],
134-
help="Markdown part settings.",
135-
)
136-
137-
inputs = cls._args_schema.lenses.Element.parts.Element.metadata.extension_hubs_extension_part_type_markdown_part.inputs
138-
inputs.Element = AAZFreeFormDictArg()
139-
140-
settings = cls._args_schema.lenses.Element.parts.Element.metadata.extension_hubs_extension_part_type_markdown_part.settings
141-
settings.content = AAZObjectArg(
142-
options=["content"],
143-
help="The content of markdown part.",
144-
)
145-
146-
content = cls._args_schema.lenses.Element.parts.Element.metadata.extension_hubs_extension_part_type_markdown_part.settings.content
147-
content.settings = AAZObjectArg(
148-
options=["settings"],
149-
help="The setting of the content of markdown part.",
150-
)
151-
152-
settings = cls._args_schema.lenses.Element.parts.Element.metadata.extension_hubs_extension_part_type_markdown_part.settings.content.settings
153-
settings.content = AAZStrArg(
154-
options=["content"],
155-
help="The content of the markdown part.",
156-
)
157-
settings.markdown_source = AAZIntArg(
158-
options=["markdown-source"],
159-
help="The source of the content of the markdown part.",
160-
)
161-
settings.markdown_uri = AAZStrArg(
162-
options=["markdown-uri"],
163-
help="The uri of markdown content.",
164-
)
165-
settings.subtitle = AAZStrArg(
166-
options=["subtitle"],
167-
help="The subtitle of the markdown part.",
168-
)
169-
settings.title = AAZStrArg(
170-
options=["title"],
171-
help="The title of the markdown part.",
172-
)
173-
174121
position = cls._args_schema.lenses.Element.parts.Element.position
175122
position.col_span = AAZIntArg(
176123
options=["col-span"],
@@ -317,42 +264,12 @@ def content(self):
317264

318265
_elements = _builder.get(".properties.lenses[].parts[]")
319266
if _elements is not None:
320-
_elements.set_prop("metadata", AAZObjectType, ".metadata")
267+
_elements.set_prop("metadata", AAZFreeFormDictType, ".metadata")
321268
_elements.set_prop("position", AAZObjectType, ".position", typ_kwargs={"flags": {"required": True}})
322269

323270
metadata = _builder.get(".properties.lenses[].parts[].metadata")
324271
if metadata is not None:
325-
metadata.set_const("type", "Extension/HubsExtension/PartType/MarkdownPart", AAZStrType, ".extension_hubs_extension_part_type_markdown_part", typ_kwargs={"flags": {"required": True}})
326-
metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart")
327-
328-
disc_extension__hubs_extension__part_type__markdown_part = _builder.get(".properties.lenses[].parts[].metadata{type:Extension/HubsExtension/PartType/MarkdownPart}")
329-
if disc_extension__hubs_extension__part_type__markdown_part is not None:
330-
disc_extension__hubs_extension__part_type__markdown_part.set_prop("inputs", AAZListType, ".extension_hubs_extension_part_type_markdown_part.inputs")
331-
disc_extension__hubs_extension__part_type__markdown_part.set_prop("settings", AAZObjectType, ".extension_hubs_extension_part_type_markdown_part.settings")
332-
333-
inputs = _builder.get(".properties.lenses[].parts[].metadata{type:Extension/HubsExtension/PartType/MarkdownPart}.inputs")
334-
if inputs is not None:
335-
inputs.set_elements(AAZFreeFormDictType, ".")
336-
337-
_elements = _builder.get(".properties.lenses[].parts[].metadata{type:Extension/HubsExtension/PartType/MarkdownPart}.inputs[]")
338-
if _elements is not None:
339-
_elements.set_anytype_elements(".")
340-
341-
settings = _builder.get(".properties.lenses[].parts[].metadata{type:Extension/HubsExtension/PartType/MarkdownPart}.settings")
342-
if settings is not None:
343-
settings.set_prop("content", AAZObjectType, ".content")
344-
345-
content = _builder.get(".properties.lenses[].parts[].metadata{type:Extension/HubsExtension/PartType/MarkdownPart}.settings.content")
346-
if content is not None:
347-
content.set_prop("settings", AAZObjectType, ".settings")
348-
349-
settings = _builder.get(".properties.lenses[].parts[].metadata{type:Extension/HubsExtension/PartType/MarkdownPart}.settings.content.settings")
350-
if settings is not None:
351-
settings.set_prop("content", AAZStrType, ".content")
352-
settings.set_prop("markdownSource", AAZIntType, ".markdown_source")
353-
settings.set_prop("markdownUri", AAZStrType, ".markdown_uri")
354-
settings.set_prop("subtitle", AAZStrType, ".subtitle")
355-
settings.set_prop("title", AAZStrType, ".title")
272+
metadata.set_anytype_elements(".")
356273

357274
position = _builder.get(".properties.lenses[].parts[].position")
358275
if position is not None:
@@ -437,40 +354,11 @@ def _build_schema_on_200_201(cls):
437354
parts.Element = AAZObjectType()
438355

439356
_element = cls._schema_on_200_201.properties.lenses.Element.parts.Element
440-
_element.metadata = AAZObjectType()
357+
_element.metadata = AAZFreeFormDictType()
441358
_element.position = AAZObjectType(
442359
flags={"required": True},
443360
)
444361

445-
metadata = cls._schema_on_200_201.properties.lenses.Element.parts.Element.metadata
446-
metadata.type = AAZStrType(
447-
flags={"required": True},
448-
)
449-
450-
disc_extension__hubs_extension__part_type__markdown_part = cls._schema_on_200_201.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart")
451-
disc_extension__hubs_extension__part_type__markdown_part.inputs = AAZListType()
452-
disc_extension__hubs_extension__part_type__markdown_part.settings = AAZObjectType()
453-
454-
inputs = cls._schema_on_200_201.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").inputs
455-
inputs.Element = AAZFreeFormDictType()
456-
457-
settings = cls._schema_on_200_201.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings
458-
settings.content = AAZObjectType()
459-
460-
content = cls._schema_on_200_201.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content
461-
content.settings = AAZObjectType()
462-
463-
settings = cls._schema_on_200_201.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content.settings
464-
settings.content = AAZStrType()
465-
settings.markdown_source = AAZIntType(
466-
serialized_name="markdownSource",
467-
)
468-
settings.markdown_uri = AAZStrType(
469-
serialized_name="markdownUri",
470-
)
471-
settings.subtitle = AAZStrType()
472-
settings.title = AAZStrType()
473-
474362
position = cls._schema_on_200_201.properties.lenses.Element.parts.Element.position
475363
position.col_span = AAZIntType(
476364
serialized_name="colSpan",

src/portal/azext_portal/aaz/latest/portal/dashboard/_delete.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
5151
required=True,
5252
id_part="name",
5353
fmt=AAZStrArgFormat(
54-
pattern="^[a-zA-Z0-9-]{3,24}$",
5554
max_length=64,
5655
min_length=3,
5756
),

src/portal/azext_portal/aaz/latest/portal/dashboard/_list.py

Lines changed: 2 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -202,40 +202,11 @@ def _build_schema_on_200(cls):
202202
parts.Element = AAZObjectType()
203203

204204
_element = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element
205-
_element.metadata = AAZObjectType()
205+
_element.metadata = AAZFreeFormDictType()
206206
_element.position = AAZObjectType(
207207
flags={"required": True},
208208
)
209209

210-
metadata = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata
211-
metadata.type = AAZStrType(
212-
flags={"required": True},
213-
)
214-
215-
disc_extension__hubs_extension__part_type__markdown_part = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart")
216-
disc_extension__hubs_extension__part_type__markdown_part.inputs = AAZListType()
217-
disc_extension__hubs_extension__part_type__markdown_part.settings = AAZObjectType()
218-
219-
inputs = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").inputs
220-
inputs.Element = AAZFreeFormDictType()
221-
222-
settings = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings
223-
settings.content = AAZObjectType()
224-
225-
content = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content
226-
content.settings = AAZObjectType()
227-
228-
settings = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content.settings
229-
settings.content = AAZStrType()
230-
settings.markdown_source = AAZIntType(
231-
serialized_name="markdownSource",
232-
)
233-
settings.markdown_uri = AAZStrType(
234-
serialized_name="markdownUri",
235-
)
236-
settings.subtitle = AAZStrType()
237-
settings.title = AAZStrType()
238-
239210
position = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.position
240211
position.col_span = AAZIntType(
241212
serialized_name="colSpan",
@@ -409,40 +380,11 @@ def _build_schema_on_200(cls):
409380
parts.Element = AAZObjectType()
410381

411382
_element = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element
412-
_element.metadata = AAZObjectType()
383+
_element.metadata = AAZFreeFormDictType()
413384
_element.position = AAZObjectType(
414385
flags={"required": True},
415386
)
416387

417-
metadata = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata
418-
metadata.type = AAZStrType(
419-
flags={"required": True},
420-
)
421-
422-
disc_extension__hubs_extension__part_type__markdown_part = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart")
423-
disc_extension__hubs_extension__part_type__markdown_part.inputs = AAZListType()
424-
disc_extension__hubs_extension__part_type__markdown_part.settings = AAZObjectType()
425-
426-
inputs = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").inputs
427-
inputs.Element = AAZFreeFormDictType()
428-
429-
settings = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings
430-
settings.content = AAZObjectType()
431-
432-
content = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content
433-
content.settings = AAZObjectType()
434-
435-
settings = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content.settings
436-
settings.content = AAZStrType()
437-
settings.markdown_source = AAZIntType(
438-
serialized_name="markdownSource",
439-
)
440-
settings.markdown_uri = AAZStrType(
441-
serialized_name="markdownUri",
442-
)
443-
settings.subtitle = AAZStrType()
444-
settings.title = AAZStrType()
445-
446388
position = cls._schema_on_200.value.Element.properties.lenses.Element.parts.Element.position
447389
position.col_span = AAZIntType(
448390
serialized_name="colSpan",

src/portal/azext_portal/aaz/latest/portal/dashboard/_show.py

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
5050
required=True,
5151
id_part="name",
5252
fmt=AAZStrArgFormat(
53-
pattern="^[a-zA-Z0-9-]{3,24}$",
5453
max_length=64,
5554
min_length=3,
5655
),
@@ -201,40 +200,11 @@ def _build_schema_on_200(cls):
201200
parts.Element = AAZObjectType()
202201

203202
_element = cls._schema_on_200.properties.lenses.Element.parts.Element
204-
_element.metadata = AAZObjectType()
203+
_element.metadata = AAZFreeFormDictType()
205204
_element.position = AAZObjectType(
206205
flags={"required": True},
207206
)
208207

209-
metadata = cls._schema_on_200.properties.lenses.Element.parts.Element.metadata
210-
metadata.type = AAZStrType(
211-
flags={"required": True},
212-
)
213-
214-
disc_extension__hubs_extension__part_type__markdown_part = cls._schema_on_200.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart")
215-
disc_extension__hubs_extension__part_type__markdown_part.inputs = AAZListType()
216-
disc_extension__hubs_extension__part_type__markdown_part.settings = AAZObjectType()
217-
218-
inputs = cls._schema_on_200.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").inputs
219-
inputs.Element = AAZFreeFormDictType()
220-
221-
settings = cls._schema_on_200.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings
222-
settings.content = AAZObjectType()
223-
224-
content = cls._schema_on_200.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content
225-
content.settings = AAZObjectType()
226-
227-
settings = cls._schema_on_200.properties.lenses.Element.parts.Element.metadata.discriminate_by("type", "Extension/HubsExtension/PartType/MarkdownPart").settings.content.settings
228-
settings.content = AAZStrType()
229-
settings.markdown_source = AAZIntType(
230-
serialized_name="markdownSource",
231-
)
232-
settings.markdown_uri = AAZStrType(
233-
serialized_name="markdownUri",
234-
)
235-
settings.subtitle = AAZStrType()
236-
settings.title = AAZStrType()
237-
238208
position = cls._schema_on_200.properties.lenses.Element.parts.Element.position
239209
position.col_span = AAZIntType(
240210
serialized_name="colSpan",

0 commit comments

Comments
 (0)