from typing import Any, TypeVar, Union from attrs import define as _attrs_define from attrs import field as _attrs_field from ..types import UNSET, Unset T = TypeVar("T", bound="PatchedChangePassword") @_attrs_define class PatchedChangePassword: """ Attributes: old_password (Union[Unset, str]): old_password_field (Union[Unset, str]): Default: 'password'. new_password (Union[Unset, str]): """ old_password: Union[Unset, str] = UNSET old_password_field: Union[Unset, str] = "password" new_password: Union[Unset, str] = UNSET additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> dict[str, Any]: old_password = self.old_password old_password_field = self.old_password_field new_password = self.new_password field_dict: dict[str, Any] = {} field_dict.update(self.additional_properties) field_dict.update({}) if old_password is not UNSET: field_dict["old_password"] = old_password if old_password_field is not UNSET: field_dict["old_password_field"] = old_password_field if new_password is not UNSET: field_dict["new_password"] = new_password return field_dict @classmethod def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: d = src_dict.copy() old_password = d.pop("old_password", UNSET) old_password_field = d.pop("old_password_field", UNSET) new_password = d.pop("new_password", UNSET) patched_change_password = cls( old_password=old_password, old_password_field=old_password_field, new_password=new_password, ) patched_change_password.additional_properties = d return patched_change_password @property def additional_keys(self) -> list[str]: return list(self.additional_properties.keys()) def __getitem__(self, key: str) -> Any: return self.additional_properties[key] def __setitem__(self, key: str, value: Any) -> None: self.additional_properties[key] = value def __delitem__(self, key: str) -> None: del self.additional_properties[key] def __contains__(self, key: str) -> bool: return key in self.additional_properties