miro_api.models.item_connection_changes_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 14 15from __future__ import annotations 16import pprint 17import re # noqa: F401 18import json 19 20from pydantic import BaseModel, Field, StrictStr, field_validator 21from typing import Any, ClassVar, Dict, List, Optional 22from miro_api.models.relative_offset import RelativeOffset 23from typing import Optional, Set 24from typing_extensions import Self 25 26 27class ItemConnectionChangesData(BaseModel): 28 """ 29 The ending point of the connector. If startItem is also provided, endItem.id must be different from startItem.id 30 """ # noqa: E501 31 32 id: Optional[StrictStr] = Field( 33 default=None, 34 description="Unique identifier (ID) of the item to which you want to attach the connector. Note that Frames are not supported at the moment.", 35 ) 36 position: Optional[RelativeOffset] = None 37 snap_to: Optional[StrictStr] = Field( 38 default=None, 39 description="The side of the item connector should be attached to, the connection point will be placed in the middle of that side. Option `auto` allows to pick a connection point automatically. Only either `position` or `snapTo` parameter is allowed to be set, if neither provided `snapTo: auto` will be used by default.", 40 alias="snapTo", 41 ) 42 additional_properties: Dict[str, Any] = {} 43 __properties: ClassVar[List[str]] = ["id", "position", "snapTo"] 44 45 @field_validator("snap_to") 46 def snap_to_validate_enum(cls, value): 47 """Validates the enum""" 48 if value is None: 49 return value 50 51 if value not in set(["auto", "top", "right", "bottom", "left"]): 52 raise ValueError("must be one of enum values ('auto', 'top', 'right', 'bottom', 'left')") 53 return value 54 55 model_config = { 56 "populate_by_name": True, 57 "validate_assignment": True, 58 "protected_namespaces": (), 59 } 60 61 def to_str(self) -> str: 62 """Returns the string representation of the model using alias""" 63 return pprint.pformat(self.model_dump(by_alias=True)) 64 65 def to_json(self) -> str: 66 """Returns the JSON representation of the model using alias""" 67 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 68 return json.dumps(self.to_dict()) 69 70 @classmethod 71 def from_json(cls, json_str: str) -> Optional[Self]: 72 """Create an instance of ItemConnectionChangesData from a JSON string""" 73 return cls.from_dict(json.loads(json_str)) 74 75 def to_dict(self) -> Dict[str, Any]: 76 """Return the dictionary representation of the model using alias. 77 78 This has the following differences from calling pydantic's 79 `self.model_dump(by_alias=True)`: 80 81 * `None` is only added to the output dict for nullable fields that 82 were set at model initialization. Other fields with value `None` 83 are ignored. 84 * Fields in `self.additional_properties` are added to the output dict. 85 """ 86 excluded_fields: Set[str] = set( 87 [ 88 "additional_properties", 89 ] 90 ) 91 92 _dict = self.model_dump( 93 by_alias=True, 94 exclude=excluded_fields, 95 exclude_none=True, 96 ) 97 # override the default output from pydantic by calling `to_dict()` of position 98 if self.position: 99 _dict["position"] = self.position.to_dict() 100 # puts key-value pairs in additional_properties in the top level 101 if self.additional_properties is not None: 102 for _key, _value in self.additional_properties.items(): 103 _dict[_key] = _value 104 105 return _dict 106 107 @classmethod 108 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 109 """Create an instance of ItemConnectionChangesData from a dict""" 110 if obj is None: 111 return None 112 113 if not isinstance(obj, dict): 114 return cls.model_validate(obj) 115 116 _obj = cls.model_validate( 117 { 118 "id": obj.get("id"), 119 "position": RelativeOffset.from_dict(obj["position"]) if obj.get("position") is not None else None, 120 "snapTo": obj.get("snapTo"), 121 } 122 ) 123 # store additional fields in additional_properties 124 for _key in obj.keys(): 125 if _key not in cls.__properties: 126 _obj.additional_properties[_key] = obj.get(_key) 127 128 return _obj
28class ItemConnectionChangesData(BaseModel): 29 """ 30 The ending point of the connector. If startItem is also provided, endItem.id must be different from startItem.id 31 """ # noqa: E501 32 33 id: Optional[StrictStr] = Field( 34 default=None, 35 description="Unique identifier (ID) of the item to which you want to attach the connector. Note that Frames are not supported at the moment.", 36 ) 37 position: Optional[RelativeOffset] = None 38 snap_to: Optional[StrictStr] = Field( 39 default=None, 40 description="The side of the item connector should be attached to, the connection point will be placed in the middle of that side. Option `auto` allows to pick a connection point automatically. Only either `position` or `snapTo` parameter is allowed to be set, if neither provided `snapTo: auto` will be used by default.", 41 alias="snapTo", 42 ) 43 additional_properties: Dict[str, Any] = {} 44 __properties: ClassVar[List[str]] = ["id", "position", "snapTo"] 45 46 @field_validator("snap_to") 47 def snap_to_validate_enum(cls, value): 48 """Validates the enum""" 49 if value is None: 50 return value 51 52 if value not in set(["auto", "top", "right", "bottom", "left"]): 53 raise ValueError("must be one of enum values ('auto', 'top', 'right', 'bottom', 'left')") 54 return value 55 56 model_config = { 57 "populate_by_name": True, 58 "validate_assignment": True, 59 "protected_namespaces": (), 60 } 61 62 def to_str(self) -> str: 63 """Returns the string representation of the model using alias""" 64 return pprint.pformat(self.model_dump(by_alias=True)) 65 66 def to_json(self) -> str: 67 """Returns the JSON representation of the model using alias""" 68 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 69 return json.dumps(self.to_dict()) 70 71 @classmethod 72 def from_json(cls, json_str: str) -> Optional[Self]: 73 """Create an instance of ItemConnectionChangesData from a JSON string""" 74 return cls.from_dict(json.loads(json_str)) 75 76 def to_dict(self) -> Dict[str, Any]: 77 """Return the dictionary representation of the model using alias. 78 79 This has the following differences from calling pydantic's 80 `self.model_dump(by_alias=True)`: 81 82 * `None` is only added to the output dict for nullable fields that 83 were set at model initialization. Other fields with value `None` 84 are ignored. 85 * Fields in `self.additional_properties` are added to the output dict. 86 """ 87 excluded_fields: Set[str] = set( 88 [ 89 "additional_properties", 90 ] 91 ) 92 93 _dict = self.model_dump( 94 by_alias=True, 95 exclude=excluded_fields, 96 exclude_none=True, 97 ) 98 # override the default output from pydantic by calling `to_dict()` of position 99 if self.position: 100 _dict["position"] = self.position.to_dict() 101 # puts key-value pairs in additional_properties in the top level 102 if self.additional_properties is not None: 103 for _key, _value in self.additional_properties.items(): 104 _dict[_key] = _value 105 106 return _dict 107 108 @classmethod 109 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 110 """Create an instance of ItemConnectionChangesData from a dict""" 111 if obj is None: 112 return None 113 114 if not isinstance(obj, dict): 115 return cls.model_validate(obj) 116 117 _obj = cls.model_validate( 118 { 119 "id": obj.get("id"), 120 "position": RelativeOffset.from_dict(obj["position"]) if obj.get("position") is not None else None, 121 "snapTo": obj.get("snapTo"), 122 } 123 ) 124 # store additional fields in additional_properties 125 for _key in obj.keys(): 126 if _key not in cls.__properties: 127 _obj.additional_properties[_key] = obj.get(_key) 128 129 return _obj
The ending point of the connector. If startItem is also provided, endItem.id must be different from startItem.id
46 @field_validator("snap_to") 47 def snap_to_validate_enum(cls, value): 48 """Validates the enum""" 49 if value is None: 50 return value 51 52 if value not in set(["auto", "top", "right", "bottom", "left"]): 53 raise ValueError("must be one of enum values ('auto', 'top', 'right', 'bottom', 'left')") 54 return value
Validates the enum
62 def to_str(self) -> str: 63 """Returns the string representation of the model using alias""" 64 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
66 def to_json(self) -> str: 67 """Returns the JSON representation of the model using alias""" 68 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 69 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
71 @classmethod 72 def from_json(cls, json_str: str) -> Optional[Self]: 73 """Create an instance of ItemConnectionChangesData from a JSON string""" 74 return cls.from_dict(json.loads(json_str))
Create an instance of ItemConnectionChangesData from a JSON string
76 def to_dict(self) -> Dict[str, Any]: 77 """Return the dictionary representation of the model using alias. 78 79 This has the following differences from calling pydantic's 80 `self.model_dump(by_alias=True)`: 81 82 * `None` is only added to the output dict for nullable fields that 83 were set at model initialization. Other fields with value `None` 84 are ignored. 85 * Fields in `self.additional_properties` are added to the output dict. 86 """ 87 excluded_fields: Set[str] = set( 88 [ 89 "additional_properties", 90 ] 91 ) 92 93 _dict = self.model_dump( 94 by_alias=True, 95 exclude=excluded_fields, 96 exclude_none=True, 97 ) 98 # override the default output from pydantic by calling `to_dict()` of position 99 if self.position: 100 _dict["position"] = self.position.to_dict() 101 # puts key-value pairs in additional_properties in the top level 102 if self.additional_properties is not None: 103 for _key, _value in self.additional_properties.items(): 104 _dict[_key] = _value 105 106 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.
108 @classmethod 109 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 110 """Create an instance of ItemConnectionChangesData from a dict""" 111 if obj is None: 112 return None 113 114 if not isinstance(obj, dict): 115 return cls.model_validate(obj) 116 117 _obj = cls.model_validate( 118 { 119 "id": obj.get("id"), 120 "position": RelativeOffset.from_dict(obj["position"]) if obj.get("position") is not None else None, 121 "snapTo": obj.get("snapTo"), 122 } 123 ) 124 # store additional fields in additional_properties 125 for _key in obj.keys(): 126 if _key not in cls.__properties: 127 _obj.additional_properties[_key] = obj.get(_key) 128 129 return _obj
Create an instance of ItemConnectionChangesData 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