Source code for pydelfini.delfini_core.models.update_user
from typing import Any
from typing import Dict
from typing import Type
from typing import TypeVar
from typing import Union
from attrs import define as _attrs_define
from ..models.update_user_metadata import UpdateUserMetadata
from ..models.visibility_level import VisibilityLevel
from ..types import UNSET
from ..types import Unset
T = TypeVar("T", bound="UpdateUser")
[docs]
@_attrs_define
class UpdateUser:
"""Update properties of the user
Attributes:
given_name (Union[Unset, str]):
last_name (Union[Unset, str]):
metadata (Union[Unset, UpdateUserMetadata]):
password (Union[Unset, str]):
user_email (Union[Unset, str]):
user_name (Union[Unset, str]):
visibility_level (Union[Unset, VisibilityLevel]):
"""
given_name: Union[Unset, str] = UNSET
last_name: Union[Unset, str] = UNSET
metadata: Union[Unset, "UpdateUserMetadata"] = UNSET
password: Union[Unset, str] = UNSET
user_email: Union[Unset, str] = UNSET
user_name: Union[Unset, str] = UNSET
visibility_level: Union[Unset, VisibilityLevel] = UNSET
[docs]
def to_dict(self) -> Dict[str, Any]:
"""Convert to a dict"""
given_name = self.given_name
last_name = self.last_name
metadata: Union[Unset, Dict[str, Any]] = UNSET
if not isinstance(self.metadata, Unset):
metadata = self.metadata.to_dict()
password = self.password
user_email = self.user_email
user_name = self.user_name
visibility_level: Union[Unset, str] = UNSET
if not isinstance(self.visibility_level, Unset):
visibility_level = self.visibility_level.value
field_dict: Dict[str, Any] = {}
field_dict.update({})
if given_name is not UNSET:
field_dict["given_name"] = given_name
if last_name is not UNSET:
field_dict["last_name"] = last_name
if metadata is not UNSET:
field_dict["metadata"] = metadata
if password is not UNSET:
field_dict["password"] = password
if user_email is not UNSET:
field_dict["user_email"] = user_email
if user_name is not UNSET:
field_dict["user_name"] = user_name
if visibility_level is not UNSET:
field_dict["visibility_level"] = visibility_level
return field_dict
[docs]
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
"""Create an instance of :py:class:`UpdateUser` from a dict"""
d = src_dict.copy()
given_name = d.pop("given_name", UNSET)
last_name = d.pop("last_name", UNSET)
_metadata = d.pop("metadata", UNSET)
metadata: Union[Unset, UpdateUserMetadata]
if isinstance(_metadata, Unset):
metadata = UNSET
else:
metadata = UpdateUserMetadata.from_dict(_metadata)
password = d.pop("password", UNSET)
user_email = d.pop("user_email", UNSET)
user_name = d.pop("user_name", UNSET)
_visibility_level = d.pop("visibility_level", UNSET)
visibility_level: Union[Unset, VisibilityLevel]
if isinstance(_visibility_level, Unset):
visibility_level = UNSET
else:
visibility_level = VisibilityLevel(_visibility_level)
update_user = cls(
given_name=given_name,
last_name=last_name,
metadata=metadata,
password=password,
user_email=user_email,
user_name=user_name,
visibility_level=visibility_level,
)
return update_user