miro_api.models.item_changes
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 14 15from __future__ import annotations 16import pprint 17import re # noqa: F401 18import json 19 20from pydantic import BaseModel, Field, StrictStr 21from typing import Any, ClassVar, Dict, List, Optional 22from miro_api.models.geometry import Geometry 23from miro_api.models.item_data_changes import ItemDataChanges 24from miro_api.models.item_style import ItemStyle 25from miro_api.models.item_type_change import ItemTypeChange 26from miro_api.models.parent import Parent 27from miro_api.models.position_change import PositionChange 28from typing import Optional, Set 29from typing_extensions import Self 30 31 32class ItemChanges(BaseModel): 33 """ 34 Updates one or more items in one request. You can update up to 20 items per request. 35 """ # noqa: E501 36 37 id: Optional[StrictStr] = Field(default=None, description="Unique identifier (ID) of an item.") 38 type: Optional[ItemTypeChange] = None 39 data: Optional[ItemDataChanges] = None 40 style: Optional[ItemStyle] = None 41 position: Optional[PositionChange] = None 42 geometry: Optional[Geometry] = None 43 parent: Optional[Parent] = None 44 additional_properties: Dict[str, Any] = {} 45 __properties: ClassVar[List[str]] = ["id", "type", "data", "style", "position", "geometry", "parent"] 46 47 model_config = { 48 "populate_by_name": True, 49 "validate_assignment": True, 50 "protected_namespaces": (), 51 } 52 53 def to_str(self) -> str: 54 """Returns the string representation of the model using alias""" 55 return pprint.pformat(self.model_dump(by_alias=True)) 56 57 def to_json(self) -> str: 58 """Returns the JSON representation of the model using alias""" 59 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 60 return json.dumps(self.to_dict()) 61 62 @classmethod 63 def from_json(cls, json_str: str) -> Optional[Self]: 64 """Create an instance of ItemChanges from a JSON string""" 65 return cls.from_dict(json.loads(json_str)) 66 67 def to_dict(self) -> Dict[str, Any]: 68 """Return the dictionary representation of the model using alias. 69 70 This has the following differences from calling pydantic's 71 `self.model_dump(by_alias=True)`: 72 73 * `None` is only added to the output dict for nullable fields that 74 were set at model initialization. Other fields with value `None` 75 are ignored. 76 * Fields in `self.additional_properties` are added to the output dict. 77 """ 78 excluded_fields: Set[str] = set( 79 [ 80 "additional_properties", 81 ] 82 ) 83 84 _dict = self.model_dump( 85 by_alias=True, 86 exclude=excluded_fields, 87 exclude_none=True, 88 ) 89 # override the default output from pydantic by calling `to_dict()` of data 90 if self.data: 91 _dict["data"] = self.data.to_dict() 92 # override the default output from pydantic by calling `to_dict()` of style 93 if self.style: 94 _dict["style"] = self.style.to_dict() 95 # override the default output from pydantic by calling `to_dict()` of position 96 if self.position: 97 _dict["position"] = self.position.to_dict() 98 # override the default output from pydantic by calling `to_dict()` of geometry 99 if self.geometry: 100 _dict["geometry"] = self.geometry.to_dict() 101 # override the default output from pydantic by calling `to_dict()` of parent 102 if self.parent: 103 _dict["parent"] = self.parent.to_dict() 104 # puts key-value pairs in additional_properties in the top level 105 if self.additional_properties is not None: 106 for _key, _value in self.additional_properties.items(): 107 _dict[_key] = _value 108 109 return _dict 110 111 @classmethod 112 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 113 """Create an instance of ItemChanges from a dict""" 114 if obj is None: 115 return None 116 117 if not isinstance(obj, dict): 118 return cls.model_validate(obj) 119 120 _obj = cls.model_validate( 121 { 122 "id": obj.get("id"), 123 "type": obj.get("type"), 124 "data": ItemDataChanges.from_dict(obj["data"]) if obj.get("data") is not None else None, 125 "style": ItemStyle.from_dict(obj["style"]) if obj.get("style") is not None else None, 126 "position": PositionChange.from_dict(obj["position"]) if obj.get("position") is not None else None, 127 "geometry": Geometry.from_dict(obj["geometry"]) if obj.get("geometry") is not None else None, 128 "parent": Parent.from_dict(obj["parent"]) if obj.get("parent") is not None else None, 129 } 130 ) 131 # store additional fields in additional_properties 132 for _key in obj.keys(): 133 if _key not in cls.__properties: 134 _obj.additional_properties[_key] = obj.get(_key) 135 136 return _obj
33class ItemChanges(BaseModel): 34 """ 35 Updates one or more items in one request. You can update up to 20 items per request. 36 """ # noqa: E501 37 38 id: Optional[StrictStr] = Field(default=None, description="Unique identifier (ID) of an item.") 39 type: Optional[ItemTypeChange] = None 40 data: Optional[ItemDataChanges] = None 41 style: Optional[ItemStyle] = None 42 position: Optional[PositionChange] = None 43 geometry: Optional[Geometry] = None 44 parent: Optional[Parent] = None 45 additional_properties: Dict[str, Any] = {} 46 __properties: ClassVar[List[str]] = ["id", "type", "data", "style", "position", "geometry", "parent"] 47 48 model_config = { 49 "populate_by_name": True, 50 "validate_assignment": True, 51 "protected_namespaces": (), 52 } 53 54 def to_str(self) -> str: 55 """Returns the string representation of the model using alias""" 56 return pprint.pformat(self.model_dump(by_alias=True)) 57 58 def to_json(self) -> str: 59 """Returns the JSON representation of the model using alias""" 60 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 61 return json.dumps(self.to_dict()) 62 63 @classmethod 64 def from_json(cls, json_str: str) -> Optional[Self]: 65 """Create an instance of ItemChanges from a JSON string""" 66 return cls.from_dict(json.loads(json_str)) 67 68 def to_dict(self) -> Dict[str, Any]: 69 """Return the dictionary representation of the model using alias. 70 71 This has the following differences from calling pydantic's 72 `self.model_dump(by_alias=True)`: 73 74 * `None` is only added to the output dict for nullable fields that 75 were set at model initialization. Other fields with value `None` 76 are ignored. 77 * Fields in `self.additional_properties` are added to the output dict. 78 """ 79 excluded_fields: Set[str] = set( 80 [ 81 "additional_properties", 82 ] 83 ) 84 85 _dict = self.model_dump( 86 by_alias=True, 87 exclude=excluded_fields, 88 exclude_none=True, 89 ) 90 # override the default output from pydantic by calling `to_dict()` of data 91 if self.data: 92 _dict["data"] = self.data.to_dict() 93 # override the default output from pydantic by calling `to_dict()` of style 94 if self.style: 95 _dict["style"] = self.style.to_dict() 96 # override the default output from pydantic by calling `to_dict()` of position 97 if self.position: 98 _dict["position"] = self.position.to_dict() 99 # override the default output from pydantic by calling `to_dict()` of geometry 100 if self.geometry: 101 _dict["geometry"] = self.geometry.to_dict() 102 # override the default output from pydantic by calling `to_dict()` of parent 103 if self.parent: 104 _dict["parent"] = self.parent.to_dict() 105 # puts key-value pairs in additional_properties in the top level 106 if self.additional_properties is not None: 107 for _key, _value in self.additional_properties.items(): 108 _dict[_key] = _value 109 110 return _dict 111 112 @classmethod 113 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 114 """Create an instance of ItemChanges from a dict""" 115 if obj is None: 116 return None 117 118 if not isinstance(obj, dict): 119 return cls.model_validate(obj) 120 121 _obj = cls.model_validate( 122 { 123 "id": obj.get("id"), 124 "type": obj.get("type"), 125 "data": ItemDataChanges.from_dict(obj["data"]) if obj.get("data") is not None else None, 126 "style": ItemStyle.from_dict(obj["style"]) if obj.get("style") is not None else None, 127 "position": PositionChange.from_dict(obj["position"]) if obj.get("position") is not None else None, 128 "geometry": Geometry.from_dict(obj["geometry"]) if obj.get("geometry") is not None else None, 129 "parent": Parent.from_dict(obj["parent"]) if obj.get("parent") is not None else None, 130 } 131 ) 132 # store additional fields in additional_properties 133 for _key in obj.keys(): 134 if _key not in cls.__properties: 135 _obj.additional_properties[_key] = obj.get(_key) 136 137 return _obj
Updates one or more items in one request. You can update up to 20 items per request.
54 def to_str(self) -> str: 55 """Returns the string representation of the model using alias""" 56 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
58 def to_json(self) -> str: 59 """Returns the JSON representation of the model using alias""" 60 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 61 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
63 @classmethod 64 def from_json(cls, json_str: str) -> Optional[Self]: 65 """Create an instance of ItemChanges from a JSON string""" 66 return cls.from_dict(json.loads(json_str))
Create an instance of ItemChanges from a JSON string
68 def to_dict(self) -> Dict[str, Any]: 69 """Return the dictionary representation of the model using alias. 70 71 This has the following differences from calling pydantic's 72 `self.model_dump(by_alias=True)`: 73 74 * `None` is only added to the output dict for nullable fields that 75 were set at model initialization. Other fields with value `None` 76 are ignored. 77 * Fields in `self.additional_properties` are added to the output dict. 78 """ 79 excluded_fields: Set[str] = set( 80 [ 81 "additional_properties", 82 ] 83 ) 84 85 _dict = self.model_dump( 86 by_alias=True, 87 exclude=excluded_fields, 88 exclude_none=True, 89 ) 90 # override the default output from pydantic by calling `to_dict()` of data 91 if self.data: 92 _dict["data"] = self.data.to_dict() 93 # override the default output from pydantic by calling `to_dict()` of style 94 if self.style: 95 _dict["style"] = self.style.to_dict() 96 # override the default output from pydantic by calling `to_dict()` of position 97 if self.position: 98 _dict["position"] = self.position.to_dict() 99 # override the default output from pydantic by calling `to_dict()` of geometry 100 if self.geometry: 101 _dict["geometry"] = self.geometry.to_dict() 102 # override the default output from pydantic by calling `to_dict()` of parent 103 if self.parent: 104 _dict["parent"] = self.parent.to_dict() 105 # puts key-value pairs in additional_properties in the top level 106 if self.additional_properties is not None: 107 for _key, _value in self.additional_properties.items(): 108 _dict[_key] = _value 109 110 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)
:
None
is only added to the output dict for nullable fields that were set at model initialization. Other fields with valueNone
are ignored.- Fields in
self.additional_properties
are added to the output dict.
112 @classmethod 113 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 114 """Create an instance of ItemChanges from a dict""" 115 if obj is None: 116 return None 117 118 if not isinstance(obj, dict): 119 return cls.model_validate(obj) 120 121 _obj = cls.model_validate( 122 { 123 "id": obj.get("id"), 124 "type": obj.get("type"), 125 "data": ItemDataChanges.from_dict(obj["data"]) if obj.get("data") is not None else None, 126 "style": ItemStyle.from_dict(obj["style"]) if obj.get("style") is not None else None, 127 "position": PositionChange.from_dict(obj["position"]) if obj.get("position") is not None else None, 128 "geometry": Geometry.from_dict(obj["geometry"]) if obj.get("geometry") is not None else None, 129 "parent": Parent.from_dict(obj["parent"]) if obj.get("parent") is not None else None, 130 } 131 ) 132 # store additional fields in additional_properties 133 for _key in obj.keys(): 134 if _key not in cls.__properties: 135 _obj.additional_properties[_key] = obj.get(_key) 136 137 return _obj
Create an instance of ItemChanges 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