miro_api.models.team_member
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 datetime import datetime 20from pydantic import BaseModel, Field, StrictStr, field_validator 21from typing import Any, ClassVar, Dict, List, Optional 22from typing import Optional, Set 23from typing_extensions import Self 24 25 26class TeamMember(BaseModel): 27 """ 28 TeamMember 29 """ # noqa: E501 30 31 id: StrictStr = Field(description="Team member id.") 32 role: StrictStr = Field( 33 description=' Role of the team member. * "member": Team member with full member permissions. * "admin": Admin of a team. Team member with permission to manage team. * "non_team": External user, non-team user. * "team_guest": (Deprecated) Team-guest user, user with access only to a team without access to organization. ' 34 ) 35 created_at: Optional[datetime] = Field( 36 default=None, description="Date and time when member was invited to the team.", alias="createdAt" 37 ) 38 created_by: Optional[StrictStr] = Field( 39 default=None, description="Id of the user who invited the team member.", alias="createdBy" 40 ) 41 modified_at: Optional[datetime] = Field( 42 default=None, description="Date and time when the user's membership was last updated.", alias="modifiedAt" 43 ) 44 modified_by: Optional[StrictStr] = Field( 45 default=None, description="Id of the user who last updated the user's membership.", alias="modifiedBy" 46 ) 47 team_id: StrictStr = Field(description="Team id", alias="teamId") 48 type: Optional[StrictStr] = Field(default="team-member", description="Type of the object returned.") 49 additional_properties: Dict[str, Any] = {} 50 __properties: ClassVar[List[str]] = [ 51 "id", 52 "role", 53 "createdAt", 54 "createdBy", 55 "modifiedAt", 56 "modifiedBy", 57 "teamId", 58 "type", 59 ] 60 61 @field_validator("role") 62 def role_validate_enum(cls, value): 63 """Validates the enum""" 64 if value not in set(["non_team", "member", "admin"]): 65 raise ValueError("must be one of enum values ('non_team', 'member', 'admin')") 66 return value 67 68 model_config = { 69 "populate_by_name": True, 70 "validate_assignment": True, 71 "protected_namespaces": (), 72 } 73 74 def to_str(self) -> str: 75 """Returns the string representation of the model using alias""" 76 return pprint.pformat(self.model_dump(by_alias=True)) 77 78 def to_json(self) -> str: 79 """Returns the JSON representation of the model using alias""" 80 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 81 return json.dumps(self.to_dict()) 82 83 @classmethod 84 def from_json(cls, json_str: str) -> Optional[Self]: 85 """Create an instance of TeamMember from a JSON string""" 86 return cls.from_dict(json.loads(json_str)) 87 88 def to_dict(self) -> Dict[str, Any]: 89 """Return the dictionary representation of the model using alias. 90 91 This has the following differences from calling pydantic's 92 `self.model_dump(by_alias=True)`: 93 94 * `None` is only added to the output dict for nullable fields that 95 were set at model initialization. Other fields with value `None` 96 are ignored. 97 * Fields in `self.additional_properties` are added to the output dict. 98 """ 99 excluded_fields: Set[str] = set( 100 [ 101 "additional_properties", 102 ] 103 ) 104 105 _dict = self.model_dump( 106 by_alias=True, 107 exclude=excluded_fields, 108 exclude_none=True, 109 ) 110 # puts key-value pairs in additional_properties in the top level 111 if self.additional_properties is not None: 112 for _key, _value in self.additional_properties.items(): 113 _dict[_key] = _value 114 115 return _dict 116 117 @classmethod 118 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 119 """Create an instance of TeamMember from a dict""" 120 if obj is None: 121 return None 122 123 if not isinstance(obj, dict): 124 return cls.model_validate(obj) 125 126 _obj = cls.model_validate( 127 { 128 "id": obj.get("id"), 129 "role": obj.get("role"), 130 "createdAt": obj.get("createdAt"), 131 "createdBy": obj.get("createdBy"), 132 "modifiedAt": obj.get("modifiedAt"), 133 "modifiedBy": obj.get("modifiedBy"), 134 "teamId": obj.get("teamId"), 135 "type": obj.get("type") if obj.get("type") is not None else "team-member", 136 } 137 ) 138 # store additional fields in additional_properties 139 for _key in obj.keys(): 140 if _key not in cls.__properties: 141 _obj.additional_properties[_key] = obj.get(_key) 142 143 return _obj
27class TeamMember(BaseModel): 28 """ 29 TeamMember 30 """ # noqa: E501 31 32 id: StrictStr = Field(description="Team member id.") 33 role: StrictStr = Field( 34 description=' Role of the team member. * "member": Team member with full member permissions. * "admin": Admin of a team. Team member with permission to manage team. * "non_team": External user, non-team user. * "team_guest": (Deprecated) Team-guest user, user with access only to a team without access to organization. ' 35 ) 36 created_at: Optional[datetime] = Field( 37 default=None, description="Date and time when member was invited to the team.", alias="createdAt" 38 ) 39 created_by: Optional[StrictStr] = Field( 40 default=None, description="Id of the user who invited the team member.", alias="createdBy" 41 ) 42 modified_at: Optional[datetime] = Field( 43 default=None, description="Date and time when the user's membership was last updated.", alias="modifiedAt" 44 ) 45 modified_by: Optional[StrictStr] = Field( 46 default=None, description="Id of the user who last updated the user's membership.", alias="modifiedBy" 47 ) 48 team_id: StrictStr = Field(description="Team id", alias="teamId") 49 type: Optional[StrictStr] = Field(default="team-member", description="Type of the object returned.") 50 additional_properties: Dict[str, Any] = {} 51 __properties: ClassVar[List[str]] = [ 52 "id", 53 "role", 54 "createdAt", 55 "createdBy", 56 "modifiedAt", 57 "modifiedBy", 58 "teamId", 59 "type", 60 ] 61 62 @field_validator("role") 63 def role_validate_enum(cls, value): 64 """Validates the enum""" 65 if value not in set(["non_team", "member", "admin"]): 66 raise ValueError("must be one of enum values ('non_team', 'member', 'admin')") 67 return value 68 69 model_config = { 70 "populate_by_name": True, 71 "validate_assignment": True, 72 "protected_namespaces": (), 73 } 74 75 def to_str(self) -> str: 76 """Returns the string representation of the model using alias""" 77 return pprint.pformat(self.model_dump(by_alias=True)) 78 79 def to_json(self) -> str: 80 """Returns the JSON representation of the model using alias""" 81 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 82 return json.dumps(self.to_dict()) 83 84 @classmethod 85 def from_json(cls, json_str: str) -> Optional[Self]: 86 """Create an instance of TeamMember from a JSON string""" 87 return cls.from_dict(json.loads(json_str)) 88 89 def to_dict(self) -> Dict[str, Any]: 90 """Return the dictionary representation of the model using alias. 91 92 This has the following differences from calling pydantic's 93 `self.model_dump(by_alias=True)`: 94 95 * `None` is only added to the output dict for nullable fields that 96 were set at model initialization. Other fields with value `None` 97 are ignored. 98 * Fields in `self.additional_properties` are added to the output dict. 99 """ 100 excluded_fields: Set[str] = set( 101 [ 102 "additional_properties", 103 ] 104 ) 105 106 _dict = self.model_dump( 107 by_alias=True, 108 exclude=excluded_fields, 109 exclude_none=True, 110 ) 111 # puts key-value pairs in additional_properties in the top level 112 if self.additional_properties is not None: 113 for _key, _value in self.additional_properties.items(): 114 _dict[_key] = _value 115 116 return _dict 117 118 @classmethod 119 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 120 """Create an instance of TeamMember from a dict""" 121 if obj is None: 122 return None 123 124 if not isinstance(obj, dict): 125 return cls.model_validate(obj) 126 127 _obj = cls.model_validate( 128 { 129 "id": obj.get("id"), 130 "role": obj.get("role"), 131 "createdAt": obj.get("createdAt"), 132 "createdBy": obj.get("createdBy"), 133 "modifiedAt": obj.get("modifiedAt"), 134 "modifiedBy": obj.get("modifiedBy"), 135 "teamId": obj.get("teamId"), 136 "type": obj.get("type") if obj.get("type") is not None else "team-member", 137 } 138 ) 139 # store additional fields in additional_properties 140 for _key in obj.keys(): 141 if _key not in cls.__properties: 142 _obj.additional_properties[_key] = obj.get(_key) 143 144 return _obj
TeamMember
62 @field_validator("role") 63 def role_validate_enum(cls, value): 64 """Validates the enum""" 65 if value not in set(["non_team", "member", "admin"]): 66 raise ValueError("must be one of enum values ('non_team', 'member', 'admin')") 67 return value
Validates the enum
75 def to_str(self) -> str: 76 """Returns the string representation of the model using alias""" 77 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
79 def to_json(self) -> str: 80 """Returns the JSON representation of the model using alias""" 81 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 82 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
84 @classmethod 85 def from_json(cls, json_str: str) -> Optional[Self]: 86 """Create an instance of TeamMember from a JSON string""" 87 return cls.from_dict(json.loads(json_str))
Create an instance of TeamMember from a JSON string
89 def to_dict(self) -> Dict[str, Any]: 90 """Return the dictionary representation of the model using alias. 91 92 This has the following differences from calling pydantic's 93 `self.model_dump(by_alias=True)`: 94 95 * `None` is only added to the output dict for nullable fields that 96 were set at model initialization. Other fields with value `None` 97 are ignored. 98 * Fields in `self.additional_properties` are added to the output dict. 99 """ 100 excluded_fields: Set[str] = set( 101 [ 102 "additional_properties", 103 ] 104 ) 105 106 _dict = self.model_dump( 107 by_alias=True, 108 exclude=excluded_fields, 109 exclude_none=True, 110 ) 111 # puts key-value pairs in additional_properties in the top level 112 if self.additional_properties is not None: 113 for _key, _value in self.additional_properties.items(): 114 _dict[_key] = _value 115 116 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.
118 @classmethod 119 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 120 """Create an instance of TeamMember from a dict""" 121 if obj is None: 122 return None 123 124 if not isinstance(obj, dict): 125 return cls.model_validate(obj) 126 127 _obj = cls.model_validate( 128 { 129 "id": obj.get("id"), 130 "role": obj.get("role"), 131 "createdAt": obj.get("createdAt"), 132 "createdBy": obj.get("createdBy"), 133 "modifiedAt": obj.get("modifiedAt"), 134 "modifiedBy": obj.get("modifiedBy"), 135 "teamId": obj.get("teamId"), 136 "type": obj.get("type") if obj.get("type") is not None else "team-member", 137 } 138 ) 139 # store additional fields in additional_properties 140 for _key in obj.keys(): 141 if _key not in cls.__properties: 142 _obj.additional_properties[_key] = obj.get(_key) 143 144 return _obj
Create an instance of TeamMember 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