miro_api.models.generic_subscription
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 datetime import datetime 21from pydantic import BaseModel, Field, StrictStr, field_validator 22from typing import Any, ClassVar, Dict, List, Optional 23from miro_api.models.subscription_data import SubscriptionData 24from typing import Optional, Set 25from typing_extensions import Self 26 27 28class GenericSubscription(BaseModel): 29 """ 30 GenericSubscription 31 """ # noqa: E501 32 33 callback_url: Optional[StrictStr] = Field( 34 default=None, 35 description="Indicates the HTTPS URL to which Miro sends a webhook when an event occurs.", 36 alias="callbackUrl", 37 ) 38 created_at: Optional[datetime] = Field( 39 default=None, 40 description="Date and time when the webhook subscription was created.<br>Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", 41 alias="createdAt", 42 ) 43 data: Optional[SubscriptionData] = None 44 id: Optional[StrictStr] = Field(default=None, description="Unique identifier (ID) of a webhook subscription.") 45 modified_at: Optional[datetime] = Field( 46 default=None, 47 description="Date and time when the webhook subscription was last modified. <br>Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", 48 alias="modifiedAt", 49 ) 50 status: Optional[StrictStr] = Field( 51 default="enabled", 52 description="Indicates whether the status of the webhook subscription. `enabled`: Miro sends a webhook when an event occurs in the associated board. `disabled`: Miro does not send a webhook even when an event occurs in the associated board. `lost_access`: The user with which the webhook subscription is associated has lost access to the board. The user needs to regain access to the board, and then reenable the webhook subscription by updating the webhook subscription status to `enabled` by using the update webhook endpoint.", 53 ) 54 type: Optional[StrictStr] = Field( 55 default=None, description="The type of object associated with the webhook subscription." 56 ) 57 additional_properties: Dict[str, Any] = {} 58 __properties: ClassVar[List[str]] = ["callbackUrl", "createdAt", "data", "id", "modifiedAt", "status", "type"] 59 60 @field_validator("status") 61 def status_validate_enum(cls, value): 62 """Validates the enum""" 63 if value is None: 64 return value 65 66 if value not in set(["enabled", "disabled", "lost_access"]): 67 raise ValueError("must be one of enum values ('enabled', 'disabled', 'lost_access')") 68 return value 69 70 model_config = { 71 "populate_by_name": True, 72 "validate_assignment": True, 73 "protected_namespaces": (), 74 } 75 76 def to_str(self) -> str: 77 """Returns the string representation of the model using alias""" 78 return pprint.pformat(self.model_dump(by_alias=True)) 79 80 def to_json(self) -> str: 81 """Returns the JSON representation of the model using alias""" 82 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 83 return json.dumps(self.to_dict()) 84 85 @classmethod 86 def from_json(cls, json_str: str) -> Optional[Self]: 87 """Create an instance of GenericSubscription from a JSON string""" 88 return cls.from_dict(json.loads(json_str)) 89 90 def to_dict(self) -> Dict[str, Any]: 91 """Return the dictionary representation of the model using alias. 92 93 This has the following differences from calling pydantic's 94 `self.model_dump(by_alias=True)`: 95 96 * `None` is only added to the output dict for nullable fields that 97 were set at model initialization. Other fields with value `None` 98 are ignored. 99 * Fields in `self.additional_properties` are added to the output dict. 100 """ 101 excluded_fields: Set[str] = set( 102 [ 103 "additional_properties", 104 ] 105 ) 106 107 _dict = self.model_dump( 108 by_alias=True, 109 exclude=excluded_fields, 110 exclude_none=True, 111 ) 112 # override the default output from pydantic by calling `to_dict()` of data 113 if self.data: 114 _dict["data"] = self.data.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 GenericSubscription 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 "callbackUrl": obj.get("callbackUrl"), 134 "createdAt": obj.get("createdAt"), 135 "data": SubscriptionData.from_dict(obj["data"]) if obj.get("data") is not None else None, 136 "id": obj.get("id"), 137 "modifiedAt": obj.get("modifiedAt"), 138 "status": obj.get("status") if obj.get("status") is not None else "enabled", 139 "type": obj.get("type"), 140 } 141 ) 142 # store additional fields in additional_properties 143 for _key in obj.keys(): 144 if _key not in cls.__properties: 145 _obj.additional_properties[_key] = obj.get(_key) 146 147 return _obj
29class GenericSubscription(BaseModel): 30 """ 31 GenericSubscription 32 """ # noqa: E501 33 34 callback_url: Optional[StrictStr] = Field( 35 default=None, 36 description="Indicates the HTTPS URL to which Miro sends a webhook when an event occurs.", 37 alias="callbackUrl", 38 ) 39 created_at: Optional[datetime] = Field( 40 default=None, 41 description="Date and time when the webhook subscription was created.<br>Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", 42 alias="createdAt", 43 ) 44 data: Optional[SubscriptionData] = None 45 id: Optional[StrictStr] = Field(default=None, description="Unique identifier (ID) of a webhook subscription.") 46 modified_at: Optional[datetime] = Field( 47 default=None, 48 description="Date and time when the webhook subscription was last modified. <br>Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", 49 alias="modifiedAt", 50 ) 51 status: Optional[StrictStr] = Field( 52 default="enabled", 53 description="Indicates whether the status of the webhook subscription. `enabled`: Miro sends a webhook when an event occurs in the associated board. `disabled`: Miro does not send a webhook even when an event occurs in the associated board. `lost_access`: The user with which the webhook subscription is associated has lost access to the board. The user needs to regain access to the board, and then reenable the webhook subscription by updating the webhook subscription status to `enabled` by using the update webhook endpoint.", 54 ) 55 type: Optional[StrictStr] = Field( 56 default=None, description="The type of object associated with the webhook subscription." 57 ) 58 additional_properties: Dict[str, Any] = {} 59 __properties: ClassVar[List[str]] = ["callbackUrl", "createdAt", "data", "id", "modifiedAt", "status", "type"] 60 61 @field_validator("status") 62 def status_validate_enum(cls, value): 63 """Validates the enum""" 64 if value is None: 65 return value 66 67 if value not in set(["enabled", "disabled", "lost_access"]): 68 raise ValueError("must be one of enum values ('enabled', 'disabled', 'lost_access')") 69 return value 70 71 model_config = { 72 "populate_by_name": True, 73 "validate_assignment": True, 74 "protected_namespaces": (), 75 } 76 77 def to_str(self) -> str: 78 """Returns the string representation of the model using alias""" 79 return pprint.pformat(self.model_dump(by_alias=True)) 80 81 def to_json(self) -> str: 82 """Returns the JSON representation of the model using alias""" 83 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 84 return json.dumps(self.to_dict()) 85 86 @classmethod 87 def from_json(cls, json_str: str) -> Optional[Self]: 88 """Create an instance of GenericSubscription from a JSON string""" 89 return cls.from_dict(json.loads(json_str)) 90 91 def to_dict(self) -> Dict[str, Any]: 92 """Return the dictionary representation of the model using alias. 93 94 This has the following differences from calling pydantic's 95 `self.model_dump(by_alias=True)`: 96 97 * `None` is only added to the output dict for nullable fields that 98 were set at model initialization. Other fields with value `None` 99 are ignored. 100 * Fields in `self.additional_properties` are added to the output dict. 101 """ 102 excluded_fields: Set[str] = set( 103 [ 104 "additional_properties", 105 ] 106 ) 107 108 _dict = self.model_dump( 109 by_alias=True, 110 exclude=excluded_fields, 111 exclude_none=True, 112 ) 113 # override the default output from pydantic by calling `to_dict()` of data 114 if self.data: 115 _dict["data"] = self.data.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 GenericSubscription 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 "callbackUrl": obj.get("callbackUrl"), 135 "createdAt": obj.get("createdAt"), 136 "data": SubscriptionData.from_dict(obj["data"]) if obj.get("data") is not None else None, 137 "id": obj.get("id"), 138 "modifiedAt": obj.get("modifiedAt"), 139 "status": obj.get("status") if obj.get("status") is not None else "enabled", 140 "type": obj.get("type"), 141 } 142 ) 143 # store additional fields in additional_properties 144 for _key in obj.keys(): 145 if _key not in cls.__properties: 146 _obj.additional_properties[_key] = obj.get(_key) 147 148 return _obj
GenericSubscription
61 @field_validator("status") 62 def status_validate_enum(cls, value): 63 """Validates the enum""" 64 if value is None: 65 return value 66 67 if value not in set(["enabled", "disabled", "lost_access"]): 68 raise ValueError("must be one of enum values ('enabled', 'disabled', 'lost_access')") 69 return value
Validates the enum
77 def to_str(self) -> str: 78 """Returns the string representation of the model using alias""" 79 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
81 def to_json(self) -> str: 82 """Returns the JSON representation of the model using alias""" 83 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 84 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
86 @classmethod 87 def from_json(cls, json_str: str) -> Optional[Self]: 88 """Create an instance of GenericSubscription from a JSON string""" 89 return cls.from_dict(json.loads(json_str))
Create an instance of GenericSubscription from a JSON string
91 def to_dict(self) -> Dict[str, Any]: 92 """Return the dictionary representation of the model using alias. 93 94 This has the following differences from calling pydantic's 95 `self.model_dump(by_alias=True)`: 96 97 * `None` is only added to the output dict for nullable fields that 98 were set at model initialization. Other fields with value `None` 99 are ignored. 100 * Fields in `self.additional_properties` are added to the output dict. 101 """ 102 excluded_fields: Set[str] = set( 103 [ 104 "additional_properties", 105 ] 106 ) 107 108 _dict = self.model_dump( 109 by_alias=True, 110 exclude=excluded_fields, 111 exclude_none=True, 112 ) 113 # override the default output from pydantic by calling `to_dict()` of data 114 if self.data: 115 _dict["data"] = self.data.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 GenericSubscription 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 "callbackUrl": obj.get("callbackUrl"), 135 "createdAt": obj.get("createdAt"), 136 "data": SubscriptionData.from_dict(obj["data"]) if obj.get("data") is not None else None, 137 "id": obj.get("id"), 138 "modifiedAt": obj.get("modifiedAt"), 139 "status": obj.get("status") if obj.get("status") is not None else "enabled", 140 "type": obj.get("type"), 141 } 142 ) 143 # store additional fields in additional_properties 144 for _key in obj.keys(): 145 if _key not in cls.__properties: 146 _obj.additional_properties[_key] = obj.get(_key) 147 148 return _obj
Create an instance of GenericSubscription 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