miro_api.models.connector_creation_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 typing_extensions import Annotated 23from miro_api.models.caption import Caption 24from miro_api.models.connector_style import ConnectorStyle 25from miro_api.models.item_connection_creation_data import ItemConnectionCreationData 26from typing import Optional, Set 27from typing_extensions import Self 28 29 30class ConnectorCreationData(BaseModel): 31 """ 32 startItem.id must be different from endItem.id 33 """ # noqa: E501 34 35 start_item: ItemConnectionCreationData = Field(alias="startItem") 36 end_item: ItemConnectionCreationData = Field(alias="endItem") 37 shape: Optional[StrictStr] = Field( 38 default=None, description="The path type of the connector line, defines curvature. Default: curved." 39 ) 40 captions: Optional[Annotated[List[Caption], Field(min_length=0, max_length=20)]] = Field( 41 default=None, description="Blocks of text you want to display on the connector." 42 ) 43 style: Optional[ConnectorStyle] = None 44 additional_properties: Dict[str, Any] = {} 45 __properties: ClassVar[List[str]] = ["startItem", "endItem", "shape", "captions", "style"] 46 47 @field_validator("shape") 48 def shape_validate_enum(cls, value): 49 """Validates the enum""" 50 if value is None: 51 return value 52 53 if value not in set(["straight", "elbowed", "curved"]): 54 raise ValueError("must be one of enum values ('straight', 'elbowed', 'curved')") 55 return value 56 57 model_config = { 58 "populate_by_name": True, 59 "validate_assignment": True, 60 "protected_namespaces": (), 61 } 62 63 def to_str(self) -> str: 64 """Returns the string representation of the model using alias""" 65 return pprint.pformat(self.model_dump(by_alias=True)) 66 67 def to_json(self) -> str: 68 """Returns the JSON representation of the model using alias""" 69 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 70 return json.dumps(self.to_dict()) 71 72 @classmethod 73 def from_json(cls, json_str: str) -> Optional[Self]: 74 """Create an instance of ConnectorCreationData from a JSON string""" 75 return cls.from_dict(json.loads(json_str)) 76 77 def to_dict(self) -> Dict[str, Any]: 78 """Return the dictionary representation of the model using alias. 79 80 This has the following differences from calling pydantic's 81 `self.model_dump(by_alias=True)`: 82 83 * `None` is only added to the output dict for nullable fields that 84 were set at model initialization. Other fields with value `None` 85 are ignored. 86 * Fields in `self.additional_properties` are added to the output dict. 87 """ 88 excluded_fields: Set[str] = set( 89 [ 90 "additional_properties", 91 ] 92 ) 93 94 _dict = self.model_dump( 95 by_alias=True, 96 exclude=excluded_fields, 97 exclude_none=True, 98 ) 99 # override the default output from pydantic by calling `to_dict()` of start_item 100 if self.start_item: 101 _dict["startItem"] = self.start_item.to_dict() 102 # override the default output from pydantic by calling `to_dict()` of end_item 103 if self.end_item: 104 _dict["endItem"] = self.end_item.to_dict() 105 # override the default output from pydantic by calling `to_dict()` of each item in captions (list) 106 _items = [] 107 if self.captions: 108 for _item in self.captions: 109 if _item: 110 _items.append(_item.to_dict()) 111 _dict["captions"] = _items 112 # override the default output from pydantic by calling `to_dict()` of style 113 if self.style: 114 _dict["style"] = self.style.to_dict() 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 ConnectorCreationData 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 { 133 "startItem": ( 134 ItemConnectionCreationData.from_dict(obj["startItem"]) if obj.get("startItem") is not None else None 135 ), 136 "endItem": ( 137 ItemConnectionCreationData.from_dict(obj["endItem"]) if obj.get("endItem") is not None else None 138 ), 139 "shape": obj.get("shape"), 140 "captions": ( 141 [Caption.from_dict(_item) for _item in obj["captions"]] if obj.get("captions") is not None else None 142 ), 143 "style": ConnectorStyle.from_dict(obj["style"]) if obj.get("style") is not None else None, 144 } 145 ) 146 # store additional fields in additional_properties 147 for _key in obj.keys(): 148 if _key not in cls.__properties: 149 _obj.additional_properties[_key] = obj.get(_key) 150 151 return _obj
31class ConnectorCreationData(BaseModel): 32 """ 33 startItem.id must be different from endItem.id 34 """ # noqa: E501 35 36 start_item: ItemConnectionCreationData = Field(alias="startItem") 37 end_item: ItemConnectionCreationData = Field(alias="endItem") 38 shape: Optional[StrictStr] = Field( 39 default=None, description="The path type of the connector line, defines curvature. Default: curved." 40 ) 41 captions: Optional[Annotated[List[Caption], Field(min_length=0, max_length=20)]] = Field( 42 default=None, description="Blocks of text you want to display on the connector." 43 ) 44 style: Optional[ConnectorStyle] = None 45 additional_properties: Dict[str, Any] = {} 46 __properties: ClassVar[List[str]] = ["startItem", "endItem", "shape", "captions", "style"] 47 48 @field_validator("shape") 49 def shape_validate_enum(cls, value): 50 """Validates the enum""" 51 if value is None: 52 return value 53 54 if value not in set(["straight", "elbowed", "curved"]): 55 raise ValueError("must be one of enum values ('straight', 'elbowed', 'curved')") 56 return value 57 58 model_config = { 59 "populate_by_name": True, 60 "validate_assignment": True, 61 "protected_namespaces": (), 62 } 63 64 def to_str(self) -> str: 65 """Returns the string representation of the model using alias""" 66 return pprint.pformat(self.model_dump(by_alias=True)) 67 68 def to_json(self) -> str: 69 """Returns the JSON representation of the model using alias""" 70 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 71 return json.dumps(self.to_dict()) 72 73 @classmethod 74 def from_json(cls, json_str: str) -> Optional[Self]: 75 """Create an instance of ConnectorCreationData from a JSON string""" 76 return cls.from_dict(json.loads(json_str)) 77 78 def to_dict(self) -> Dict[str, Any]: 79 """Return the dictionary representation of the model using alias. 80 81 This has the following differences from calling pydantic's 82 `self.model_dump(by_alias=True)`: 83 84 * `None` is only added to the output dict for nullable fields that 85 were set at model initialization. Other fields with value `None` 86 are ignored. 87 * Fields in `self.additional_properties` are added to the output dict. 88 """ 89 excluded_fields: Set[str] = set( 90 [ 91 "additional_properties", 92 ] 93 ) 94 95 _dict = self.model_dump( 96 by_alias=True, 97 exclude=excluded_fields, 98 exclude_none=True, 99 ) 100 # override the default output from pydantic by calling `to_dict()` of start_item 101 if self.start_item: 102 _dict["startItem"] = self.start_item.to_dict() 103 # override the default output from pydantic by calling `to_dict()` of end_item 104 if self.end_item: 105 _dict["endItem"] = self.end_item.to_dict() 106 # override the default output from pydantic by calling `to_dict()` of each item in captions (list) 107 _items = [] 108 if self.captions: 109 for _item in self.captions: 110 if _item: 111 _items.append(_item.to_dict()) 112 _dict["captions"] = _items 113 # override the default output from pydantic by calling `to_dict()` of style 114 if self.style: 115 _dict["style"] = self.style.to_dict() 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 ConnectorCreationData 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 { 134 "startItem": ( 135 ItemConnectionCreationData.from_dict(obj["startItem"]) if obj.get("startItem") is not None else None 136 ), 137 "endItem": ( 138 ItemConnectionCreationData.from_dict(obj["endItem"]) if obj.get("endItem") is not None else None 139 ), 140 "shape": obj.get("shape"), 141 "captions": ( 142 [Caption.from_dict(_item) for _item in obj["captions"]] if obj.get("captions") is not None else None 143 ), 144 "style": ConnectorStyle.from_dict(obj["style"]) if obj.get("style") is not None else None, 145 } 146 ) 147 # store additional fields in additional_properties 148 for _key in obj.keys(): 149 if _key not in cls.__properties: 150 _obj.additional_properties[_key] = obj.get(_key) 151 152 return _obj
startItem.id must be different from endItem.id
48 @field_validator("shape") 49 def shape_validate_enum(cls, value): 50 """Validates the enum""" 51 if value is None: 52 return value 53 54 if value not in set(["straight", "elbowed", "curved"]): 55 raise ValueError("must be one of enum values ('straight', 'elbowed', 'curved')") 56 return value
Validates the enum
64 def to_str(self) -> str: 65 """Returns the string representation of the model using alias""" 66 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
68 def to_json(self) -> str: 69 """Returns the JSON representation of the model using alias""" 70 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 71 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
73 @classmethod 74 def from_json(cls, json_str: str) -> Optional[Self]: 75 """Create an instance of ConnectorCreationData from a JSON string""" 76 return cls.from_dict(json.loads(json_str))
Create an instance of ConnectorCreationData from a JSON string
78 def to_dict(self) -> Dict[str, Any]: 79 """Return the dictionary representation of the model using alias. 80 81 This has the following differences from calling pydantic's 82 `self.model_dump(by_alias=True)`: 83 84 * `None` is only added to the output dict for nullable fields that 85 were set at model initialization. Other fields with value `None` 86 are ignored. 87 * Fields in `self.additional_properties` are added to the output dict. 88 """ 89 excluded_fields: Set[str] = set( 90 [ 91 "additional_properties", 92 ] 93 ) 94 95 _dict = self.model_dump( 96 by_alias=True, 97 exclude=excluded_fields, 98 exclude_none=True, 99 ) 100 # override the default output from pydantic by calling `to_dict()` of start_item 101 if self.start_item: 102 _dict["startItem"] = self.start_item.to_dict() 103 # override the default output from pydantic by calling `to_dict()` of end_item 104 if self.end_item: 105 _dict["endItem"] = self.end_item.to_dict() 106 # override the default output from pydantic by calling `to_dict()` of each item in captions (list) 107 _items = [] 108 if self.captions: 109 for _item in self.captions: 110 if _item: 111 _items.append(_item.to_dict()) 112 _dict["captions"] = _items 113 # override the default output from pydantic by calling `to_dict()` of style 114 if self.style: 115 _dict["style"] = self.style.to_dict() 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)
:
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.
123 @classmethod 124 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 125 """Create an instance of ConnectorCreationData 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 { 134 "startItem": ( 135 ItemConnectionCreationData.from_dict(obj["startItem"]) if obj.get("startItem") is not None else None 136 ), 137 "endItem": ( 138 ItemConnectionCreationData.from_dict(obj["endItem"]) if obj.get("endItem") is not None else None 139 ), 140 "shape": obj.get("shape"), 141 "captions": ( 142 [Caption.from_dict(_item) for _item in obj["captions"]] if obj.get("captions") is not None else None 143 ), 144 "style": ConnectorStyle.from_dict(obj["style"]) if obj.get("style") is not None else None, 145 } 146 ) 147 # store additional fields in additional_properties 148 for _key in obj.keys(): 149 if _key not in cls.__properties: 150 _obj.additional_properties[_key] = obj.get(_key) 151 152 return _obj
Create an instance of ConnectorCreationData 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