miro_api.models.embed_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 import Optional, Set 23from typing_extensions import Self 24 25 26class EmbedData(BaseModel): 27 """ 28 EmbedData 29 """ # noqa: E501 30 31 content_type: Optional[StrictStr] = Field( 32 default=None, description="Type of the embedded item's content.", alias="contentType" 33 ) 34 description: Optional[StrictStr] = Field(default=None, description="Short description of the embedded item.") 35 html: Optional[StrictStr] = Field(default=None, description="Html code of the embedded item.") 36 mode: Optional[StrictStr] = Field( 37 default=None, 38 description="Defines how the content in the embed item is displayed on the board. `inline`: The embedded content is displayed directly on the board. `modal`: The embedded content is displayed inside a modal overlay on the board.", 39 ) 40 preview_url: Optional[StrictStr] = Field( 41 default=None, 42 description="The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, 'image/svg', or 'image/jpg', depending on the original image type.", 43 alias="previewUrl", 44 ) 45 provider_name: Optional[StrictStr] = Field( 46 default=None, description="Name of the content's provider.", alias="providerName" 47 ) 48 provider_url: Optional[StrictStr] = Field( 49 default=None, description="Url of the content's provider.", alias="providerUrl" 50 ) 51 title: Optional[StrictStr] = Field(default=None, description="Title of the embedded item.") 52 url: Optional[StrictStr] = Field( 53 default=None, 54 description="A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.", 55 ) 56 additional_properties: Dict[str, Any] = {} 57 __properties: ClassVar[List[str]] = [ 58 "contentType", 59 "description", 60 "html", 61 "mode", 62 "previewUrl", 63 "providerName", 64 "providerUrl", 65 "title", 66 "url", 67 ] 68 69 @field_validator("mode") 70 def mode_validate_enum(cls, value): 71 """Validates the enum""" 72 if value is None: 73 return value 74 75 if value not in set(["inline", "modal"]): 76 raise ValueError("must be one of enum values ('inline', 'modal')") 77 return value 78 79 model_config = { 80 "populate_by_name": True, 81 "validate_assignment": True, 82 "protected_namespaces": (), 83 } 84 85 def to_str(self) -> str: 86 """Returns the string representation of the model using alias""" 87 return pprint.pformat(self.model_dump(by_alias=True)) 88 89 def to_json(self) -> str: 90 """Returns the JSON representation of the model using alias""" 91 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 92 return json.dumps(self.to_dict()) 93 94 @classmethod 95 def from_json(cls, json_str: str) -> Optional[Self]: 96 """Create an instance of EmbedData from a JSON string""" 97 return cls.from_dict(json.loads(json_str)) 98 99 def to_dict(self) -> Dict[str, Any]: 100 """Return the dictionary representation of the model using alias. 101 102 This has the following differences from calling pydantic's 103 `self.model_dump(by_alias=True)`: 104 105 * `None` is only added to the output dict for nullable fields that 106 were set at model initialization. Other fields with value `None` 107 are ignored. 108 * Fields in `self.additional_properties` are added to the output dict. 109 """ 110 excluded_fields: Set[str] = set( 111 [ 112 "additional_properties", 113 ] 114 ) 115 116 _dict = self.model_dump( 117 by_alias=True, 118 exclude=excluded_fields, 119 exclude_none=True, 120 ) 121 # puts key-value pairs in additional_properties in the top level 122 if self.additional_properties is not None: 123 for _key, _value in self.additional_properties.items(): 124 _dict[_key] = _value 125 126 return _dict 127 128 @classmethod 129 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 130 """Create an instance of EmbedData from a dict""" 131 if obj is None: 132 return None 133 134 if not isinstance(obj, dict): 135 return cls.model_validate(obj) 136 137 _obj = cls.model_validate( 138 { 139 "contentType": obj.get("contentType"), 140 "description": obj.get("description"), 141 "html": obj.get("html"), 142 "mode": obj.get("mode"), 143 "previewUrl": obj.get("previewUrl"), 144 "providerName": obj.get("providerName"), 145 "providerUrl": obj.get("providerUrl"), 146 "title": obj.get("title"), 147 "url": obj.get("url"), 148 } 149 ) 150 # store additional fields in additional_properties 151 for _key in obj.keys(): 152 if _key not in cls.__properties: 153 _obj.additional_properties[_key] = obj.get(_key) 154 155 return _obj
27class EmbedData(BaseModel): 28 """ 29 EmbedData 30 """ # noqa: E501 31 32 content_type: Optional[StrictStr] = Field( 33 default=None, description="Type of the embedded item's content.", alias="contentType" 34 ) 35 description: Optional[StrictStr] = Field(default=None, description="Short description of the embedded item.") 36 html: Optional[StrictStr] = Field(default=None, description="Html code of the embedded item.") 37 mode: Optional[StrictStr] = Field( 38 default=None, 39 description="Defines how the content in the embed item is displayed on the board. `inline`: The embedded content is displayed directly on the board. `modal`: The embedded content is displayed inside a modal overlay on the board.", 40 ) 41 preview_url: Optional[StrictStr] = Field( 42 default=None, 43 description="The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, 'image/svg', or 'image/jpg', depending on the original image type.", 44 alias="previewUrl", 45 ) 46 provider_name: Optional[StrictStr] = Field( 47 default=None, description="Name of the content's provider.", alias="providerName" 48 ) 49 provider_url: Optional[StrictStr] = Field( 50 default=None, description="Url of the content's provider.", alias="providerUrl" 51 ) 52 title: Optional[StrictStr] = Field(default=None, description="Title of the embedded item.") 53 url: Optional[StrictStr] = Field( 54 default=None, 55 description="A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.", 56 ) 57 additional_properties: Dict[str, Any] = {} 58 __properties: ClassVar[List[str]] = [ 59 "contentType", 60 "description", 61 "html", 62 "mode", 63 "previewUrl", 64 "providerName", 65 "providerUrl", 66 "title", 67 "url", 68 ] 69 70 @field_validator("mode") 71 def mode_validate_enum(cls, value): 72 """Validates the enum""" 73 if value is None: 74 return value 75 76 if value not in set(["inline", "modal"]): 77 raise ValueError("must be one of enum values ('inline', 'modal')") 78 return value 79 80 model_config = { 81 "populate_by_name": True, 82 "validate_assignment": True, 83 "protected_namespaces": (), 84 } 85 86 def to_str(self) -> str: 87 """Returns the string representation of the model using alias""" 88 return pprint.pformat(self.model_dump(by_alias=True)) 89 90 def to_json(self) -> str: 91 """Returns the JSON representation of the model using alias""" 92 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 93 return json.dumps(self.to_dict()) 94 95 @classmethod 96 def from_json(cls, json_str: str) -> Optional[Self]: 97 """Create an instance of EmbedData from a JSON string""" 98 return cls.from_dict(json.loads(json_str)) 99 100 def to_dict(self) -> Dict[str, Any]: 101 """Return the dictionary representation of the model using alias. 102 103 This has the following differences from calling pydantic's 104 `self.model_dump(by_alias=True)`: 105 106 * `None` is only added to the output dict for nullable fields that 107 were set at model initialization. Other fields with value `None` 108 are ignored. 109 * Fields in `self.additional_properties` are added to the output dict. 110 """ 111 excluded_fields: Set[str] = set( 112 [ 113 "additional_properties", 114 ] 115 ) 116 117 _dict = self.model_dump( 118 by_alias=True, 119 exclude=excluded_fields, 120 exclude_none=True, 121 ) 122 # puts key-value pairs in additional_properties in the top level 123 if self.additional_properties is not None: 124 for _key, _value in self.additional_properties.items(): 125 _dict[_key] = _value 126 127 return _dict 128 129 @classmethod 130 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 131 """Create an instance of EmbedData from a dict""" 132 if obj is None: 133 return None 134 135 if not isinstance(obj, dict): 136 return cls.model_validate(obj) 137 138 _obj = cls.model_validate( 139 { 140 "contentType": obj.get("contentType"), 141 "description": obj.get("description"), 142 "html": obj.get("html"), 143 "mode": obj.get("mode"), 144 "previewUrl": obj.get("previewUrl"), 145 "providerName": obj.get("providerName"), 146 "providerUrl": obj.get("providerUrl"), 147 "title": obj.get("title"), 148 "url": obj.get("url"), 149 } 150 ) 151 # store additional fields in additional_properties 152 for _key in obj.keys(): 153 if _key not in cls.__properties: 154 _obj.additional_properties[_key] = obj.get(_key) 155 156 return _obj
EmbedData
70 @field_validator("mode") 71 def mode_validate_enum(cls, value): 72 """Validates the enum""" 73 if value is None: 74 return value 75 76 if value not in set(["inline", "modal"]): 77 raise ValueError("must be one of enum values ('inline', 'modal')") 78 return value
Validates the enum
86 def to_str(self) -> str: 87 """Returns the string representation of the model using alias""" 88 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
90 def to_json(self) -> str: 91 """Returns the JSON representation of the model using alias""" 92 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 93 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
95 @classmethod 96 def from_json(cls, json_str: str) -> Optional[Self]: 97 """Create an instance of EmbedData from a JSON string""" 98 return cls.from_dict(json.loads(json_str))
Create an instance of EmbedData from a JSON string
100 def to_dict(self) -> Dict[str, Any]: 101 """Return the dictionary representation of the model using alias. 102 103 This has the following differences from calling pydantic's 104 `self.model_dump(by_alias=True)`: 105 106 * `None` is only added to the output dict for nullable fields that 107 were set at model initialization. Other fields with value `None` 108 are ignored. 109 * Fields in `self.additional_properties` are added to the output dict. 110 """ 111 excluded_fields: Set[str] = set( 112 [ 113 "additional_properties", 114 ] 115 ) 116 117 _dict = self.model_dump( 118 by_alias=True, 119 exclude=excluded_fields, 120 exclude_none=True, 121 ) 122 # puts key-value pairs in additional_properties in the top level 123 if self.additional_properties is not None: 124 for _key, _value in self.additional_properties.items(): 125 _dict[_key] = _value 126 127 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.
129 @classmethod 130 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 131 """Create an instance of EmbedData from a dict""" 132 if obj is None: 133 return None 134 135 if not isinstance(obj, dict): 136 return cls.model_validate(obj) 137 138 _obj = cls.model_validate( 139 { 140 "contentType": obj.get("contentType"), 141 "description": obj.get("description"), 142 "html": obj.get("html"), 143 "mode": obj.get("mode"), 144 "previewUrl": obj.get("previewUrl"), 145 "providerName": obj.get("providerName"), 146 "providerUrl": obj.get("providerUrl"), 147 "title": obj.get("title"), 148 "url": obj.get("url"), 149 } 150 ) 151 # store additional fields in additional_properties 152 for _key in obj.keys(): 153 if _key not in cls.__properties: 154 _obj.additional_properties[_key] = obj.get(_key) 155 156 return _obj
Create an instance of EmbedData 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