miro_api.models.shape_data
Miro Developer Platform
### Miro Developer Platform concepts - New to the Miro Developer Platform? Interested in learning more about platform concepts?? Read our introduction page and familiarize yourself with the Miro Developer Platform capabilities in a few minutes. ### Getting started with the Miro REST API - Quickstart (video): try the REST API in less than 3 minutes. - Quickstart (article): get started and try the REST API in less than 3 minutes. ### Miro REST API tutorials Check out our how-to articles with step-by-step instructions and code examples so you can: - Get started with OAuth 2.0 and Miro ### Miro App Examples Clone our Miro App Examples repository to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0.
The version of the OpenAPI document: v2.0 Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
1# coding: utf-8 2 3""" 4Miro Developer Platform 5 6<img src=\"https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n\" width=\"1685\" height=\"593\"> ### Miro Developer Platform concepts - New to the Miro Developer Platform? Interested in learning more about platform concepts?? [Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes. ### Getting started with the Miro REST API - [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes. - [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes. ### Miro REST API tutorials Check out our how-to articles with step-by-step instructions and code examples so you can: - [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth) ### Miro App Examples Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0. 7 8The version of the OpenAPI document: v2.0 9Generated by OpenAPI Generator (https://openapi-generator.tech) 10 11Do not edit the class manually. 12""" # noqa: E501 13 14from __future__ import annotations 15import pprint 16import re # noqa: F401 17import json 18 19from pydantic import BaseModel, Field, StrictStr, field_validator 20from typing import Any, ClassVar, Dict, List, Optional 21from typing import Optional, Set 22from typing_extensions import Self 23 24 25class ShapeData(BaseModel): 26 """ 27 Contains shape item data, such as the content or shape type of the shape. 28 """ # noqa: E501 29 30 content: Optional[StrictStr] = Field(default=None, description="The text you want to display on the shape.") 31 shape: Optional[StrictStr] = Field( 32 default="rectangle", description="Defines the geometric shape of the item when it is rendered on the board." 33 ) 34 additional_properties: Dict[str, Any] = {} 35 __properties: ClassVar[List[str]] = ["content", "shape"] 36 37 @field_validator("shape") 38 def shape_validate_enum(cls, value): 39 """Validates the enum""" 40 if value is None: 41 return value 42 43 if value not in set( 44 [ 45 "rectangle", 46 "round_rectangle", 47 "circle", 48 "triangle", 49 "rhombus", 50 "parallelogram", 51 "trapezoid", 52 "pentagon", 53 "hexagon", 54 "octagon", 55 "wedge_round_rectangle_callout", 56 "star", 57 "flow_chart_predefined_process", 58 "cloud", 59 "cross", 60 "can", 61 "right_arrow", 62 "left_arrow", 63 "left_right_arrow", 64 "left_brace", 65 "right_brace", 66 ] 67 ): 68 raise ValueError( 69 "must be one of enum values ('rectangle', 'round_rectangle', 'circle', 'triangle', 'rhombus', 'parallelogram', 'trapezoid', 'pentagon', 'hexagon', 'octagon', 'wedge_round_rectangle_callout', 'star', 'flow_chart_predefined_process', 'cloud', 'cross', 'can', 'right_arrow', 'left_arrow', 'left_right_arrow', 'left_brace', 'right_brace')" 70 ) 71 return value 72 73 model_config = { 74 "populate_by_name": True, 75 "validate_assignment": True, 76 "protected_namespaces": (), 77 } 78 79 def to_str(self) -> str: 80 """Returns the string representation of the model using alias""" 81 return pprint.pformat(self.model_dump(by_alias=True)) 82 83 def to_json(self) -> str: 84 """Returns the JSON representation of the model using alias""" 85 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 86 return json.dumps(self.to_dict()) 87 88 @classmethod 89 def from_json(cls, json_str: str) -> Optional[Self]: 90 """Create an instance of ShapeData from a JSON string""" 91 return cls.from_dict(json.loads(json_str)) 92 93 def to_dict(self) -> Dict[str, Any]: 94 """Return the dictionary representation of the model using alias. 95 96 This has the following differences from calling pydantic's 97 `self.model_dump(by_alias=True)`: 98 99 * `None` is only added to the output dict for nullable fields that 100 were set at model initialization. Other fields with value `None` 101 are ignored. 102 * Fields in `self.additional_properties` are added to the output dict. 103 """ 104 excluded_fields: Set[str] = set( 105 [ 106 "additional_properties", 107 ] 108 ) 109 110 _dict = self.model_dump( 111 by_alias=True, 112 exclude=excluded_fields, 113 exclude_none=True, 114 ) 115 # puts key-value pairs in additional_properties in the top level 116 if self.additional_properties is not None: 117 for _key, _value in self.additional_properties.items(): 118 _dict[_key] = _value 119 120 return _dict 121 122 @classmethod 123 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 124 """Create an instance of ShapeData from a dict""" 125 if obj is None: 126 return None 127 128 if not isinstance(obj, dict): 129 return cls.model_validate(obj) 130 131 _obj = cls.model_validate( 132 {"content": obj.get("content"), "shape": obj.get("shape") if obj.get("shape") is not None else "rectangle"} 133 ) 134 # store additional fields in additional_properties 135 for _key in obj.keys(): 136 if _key not in cls.__properties: 137 _obj.additional_properties[_key] = obj.get(_key) 138 139 return _obj
26class ShapeData(BaseModel): 27 """ 28 Contains shape item data, such as the content or shape type of the shape. 29 """ # noqa: E501 30 31 content: Optional[StrictStr] = Field(default=None, description="The text you want to display on the shape.") 32 shape: Optional[StrictStr] = Field( 33 default="rectangle", description="Defines the geometric shape of the item when it is rendered on the board." 34 ) 35 additional_properties: Dict[str, Any] = {} 36 __properties: ClassVar[List[str]] = ["content", "shape"] 37 38 @field_validator("shape") 39 def shape_validate_enum(cls, value): 40 """Validates the enum""" 41 if value is None: 42 return value 43 44 if value not in set( 45 [ 46 "rectangle", 47 "round_rectangle", 48 "circle", 49 "triangle", 50 "rhombus", 51 "parallelogram", 52 "trapezoid", 53 "pentagon", 54 "hexagon", 55 "octagon", 56 "wedge_round_rectangle_callout", 57 "star", 58 "flow_chart_predefined_process", 59 "cloud", 60 "cross", 61 "can", 62 "right_arrow", 63 "left_arrow", 64 "left_right_arrow", 65 "left_brace", 66 "right_brace", 67 ] 68 ): 69 raise ValueError( 70 "must be one of enum values ('rectangle', 'round_rectangle', 'circle', 'triangle', 'rhombus', 'parallelogram', 'trapezoid', 'pentagon', 'hexagon', 'octagon', 'wedge_round_rectangle_callout', 'star', 'flow_chart_predefined_process', 'cloud', 'cross', 'can', 'right_arrow', 'left_arrow', 'left_right_arrow', 'left_brace', 'right_brace')" 71 ) 72 return value 73 74 model_config = { 75 "populate_by_name": True, 76 "validate_assignment": True, 77 "protected_namespaces": (), 78 } 79 80 def to_str(self) -> str: 81 """Returns the string representation of the model using alias""" 82 return pprint.pformat(self.model_dump(by_alias=True)) 83 84 def to_json(self) -> str: 85 """Returns the JSON representation of the model using alias""" 86 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 87 return json.dumps(self.to_dict()) 88 89 @classmethod 90 def from_json(cls, json_str: str) -> Optional[Self]: 91 """Create an instance of ShapeData from a JSON string""" 92 return cls.from_dict(json.loads(json_str)) 93 94 def to_dict(self) -> Dict[str, Any]: 95 """Return the dictionary representation of the model using alias. 96 97 This has the following differences from calling pydantic's 98 `self.model_dump(by_alias=True)`: 99 100 * `None` is only added to the output dict for nullable fields that 101 were set at model initialization. Other fields with value `None` 102 are ignored. 103 * Fields in `self.additional_properties` are added to the output dict. 104 """ 105 excluded_fields: Set[str] = set( 106 [ 107 "additional_properties", 108 ] 109 ) 110 111 _dict = self.model_dump( 112 by_alias=True, 113 exclude=excluded_fields, 114 exclude_none=True, 115 ) 116 # puts key-value pairs in additional_properties in the top level 117 if self.additional_properties is not None: 118 for _key, _value in self.additional_properties.items(): 119 _dict[_key] = _value 120 121 return _dict 122 123 @classmethod 124 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 125 """Create an instance of ShapeData from a dict""" 126 if obj is None: 127 return None 128 129 if not isinstance(obj, dict): 130 return cls.model_validate(obj) 131 132 _obj = cls.model_validate( 133 {"content": obj.get("content"), "shape": obj.get("shape") if obj.get("shape") is not None else "rectangle"} 134 ) 135 # store additional fields in additional_properties 136 for _key in obj.keys(): 137 if _key not in cls.__properties: 138 _obj.additional_properties[_key] = obj.get(_key) 139 140 return _obj
Contains shape item data, such as the content or shape type of the shape.
38 @field_validator("shape") 39 def shape_validate_enum(cls, value): 40 """Validates the enum""" 41 if value is None: 42 return value 43 44 if value not in set( 45 [ 46 "rectangle", 47 "round_rectangle", 48 "circle", 49 "triangle", 50 "rhombus", 51 "parallelogram", 52 "trapezoid", 53 "pentagon", 54 "hexagon", 55 "octagon", 56 "wedge_round_rectangle_callout", 57 "star", 58 "flow_chart_predefined_process", 59 "cloud", 60 "cross", 61 "can", 62 "right_arrow", 63 "left_arrow", 64 "left_right_arrow", 65 "left_brace", 66 "right_brace", 67 ] 68 ): 69 raise ValueError( 70 "must be one of enum values ('rectangle', 'round_rectangle', 'circle', 'triangle', 'rhombus', 'parallelogram', 'trapezoid', 'pentagon', 'hexagon', 'octagon', 'wedge_round_rectangle_callout', 'star', 'flow_chart_predefined_process', 'cloud', 'cross', 'can', 'right_arrow', 'left_arrow', 'left_right_arrow', 'left_brace', 'right_brace')" 71 ) 72 return value
Validates the enum
80 def to_str(self) -> str: 81 """Returns the string representation of the model using alias""" 82 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
84 def to_json(self) -> str: 85 """Returns the JSON representation of the model using alias""" 86 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 87 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
89 @classmethod 90 def from_json(cls, json_str: str) -> Optional[Self]: 91 """Create an instance of ShapeData from a JSON string""" 92 return cls.from_dict(json.loads(json_str))
Create an instance of ShapeData from a JSON string
94 def to_dict(self) -> Dict[str, Any]: 95 """Return the dictionary representation of the model using alias. 96 97 This has the following differences from calling pydantic's 98 `self.model_dump(by_alias=True)`: 99 100 * `None` is only added to the output dict for nullable fields that 101 were set at model initialization. Other fields with value `None` 102 are ignored. 103 * Fields in `self.additional_properties` are added to the output dict. 104 """ 105 excluded_fields: Set[str] = set( 106 [ 107 "additional_properties", 108 ] 109 ) 110 111 _dict = self.model_dump( 112 by_alias=True, 113 exclude=excluded_fields, 114 exclude_none=True, 115 ) 116 # puts key-value pairs in additional_properties in the top level 117 if self.additional_properties is not None: 118 for _key, _value in self.additional_properties.items(): 119 _dict[_key] = _value 120 121 return _dict
Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
self.model_dump(by_alias=True):
Noneis only added to the output dict for nullable fields that were set at model initialization. Other fields with valueNoneare ignored.- Fields in
self.additional_propertiesare added to the output dict.
123 @classmethod 124 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 125 """Create an instance of ShapeData from a dict""" 126 if obj is None: 127 return None 128 129 if not isinstance(obj, dict): 130 return cls.model_validate(obj) 131 132 _obj = cls.model_validate( 133 {"content": obj.get("content"), "shape": obj.get("shape") if obj.get("shape") is not None else "rectangle"} 134 ) 135 # store additional fields in additional_properties 136 for _key in obj.keys(): 137 if _key not in cls.__properties: 138 _obj.additional_properties[_key] = obj.get(_key) 139 140 return _obj
Create an instance of ShapeData from a dict
265def init_private_attributes(self: BaseModel, __context: Any) -> None: 266 """This function is meant to behave like a BaseModel method to initialise private attributes. 267 268 It takes context as an argument since that's what pydantic-core passes when calling it. 269 270 Args: 271 self: The BaseModel instance. 272 __context: The context. 273 """ 274 if getattr(self, '__pydantic_private__', None) is None: 275 pydantic_private = {} 276 for name, private_attr in self.__private_attributes__.items(): 277 default = private_attr.get_default() 278 if default is not PydanticUndefined: 279 pydantic_private[name] = default 280 object_setattr(self, '__pydantic_private__', pydantic_private)
This function is meant to behave like a BaseModel method to initialise private attributes.
It takes context as an argument since that's what pydantic-core passes when calling it.
Args: self: The BaseModel instance. __context: The context.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs