miro_api.models.paginated_legal_hold_content_items_response

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, Optional
 22from typing_extensions import Annotated
 23from miro_api.models.legal_hold_content_items_response import LegalHoldContentItemsResponse
 24from typing import Optional, Set
 25from typing_extensions import Self
 26
 27
 28class PaginatedLegalHoldContentItemsResponse(BaseModel):
 29    """
 30    List of content items under legal hold.
 31    """  # noqa: E501
 32
 33    size: Optional[StrictInt] = Field(
 34        default=None,
 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. 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    total: Optional[StrictInt] = Field(default=None, description="Total number of results in the collection.")
 38    cursor: Optional[StrictStr] = Field(
 39        default=None,
 40        description="Indicator of the position of the next page of the result. To retrieve the next page, make another query setting its cursor field to the value returned by the current query. If the value is empty, there are no more pages to fetch.",
 41    )
 42    limit: Optional[Annotated[int, Field(le=100, strict=True, ge=1)]] = Field(
 43        default=100,
 44        description="The maximum number of results to return per call. If the number of project in the response is greater than the limit specified, the response returns the cursor parameter with a value.",
 45    )
 46    type: Optional[StrictStr] = Field(
 47        default="cursor-list", description="Type of the response, in this case it's always 'cursor-list'."
 48    )
 49    data: Optional[List[LegalHoldContentItemsResponse]] = None
 50    additional_properties: Dict[str, Any] = {}
 51    __properties: ClassVar[List[str]] = ["size", "total", "cursor", "limit", "type", "data"]
 52
 53    model_config = {
 54        "populate_by_name": True,
 55        "validate_assignment": True,
 56        "protected_namespaces": (),
 57    }
 58
 59    def to_str(self) -> str:
 60        """Returns the string representation of the model using alias"""
 61        return pprint.pformat(self.model_dump(by_alias=True))
 62
 63    def to_json(self) -> str:
 64        """Returns the JSON representation of the model using alias"""
 65        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 66        return json.dumps(self.to_dict())
 67
 68    @classmethod
 69    def from_json(cls, json_str: str) -> Optional[Self]:
 70        """Create an instance of PaginatedLegalHoldContentItemsResponse from a JSON string"""
 71        return cls.from_dict(json.loads(json_str))
 72
 73    def to_dict(self) -> Dict[str, Any]:
 74        """Return the dictionary representation of the model using alias.
 75
 76        This has the following differences from calling pydantic's
 77        `self.model_dump(by_alias=True)`:
 78
 79        * `None` is only added to the output dict for nullable fields that
 80          were set at model initialization. Other fields with value `None`
 81          are ignored.
 82        * Fields in `self.additional_properties` are added to the output dict.
 83        """
 84        excluded_fields: Set[str] = set(
 85            [
 86                "additional_properties",
 87            ]
 88        )
 89
 90        _dict = self.model_dump(
 91            by_alias=True,
 92            exclude=excluded_fields,
 93            exclude_none=True,
 94        )
 95        # override the default output from pydantic by calling `to_dict()` of each item in data (list)
 96        _items = []
 97        if self.data:
 98            for _item in self.data:
 99                if _item:
100                    _items.append(_item.to_dict())
101            _dict["data"] = _items
102        # puts key-value pairs in additional_properties in the top level
103        if self.additional_properties is not None:
104            for _key, _value in self.additional_properties.items():
105                _dict[_key] = _value
106
107        return _dict
108
109    @classmethod
110    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
111        """Create an instance of PaginatedLegalHoldContentItemsResponse from a dict"""
112        if obj is None:
113            return None
114
115        if not isinstance(obj, dict):
116            return cls.model_validate(obj)
117
118        _obj = cls.model_validate(
119            {
120                "size": obj.get("size"),
121                "total": obj.get("total"),
122                "cursor": obj.get("cursor"),
123                "limit": obj.get("limit") if obj.get("limit") is not None else 100,
124                "type": obj.get("type") if obj.get("type") is not None else "cursor-list",
125                "data": (
126                    [LegalHoldContentItemsResponse.from_dict(_item) for _item in obj["data"]]
127                    if obj.get("data") is not None
128                    else None
129                ),
130            }
131        )
132        # store additional fields in additional_properties
133        for _key in obj.keys():
134            if _key not in cls.__properties:
135                _obj.additional_properties[_key] = obj.get(_key)
136
137        return _obj
class PaginatedLegalHoldContentItemsResponse(pydantic.main.BaseModel):
 29class PaginatedLegalHoldContentItemsResponse(BaseModel):
 30    """
 31    List of content items under legal hold.
 32    """  # noqa: E501
 33
 34    size: Optional[StrictInt] = Field(
 35        default=None,
 36        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. 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. ",
 37    )
 38    total: Optional[StrictInt] = Field(default=None, description="Total number of results in the collection.")
 39    cursor: Optional[StrictStr] = Field(
 40        default=None,
 41        description="Indicator of the position of the next page of the result. To retrieve the next page, make another query setting its cursor field to the value returned by the current query. If the value is empty, there are no more pages to fetch.",
 42    )
 43    limit: Optional[Annotated[int, Field(le=100, strict=True, ge=1)]] = Field(
 44        default=100,
 45        description="The maximum number of results to return per call. If the number of project in the response is greater than the limit specified, the response returns the cursor parameter with a value.",
 46    )
 47    type: Optional[StrictStr] = Field(
 48        default="cursor-list", description="Type of the response, in this case it's always 'cursor-list'."
 49    )
 50    data: Optional[List[LegalHoldContentItemsResponse]] = None
 51    additional_properties: Dict[str, Any] = {}
 52    __properties: ClassVar[List[str]] = ["size", "total", "cursor", "limit", "type", "data"]
 53
 54    model_config = {
 55        "populate_by_name": True,
 56        "validate_assignment": True,
 57        "protected_namespaces": (),
 58    }
 59
 60    def to_str(self) -> str:
 61        """Returns the string representation of the model using alias"""
 62        return pprint.pformat(self.model_dump(by_alias=True))
 63
 64    def to_json(self) -> str:
 65        """Returns the JSON representation of the model using alias"""
 66        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 67        return json.dumps(self.to_dict())
 68
 69    @classmethod
 70    def from_json(cls, json_str: str) -> Optional[Self]:
 71        """Create an instance of PaginatedLegalHoldContentItemsResponse from a JSON string"""
 72        return cls.from_dict(json.loads(json_str))
 73
 74    def to_dict(self) -> Dict[str, Any]:
 75        """Return the dictionary representation of the model using alias.
 76
 77        This has the following differences from calling pydantic's
 78        `self.model_dump(by_alias=True)`:
 79
 80        * `None` is only added to the output dict for nullable fields that
 81          were set at model initialization. Other fields with value `None`
 82          are ignored.
 83        * Fields in `self.additional_properties` are added to the output dict.
 84        """
 85        excluded_fields: Set[str] = set(
 86            [
 87                "additional_properties",
 88            ]
 89        )
 90
 91        _dict = self.model_dump(
 92            by_alias=True,
 93            exclude=excluded_fields,
 94            exclude_none=True,
 95        )
 96        # override the default output from pydantic by calling `to_dict()` of each item in data (list)
 97        _items = []
 98        if self.data:
 99            for _item in self.data:
100                if _item:
101                    _items.append(_item.to_dict())
102            _dict["data"] = _items
103        # puts key-value pairs in additional_properties in the top level
104        if self.additional_properties is not None:
105            for _key, _value in self.additional_properties.items():
106                _dict[_key] = _value
107
108        return _dict
109
110    @classmethod
111    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
112        """Create an instance of PaginatedLegalHoldContentItemsResponse from a dict"""
113        if obj is None:
114            return None
115
116        if not isinstance(obj, dict):
117            return cls.model_validate(obj)
118
119        _obj = cls.model_validate(
120            {
121                "size": obj.get("size"),
122                "total": obj.get("total"),
123                "cursor": obj.get("cursor"),
124                "limit": obj.get("limit") if obj.get("limit") is not None else 100,
125                "type": obj.get("type") if obj.get("type") is not None else "cursor-list",
126                "data": (
127                    [LegalHoldContentItemsResponse.from_dict(_item) for _item in obj["data"]]
128                    if obj.get("data") is not None
129                    else None
130                ),
131            }
132        )
133        # store additional fields in additional_properties
134        for _key in obj.keys():
135            if _key not in cls.__properties:
136                _obj.additional_properties[_key] = obj.get(_key)
137
138        return _obj

List of content items under legal hold.

size: Optional[Annotated[int, Strict(strict=True)]]
total: Optional[Annotated[int, Strict(strict=True)]]
cursor: Optional[Annotated[str, Strict(strict=True)]]
limit: Optional[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=True), Ge(ge=1), Le(le=100)])]]
type: Optional[Annotated[str, Strict(strict=True)]]
additional_properties: Dict[str, Any]
model_config = {'populate_by_name': True, 'validate_assignment': True, 'protected_namespaces': ()}
def to_str(self) -> str:
60    def to_str(self) -> str:
61        """Returns the string representation of the model using alias"""
62        return pprint.pformat(self.model_dump(by_alias=True))

Returns the string representation of the model using alias

def to_json(self) -> str:
64    def to_json(self) -> str:
65        """Returns the JSON representation of the model using alias"""
66        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
67        return json.dumps(self.to_dict())

Returns the JSON representation of the model using alias

@classmethod
def from_json(cls, json_str: str) -> Optional[typing_extensions.Self]:
69    @classmethod
70    def from_json(cls, json_str: str) -> Optional[Self]:
71        """Create an instance of PaginatedLegalHoldContentItemsResponse from a JSON string"""
72        return cls.from_dict(json.loads(json_str))

Create an instance of PaginatedLegalHoldContentItemsResponse from a JSON string

def to_dict(self) -> Dict[str, Any]:
 74    def to_dict(self) -> Dict[str, Any]:
 75        """Return the dictionary representation of the model using alias.
 76
 77        This has the following differences from calling pydantic's
 78        `self.model_dump(by_alias=True)`:
 79
 80        * `None` is only added to the output dict for nullable fields that
 81          were set at model initialization. Other fields with value `None`
 82          are ignored.
 83        * Fields in `self.additional_properties` are added to the output dict.
 84        """
 85        excluded_fields: Set[str] = set(
 86            [
 87                "additional_properties",
 88            ]
 89        )
 90
 91        _dict = self.model_dump(
 92            by_alias=True,
 93            exclude=excluded_fields,
 94            exclude_none=True,
 95        )
 96        # override the default output from pydantic by calling `to_dict()` of each item in data (list)
 97        _items = []
 98        if self.data:
 99            for _item in self.data:
100                if _item:
101                    _items.append(_item.to_dict())
102            _dict["data"] = _items
103        # puts key-value pairs in additional_properties in the top level
104        if self.additional_properties is not None:
105            for _key, _value in self.additional_properties.items():
106                _dict[_key] = _value
107
108        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 value None are ignored.
  • Fields in self.additional_properties are added to the output dict.
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[typing_extensions.Self]:
110    @classmethod
111    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
112        """Create an instance of PaginatedLegalHoldContentItemsResponse from a dict"""
113        if obj is None:
114            return None
115
116        if not isinstance(obj, dict):
117            return cls.model_validate(obj)
118
119        _obj = cls.model_validate(
120            {
121                "size": obj.get("size"),
122                "total": obj.get("total"),
123                "cursor": obj.get("cursor"),
124                "limit": obj.get("limit") if obj.get("limit") is not None else 100,
125                "type": obj.get("type") if obj.get("type") is not None else "cursor-list",
126                "data": (
127                    [LegalHoldContentItemsResponse.from_dict(_item) for _item in obj["data"]]
128                    if obj.get("data") is not None
129                    else None
130                ),
131            }
132        )
133        # store additional fields in additional_properties
134        for _key in obj.keys():
135            if _key not in cls.__properties:
136                _obj.additional_properties[_key] = obj.get(_key)
137
138        return _obj

Create an instance of PaginatedLegalHoldContentItemsResponse from a dict

def model_post_init(self: pydantic.main.BaseModel, __context: Any) -> None:
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.

model_fields = {'size': FieldInfo(annotation=Union[Annotated[int, Strict(strict=True)], NoneType], required=False, 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. 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. '), 'total': FieldInfo(annotation=Union[Annotated[int, Strict(strict=True)], NoneType], required=False, description='Total number of results in the collection.'), 'cursor': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False, description='Indicator of the position of the next page of the result. To retrieve the next page, make another query setting its cursor field to the value returned by the current query. If the value is empty, there are no more pages to fetch.'), 'limit': FieldInfo(annotation=Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=True), Ge(ge=1), Le(le=100)])], NoneType], required=False, default=100, description='The maximum number of results to return per call. If the number of project in the response is greater than the limit specified, the response returns the cursor parameter with a value.'), 'type': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False, default='cursor-list', description="Type of the response, in this case it's always 'cursor-list'."), 'data': FieldInfo(annotation=Union[List[miro_api.models.legal_hold_content_items_response.LegalHoldContentItemsResponse], NoneType], required=False), 'additional_properties': FieldInfo(annotation=Dict[str, Any], required=False, default={})}
model_computed_fields = {}
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