miro_api.models.project_user_group
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 import Optional, Set 22from typing_extensions import Self 23 24 25class ProjectUserGroup(BaseModel): 26 """ 27 ProjectUserGroup 28 """ # noqa: E501 29 30 id: StrictStr = Field(description="User group ID.") 31 role: StrictStr = Field(description="Role of the user group on the project.") 32 type: Optional[Any] = Field(default=None, description="Object type") 33 additional_properties: Dict[str, Any] = {} 34 __properties: ClassVar[List[str]] = ["id", "role", "type"] 35 36 @field_validator("role") 37 def role_validate_enum(cls, value): 38 """Validates the enum""" 39 if value not in set(["VIEWER", "COMMENTER", "EDITOR"]): 40 raise ValueError("must be one of enum values ('VIEWER', 'COMMENTER', 'EDITOR')") 41 return value 42 43 model_config = { 44 "populate_by_name": True, 45 "validate_assignment": True, 46 "protected_namespaces": (), 47 } 48 49 def to_str(self) -> str: 50 """Returns the string representation of the model using alias""" 51 return pprint.pformat(self.model_dump(by_alias=True)) 52 53 def to_json(self) -> str: 54 """Returns the JSON representation of the model using alias""" 55 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 56 return json.dumps(self.to_dict()) 57 58 @classmethod 59 def from_json(cls, json_str: str) -> Optional[Self]: 60 """Create an instance of ProjectUserGroup from a JSON string""" 61 return cls.from_dict(json.loads(json_str)) 62 63 def to_dict(self) -> Dict[str, Any]: 64 """Return the dictionary representation of the model using alias. 65 66 This has the following differences from calling pydantic's 67 `self.model_dump(by_alias=True)`: 68 69 * `None` is only added to the output dict for nullable fields that 70 were set at model initialization. Other fields with value `None` 71 are ignored. 72 * Fields in `self.additional_properties` are added to the output dict. 73 """ 74 excluded_fields: Set[str] = set( 75 [ 76 "additional_properties", 77 ] 78 ) 79 80 _dict = self.model_dump( 81 by_alias=True, 82 exclude=excluded_fields, 83 exclude_none=True, 84 ) 85 # puts key-value pairs in additional_properties in the top level 86 if self.additional_properties is not None: 87 for _key, _value in self.additional_properties.items(): 88 _dict[_key] = _value 89 90 # set to None if type (nullable) is None 91 # and model_fields_set contains the field 92 if self.type is None and "type" in self.model_fields_set: 93 _dict["type"] = None 94 95 return _dict 96 97 @classmethod 98 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 99 """Create an instance of ProjectUserGroup from a dict""" 100 if obj is None: 101 return None 102 103 if not isinstance(obj, dict): 104 return cls.model_validate(obj) 105 106 _obj = cls.model_validate( 107 { 108 "id": obj.get("id"), 109 "role": obj.get("role") if obj.get("role") is not None else "VIEWER", 110 "type": obj.get("type"), 111 } 112 ) 113 # store additional fields in additional_properties 114 for _key in obj.keys(): 115 if _key not in cls.__properties: 116 _obj.additional_properties[_key] = obj.get(_key) 117 118 return _obj
26class ProjectUserGroup(BaseModel): 27 """ 28 ProjectUserGroup 29 """ # noqa: E501 30 31 id: StrictStr = Field(description="User group ID.") 32 role: StrictStr = Field(description="Role of the user group on the project.") 33 type: Optional[Any] = Field(default=None, description="Object type") 34 additional_properties: Dict[str, Any] = {} 35 __properties: ClassVar[List[str]] = ["id", "role", "type"] 36 37 @field_validator("role") 38 def role_validate_enum(cls, value): 39 """Validates the enum""" 40 if value not in set(["VIEWER", "COMMENTER", "EDITOR"]): 41 raise ValueError("must be one of enum values ('VIEWER', 'COMMENTER', 'EDITOR')") 42 return value 43 44 model_config = { 45 "populate_by_name": True, 46 "validate_assignment": True, 47 "protected_namespaces": (), 48 } 49 50 def to_str(self) -> str: 51 """Returns the string representation of the model using alias""" 52 return pprint.pformat(self.model_dump(by_alias=True)) 53 54 def to_json(self) -> str: 55 """Returns the JSON representation of the model using alias""" 56 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 57 return json.dumps(self.to_dict()) 58 59 @classmethod 60 def from_json(cls, json_str: str) -> Optional[Self]: 61 """Create an instance of ProjectUserGroup from a JSON string""" 62 return cls.from_dict(json.loads(json_str)) 63 64 def to_dict(self) -> Dict[str, Any]: 65 """Return the dictionary representation of the model using alias. 66 67 This has the following differences from calling pydantic's 68 `self.model_dump(by_alias=True)`: 69 70 * `None` is only added to the output dict for nullable fields that 71 were set at model initialization. Other fields with value `None` 72 are ignored. 73 * Fields in `self.additional_properties` are added to the output dict. 74 """ 75 excluded_fields: Set[str] = set( 76 [ 77 "additional_properties", 78 ] 79 ) 80 81 _dict = self.model_dump( 82 by_alias=True, 83 exclude=excluded_fields, 84 exclude_none=True, 85 ) 86 # puts key-value pairs in additional_properties in the top level 87 if self.additional_properties is not None: 88 for _key, _value in self.additional_properties.items(): 89 _dict[_key] = _value 90 91 # set to None if type (nullable) is None 92 # and model_fields_set contains the field 93 if self.type is None and "type" in self.model_fields_set: 94 _dict["type"] = None 95 96 return _dict 97 98 @classmethod 99 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 100 """Create an instance of ProjectUserGroup from a dict""" 101 if obj is None: 102 return None 103 104 if not isinstance(obj, dict): 105 return cls.model_validate(obj) 106 107 _obj = cls.model_validate( 108 { 109 "id": obj.get("id"), 110 "role": obj.get("role") if obj.get("role") is not None else "VIEWER", 111 "type": obj.get("type"), 112 } 113 ) 114 # store additional fields in additional_properties 115 for _key in obj.keys(): 116 if _key not in cls.__properties: 117 _obj.additional_properties[_key] = obj.get(_key) 118 119 return _obj
ProjectUserGroup
37 @field_validator("role") 38 def role_validate_enum(cls, value): 39 """Validates the enum""" 40 if value not in set(["VIEWER", "COMMENTER", "EDITOR"]): 41 raise ValueError("must be one of enum values ('VIEWER', 'COMMENTER', 'EDITOR')") 42 return value
Validates the enum
50 def to_str(self) -> str: 51 """Returns the string representation of the model using alias""" 52 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
54 def to_json(self) -> str: 55 """Returns the JSON representation of the model using alias""" 56 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 57 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
59 @classmethod 60 def from_json(cls, json_str: str) -> Optional[Self]: 61 """Create an instance of ProjectUserGroup from a JSON string""" 62 return cls.from_dict(json.loads(json_str))
Create an instance of ProjectUserGroup from a JSON string
64 def to_dict(self) -> Dict[str, Any]: 65 """Return the dictionary representation of the model using alias. 66 67 This has the following differences from calling pydantic's 68 `self.model_dump(by_alias=True)`: 69 70 * `None` is only added to the output dict for nullable fields that 71 were set at model initialization. Other fields with value `None` 72 are ignored. 73 * Fields in `self.additional_properties` are added to the output dict. 74 """ 75 excluded_fields: Set[str] = set( 76 [ 77 "additional_properties", 78 ] 79 ) 80 81 _dict = self.model_dump( 82 by_alias=True, 83 exclude=excluded_fields, 84 exclude_none=True, 85 ) 86 # puts key-value pairs in additional_properties in the top level 87 if self.additional_properties is not None: 88 for _key, _value in self.additional_properties.items(): 89 _dict[_key] = _value 90 91 # set to None if type (nullable) is None 92 # and model_fields_set contains the field 93 if self.type is None and "type" in self.model_fields_set: 94 _dict["type"] = None 95 96 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.
98 @classmethod 99 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 100 """Create an instance of ProjectUserGroup from a dict""" 101 if obj is None: 102 return None 103 104 if not isinstance(obj, dict): 105 return cls.model_validate(obj) 106 107 _obj = cls.model_validate( 108 { 109 "id": obj.get("id"), 110 "role": obj.get("role") if obj.get("role") is not None else "VIEWER", 111 "type": obj.get("type"), 112 } 113 ) 114 # store additional fields in additional_properties 115 for _key in obj.keys(): 116 if _key not in cls.__properties: 117 _obj.additional_properties[_key] = obj.get(_key) 118 119 return _obj
Create an instance of ProjectUserGroup 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