miro_api.models.update_board_subscription_request
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 14from __future__ import annotations 15import pprint 16import re # noqa: F401 17import json 18 19from pydantic import BaseModel, Field, StrictStr, field_validator 20from typing import Any, ClassVar, Dict, List, Optional 21from typing_extensions import Annotated 22from typing import Optional, Set 23from typing_extensions import Self 24 25 26class UpdateBoardSubscriptionRequest(BaseModel): 27 """ 28 Contains updated information about a subscription. 29 """ # noqa: E501 30 31 callback_url: Optional[Annotated[str, Field(min_length=8, strict=True, max_length=256)]] = Field( 32 default=None, 33 description="Indicates the HTTPS URL to which Miro sends a webhook when an event occurs.", 34 alias="callbackUrl", 35 ) 36 status: Optional[StrictStr] = Field( 37 default="enabled", 38 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.", 39 ) 40 additional_properties: Dict[str, Any] = {} 41 __properties: ClassVar[List[str]] = ["callbackUrl", "status"] 42 43 @field_validator("callback_url") 44 def callback_url_validate_regular_expression(cls, value): 45 """Validates the regular expression""" 46 if value is None: 47 return value 48 49 if not re.match(r"^https:\/\/(.*)", value): 50 raise ValueError(r"must validate the regular expression /^https:\/\/(.*)/") 51 return value 52 53 @field_validator("status") 54 def status_validate_enum(cls, value): 55 """Validates the enum""" 56 if value is None: 57 return value 58 59 if value not in set(["enabled", "disabled"]): 60 raise ValueError("must be one of enum values ('enabled', 'disabled')") 61 return value 62 63 model_config = { 64 "populate_by_name": True, 65 "validate_assignment": True, 66 "protected_namespaces": (), 67 } 68 69 def to_str(self) -> str: 70 """Returns the string representation of the model using alias""" 71 return pprint.pformat(self.model_dump(by_alias=True)) 72 73 def to_json(self) -> str: 74 """Returns the JSON representation of the model using alias""" 75 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 76 return json.dumps(self.to_dict()) 77 78 @classmethod 79 def from_json(cls, json_str: str) -> Optional[Self]: 80 """Create an instance of UpdateBoardSubscriptionRequest from a JSON string""" 81 return cls.from_dict(json.loads(json_str)) 82 83 def to_dict(self) -> Dict[str, Any]: 84 """Return the dictionary representation of the model using alias. 85 86 This has the following differences from calling pydantic's 87 `self.model_dump(by_alias=True)`: 88 89 * `None` is only added to the output dict for nullable fields that 90 were set at model initialization. Other fields with value `None` 91 are ignored. 92 * Fields in `self.additional_properties` are added to the output dict. 93 """ 94 excluded_fields: Set[str] = set( 95 [ 96 "additional_properties", 97 ] 98 ) 99 100 _dict = self.model_dump( 101 by_alias=True, 102 exclude=excluded_fields, 103 exclude_none=True, 104 ) 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 UpdateBoardSubscriptionRequest 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 "callbackUrl": obj.get("callbackUrl"), 124 "status": obj.get("status") if obj.get("status") is not None else "enabled", 125 } 126 ) 127 # store additional fields in additional_properties 128 for _key in obj.keys(): 129 if _key not in cls.__properties: 130 _obj.additional_properties[_key] = obj.get(_key) 131 132 return _obj
27class UpdateBoardSubscriptionRequest(BaseModel): 28 """ 29 Contains updated information about a subscription. 30 """ # noqa: E501 31 32 callback_url: Optional[Annotated[str, Field(min_length=8, strict=True, max_length=256)]] = Field( 33 default=None, 34 description="Indicates the HTTPS URL to which Miro sends a webhook when an event occurs.", 35 alias="callbackUrl", 36 ) 37 status: Optional[StrictStr] = Field( 38 default="enabled", 39 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.", 40 ) 41 additional_properties: Dict[str, Any] = {} 42 __properties: ClassVar[List[str]] = ["callbackUrl", "status"] 43 44 @field_validator("callback_url") 45 def callback_url_validate_regular_expression(cls, value): 46 """Validates the regular expression""" 47 if value is None: 48 return value 49 50 if not re.match(r"^https:\/\/(.*)", value): 51 raise ValueError(r"must validate the regular expression /^https:\/\/(.*)/") 52 return value 53 54 @field_validator("status") 55 def status_validate_enum(cls, value): 56 """Validates the enum""" 57 if value is None: 58 return value 59 60 if value not in set(["enabled", "disabled"]): 61 raise ValueError("must be one of enum values ('enabled', 'disabled')") 62 return value 63 64 model_config = { 65 "populate_by_name": True, 66 "validate_assignment": True, 67 "protected_namespaces": (), 68 } 69 70 def to_str(self) -> str: 71 """Returns the string representation of the model using alias""" 72 return pprint.pformat(self.model_dump(by_alias=True)) 73 74 def to_json(self) -> str: 75 """Returns the JSON representation of the model using alias""" 76 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 77 return json.dumps(self.to_dict()) 78 79 @classmethod 80 def from_json(cls, json_str: str) -> Optional[Self]: 81 """Create an instance of UpdateBoardSubscriptionRequest from a JSON string""" 82 return cls.from_dict(json.loads(json_str)) 83 84 def to_dict(self) -> Dict[str, Any]: 85 """Return the dictionary representation of the model using alias. 86 87 This has the following differences from calling pydantic's 88 `self.model_dump(by_alias=True)`: 89 90 * `None` is only added to the output dict for nullable fields that 91 were set at model initialization. Other fields with value `None` 92 are ignored. 93 * Fields in `self.additional_properties` are added to the output dict. 94 """ 95 excluded_fields: Set[str] = set( 96 [ 97 "additional_properties", 98 ] 99 ) 100 101 _dict = self.model_dump( 102 by_alias=True, 103 exclude=excluded_fields, 104 exclude_none=True, 105 ) 106 # puts key-value pairs in additional_properties in the top level 107 if self.additional_properties is not None: 108 for _key, _value in self.additional_properties.items(): 109 _dict[_key] = _value 110 111 return _dict 112 113 @classmethod 114 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 115 """Create an instance of UpdateBoardSubscriptionRequest from a dict""" 116 if obj is None: 117 return None 118 119 if not isinstance(obj, dict): 120 return cls.model_validate(obj) 121 122 _obj = cls.model_validate( 123 { 124 "callbackUrl": obj.get("callbackUrl"), 125 "status": obj.get("status") if obj.get("status") is not None else "enabled", 126 } 127 ) 128 # store additional fields in additional_properties 129 for _key in obj.keys(): 130 if _key not in cls.__properties: 131 _obj.additional_properties[_key] = obj.get(_key) 132 133 return _obj
Contains updated information about a subscription.
44 @field_validator("callback_url") 45 def callback_url_validate_regular_expression(cls, value): 46 """Validates the regular expression""" 47 if value is None: 48 return value 49 50 if not re.match(r"^https:\/\/(.*)", value): 51 raise ValueError(r"must validate the regular expression /^https:\/\/(.*)/") 52 return value
Validates the regular expression
54 @field_validator("status") 55 def status_validate_enum(cls, value): 56 """Validates the enum""" 57 if value is None: 58 return value 59 60 if value not in set(["enabled", "disabled"]): 61 raise ValueError("must be one of enum values ('enabled', 'disabled')") 62 return value
Validates the enum
70 def to_str(self) -> str: 71 """Returns the string representation of the model using alias""" 72 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
74 def to_json(self) -> str: 75 """Returns the JSON representation of the model using alias""" 76 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 77 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
79 @classmethod 80 def from_json(cls, json_str: str) -> Optional[Self]: 81 """Create an instance of UpdateBoardSubscriptionRequest from a JSON string""" 82 return cls.from_dict(json.loads(json_str))
Create an instance of UpdateBoardSubscriptionRequest from a JSON string
84 def to_dict(self) -> Dict[str, Any]: 85 """Return the dictionary representation of the model using alias. 86 87 This has the following differences from calling pydantic's 88 `self.model_dump(by_alias=True)`: 89 90 * `None` is only added to the output dict for nullable fields that 91 were set at model initialization. Other fields with value `None` 92 are ignored. 93 * Fields in `self.additional_properties` are added to the output dict. 94 """ 95 excluded_fields: Set[str] = set( 96 [ 97 "additional_properties", 98 ] 99 ) 100 101 _dict = self.model_dump( 102 by_alias=True, 103 exclude=excluded_fields, 104 exclude_none=True, 105 ) 106 # puts key-value pairs in additional_properties in the top level 107 if self.additional_properties is not None: 108 for _key, _value in self.additional_properties.items(): 109 _dict[_key] = _value 110 111 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):
Noneis only added to the output dict for nullable fields that were set at model initialization. Other fields with valueNoneare ignored.- Fields in
self.additional_propertiesare added to the output dict.
113 @classmethod 114 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 115 """Create an instance of UpdateBoardSubscriptionRequest from a dict""" 116 if obj is None: 117 return None 118 119 if not isinstance(obj, dict): 120 return cls.model_validate(obj) 121 122 _obj = cls.model_validate( 123 { 124 "callbackUrl": obj.get("callbackUrl"), 125 "status": obj.get("status") if obj.get("status") is not None else "enabled", 126 } 127 ) 128 # store additional fields in additional_properties 129 for _key in obj.keys(): 130 if _key not in cls.__properties: 131 _obj.additional_properties[_key] = obj.get(_key) 132 133 return _obj
Create an instance of UpdateBoardSubscriptionRequest 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