miro_api.models.items_page
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, StrictInt, StrictStr 21from typing import Any, ClassVar, Dict, List 22from miro_api.models.item import Item 23from miro_api.models.page_links import PageLinks 24from typing import Optional, Set 25from typing_extensions import Self 26 27 28class ItemsPage(BaseModel): 29 """ 30 Contains cursor-based items page information. 31 """ # noqa: E501 32 33 size: StrictInt = Field( 34 description="Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.<br>In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection." 35 ) 36 limit: StrictInt = Field( 37 description="Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response." 38 ) 39 total: StrictInt = Field(description="Total number of results available for the given request.") 40 data: List[Item] = Field(description="Contains the result data.") 41 links: PageLinks 42 type: StrictStr = Field(description="Type of the object.") 43 additional_properties: Dict[str, Any] = {} 44 __properties: ClassVar[List[str]] = ["size", "limit", "total", "data", "links", "type"] 45 46 model_config = { 47 "populate_by_name": True, 48 "validate_assignment": True, 49 "protected_namespaces": (), 50 } 51 52 def to_str(self) -> str: 53 """Returns the string representation of the model using alias""" 54 return pprint.pformat(self.model_dump(by_alias=True)) 55 56 def to_json(self) -> str: 57 """Returns the JSON representation of the model using alias""" 58 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 59 return json.dumps(self.to_dict()) 60 61 @classmethod 62 def from_json(cls, json_str: str) -> Optional[Self]: 63 """Create an instance of ItemsPage from a JSON string""" 64 return cls.from_dict(json.loads(json_str)) 65 66 def to_dict(self) -> Dict[str, Any]: 67 """Return the dictionary representation of the model using alias. 68 69 This has the following differences from calling pydantic's 70 `self.model_dump(by_alias=True)`: 71 72 * `None` is only added to the output dict for nullable fields that 73 were set at model initialization. Other fields with value `None` 74 are ignored. 75 * Fields in `self.additional_properties` are added to the output dict. 76 """ 77 excluded_fields: Set[str] = set( 78 [ 79 "additional_properties", 80 ] 81 ) 82 83 _dict = self.model_dump( 84 by_alias=True, 85 exclude=excluded_fields, 86 exclude_none=True, 87 ) 88 # override the default output from pydantic by calling `to_dict()` of each item in data (list) 89 _items = [] 90 if self.data: 91 for _item in self.data: 92 if _item: 93 _items.append(_item.to_dict()) 94 _dict["data"] = _items 95 # override the default output from pydantic by calling `to_dict()` of links 96 if self.links: 97 _dict["links"] = self.links.to_dict() 98 # puts key-value pairs in additional_properties in the top level 99 if self.additional_properties is not None: 100 for _key, _value in self.additional_properties.items(): 101 _dict[_key] = _value 102 103 return _dict 104 105 @classmethod 106 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 107 """Create an instance of ItemsPage from a dict""" 108 if obj is None: 109 return None 110 111 if not isinstance(obj, dict): 112 return cls.model_validate(obj) 113 114 _obj = cls.model_validate( 115 { 116 "size": obj.get("size"), 117 "limit": obj.get("limit"), 118 "total": obj.get("total"), 119 "data": [Item.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, 120 "links": PageLinks.from_dict(obj["links"]) if obj.get("links") is not None else None, 121 "type": obj.get("type"), 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
29class ItemsPage(BaseModel): 30 """ 31 Contains cursor-based items page information. 32 """ # noqa: E501 33 34 size: StrictInt = Field( 35 description="Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.<br>In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection." 36 ) 37 limit: StrictInt = Field( 38 description="Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response." 39 ) 40 total: StrictInt = Field(description="Total number of results available for the given request.") 41 data: List[Item] = Field(description="Contains the result data.") 42 links: PageLinks 43 type: StrictStr = Field(description="Type of the object.") 44 additional_properties: Dict[str, Any] = {} 45 __properties: ClassVar[List[str]] = ["size", "limit", "total", "data", "links", "type"] 46 47 model_config = { 48 "populate_by_name": True, 49 "validate_assignment": True, 50 "protected_namespaces": (), 51 } 52 53 def to_str(self) -> str: 54 """Returns the string representation of the model using alias""" 55 return pprint.pformat(self.model_dump(by_alias=True)) 56 57 def to_json(self) -> str: 58 """Returns the JSON representation of the model using alias""" 59 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 60 return json.dumps(self.to_dict()) 61 62 @classmethod 63 def from_json(cls, json_str: str) -> Optional[Self]: 64 """Create an instance of ItemsPage from a JSON string""" 65 return cls.from_dict(json.loads(json_str)) 66 67 def to_dict(self) -> Dict[str, Any]: 68 """Return the dictionary representation of the model using alias. 69 70 This has the following differences from calling pydantic's 71 `self.model_dump(by_alias=True)`: 72 73 * `None` is only added to the output dict for nullable fields that 74 were set at model initialization. Other fields with value `None` 75 are ignored. 76 * Fields in `self.additional_properties` are added to the output dict. 77 """ 78 excluded_fields: Set[str] = set( 79 [ 80 "additional_properties", 81 ] 82 ) 83 84 _dict = self.model_dump( 85 by_alias=True, 86 exclude=excluded_fields, 87 exclude_none=True, 88 ) 89 # override the default output from pydantic by calling `to_dict()` of each item in data (list) 90 _items = [] 91 if self.data: 92 for _item in self.data: 93 if _item: 94 _items.append(_item.to_dict()) 95 _dict["data"] = _items 96 # override the default output from pydantic by calling `to_dict()` of links 97 if self.links: 98 _dict["links"] = self.links.to_dict() 99 # puts key-value pairs in additional_properties in the top level 100 if self.additional_properties is not None: 101 for _key, _value in self.additional_properties.items(): 102 _dict[_key] = _value 103 104 return _dict 105 106 @classmethod 107 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 108 """Create an instance of ItemsPage from a dict""" 109 if obj is None: 110 return None 111 112 if not isinstance(obj, dict): 113 return cls.model_validate(obj) 114 115 _obj = cls.model_validate( 116 { 117 "size": obj.get("size"), 118 "limit": obj.get("limit"), 119 "total": obj.get("total"), 120 "data": [Item.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, 121 "links": PageLinks.from_dict(obj["links"]) if obj.get("links") is not None else None, 122 "type": obj.get("type"), 123 } 124 ) 125 # store additional fields in additional_properties 126 for _key in obj.keys(): 127 if _key not in cls.__properties: 128 _obj.additional_properties[_key] = obj.get(_key) 129 130 return _obj
Contains cursor-based items page information.
53 def to_str(self) -> str: 54 """Returns the string representation of the model using alias""" 55 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
57 def to_json(self) -> str: 58 """Returns the JSON representation of the model using alias""" 59 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 60 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
62 @classmethod 63 def from_json(cls, json_str: str) -> Optional[Self]: 64 """Create an instance of ItemsPage from a JSON string""" 65 return cls.from_dict(json.loads(json_str))
Create an instance of ItemsPage from a JSON string
67 def to_dict(self) -> Dict[str, Any]: 68 """Return the dictionary representation of the model using alias. 69 70 This has the following differences from calling pydantic's 71 `self.model_dump(by_alias=True)`: 72 73 * `None` is only added to the output dict for nullable fields that 74 were set at model initialization. Other fields with value `None` 75 are ignored. 76 * Fields in `self.additional_properties` are added to the output dict. 77 """ 78 excluded_fields: Set[str] = set( 79 [ 80 "additional_properties", 81 ] 82 ) 83 84 _dict = self.model_dump( 85 by_alias=True, 86 exclude=excluded_fields, 87 exclude_none=True, 88 ) 89 # override the default output from pydantic by calling `to_dict()` of each item in data (list) 90 _items = [] 91 if self.data: 92 for _item in self.data: 93 if _item: 94 _items.append(_item.to_dict()) 95 _dict["data"] = _items 96 # override the default output from pydantic by calling `to_dict()` of links 97 if self.links: 98 _dict["links"] = self.links.to_dict() 99 # puts key-value pairs in additional_properties in the top level 100 if self.additional_properties is not None: 101 for _key, _value in self.additional_properties.items(): 102 _dict[_key] = _value 103 104 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.
106 @classmethod 107 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 108 """Create an instance of ItemsPage from a dict""" 109 if obj is None: 110 return None 111 112 if not isinstance(obj, dict): 113 return cls.model_validate(obj) 114 115 _obj = cls.model_validate( 116 { 117 "size": obj.get("size"), 118 "limit": obj.get("limit"), 119 "total": obj.get("total"), 120 "data": [Item.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, 121 "links": PageLinks.from_dict(obj["links"]) if obj.get("links") is not None else None, 122 "type": obj.get("type"), 123 } 124 ) 125 # store additional fields in additional_properties 126 for _key in obj.keys(): 127 if _key not in cls.__properties: 128 _obj.additional_properties[_key] = obj.get(_key) 129 130 return _obj
Create an instance of ItemsPage 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