lenticular_cloud2/libs/ory-hydra-client/ory_hydra_client/models/userinfo_response.py

252 lines
12 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
from typing import List
import attr
from ..types import UNSET, Unset
from ..types import UNSET, Unset
from typing import Union
T = TypeVar("T", bound="UserinfoResponse")
@attr.s(auto_attribs=True)
class UserinfoResponse:
"""The userinfo response
Attributes:
birthdate (Union[Unset, str]): End-User's birthday, represented as an ISO 8601:2004 [ISO86012004] YYYY-MM-DD
format. The year MAY be 0000, indicating that it is omitted. To represent only the year, YYYY format is allowed.
Note that depending on the underlying platform's date related function, providing just year can result in
varying month and day, so the implementers need to take this factor into account to correctly process the dates.
email (Union[Unset, str]): End-User's preferred e-mail address. Its value MUST conform to the RFC 5322 [RFC5322]
addr-spec syntax. The RP MUST NOT rely upon this value being unique, as discussed in Section 5.7.
email_verified (Union[Unset, bool]): True if the End-User's e-mail address has been verified; otherwise false.
When this Claim Value is true, this means that the OP took affirmative steps to ensure that this e-mail address
was controlled by the End-User at the time the verification was performed. The means by which an e-mail address
is verified is context-specific, and dependent upon the trust framework or contractual agreements within which
the parties are operating.
family_name (Union[Unset, str]): Surname(s) or last name(s) of the End-User. Note that in some cultures, people
can have multiple family names or no family name; all can be present, with the names being separated by space
characters.
gender (Union[Unset, str]): End-User's gender. Values defined by this specification are female and male. Other
values MAY be used when neither of the defined values are applicable.
given_name (Union[Unset, str]): Given name(s) or first name(s) of the End-User. Note that in some cultures,
people can have multiple given names; all can be present, with the names being separated by space characters.
locale (Union[Unset, str]): End-User's locale, represented as a BCP47 [RFC5646] language tag. This is typically
an ISO 639-1 Alpha-2 [ISO6391] language code in lowercase and an ISO 3166-1 Alpha-2 [ISO31661] country code in
uppercase, separated by a dash. For example, en-US or fr-CA. As a compatibility note, some implementations have
used an underscore as the separator rather than a dash, for example, en_US; Relying Parties MAY choose to accept
this locale syntax as well.
middle_name (Union[Unset, str]): Middle name(s) of the End-User. Note that in some cultures, people can have
multiple middle names; all can be present, with the names being separated by space characters. Also note that in
some cultures, middle names are not used.
name (Union[Unset, str]): End-User's full name in displayable form including all name parts, possibly including
titles and suffixes, ordered according to the End-User's locale and preferences.
nickname (Union[Unset, str]): Casual name of the End-User that may or may not be the same as the given_name. For
instance, a nickname value of Mike might be returned alongside a given_name value of Michael.
phone_number (Union[Unset, str]): End-User's preferred telephone number. E.164 [E.164] is RECOMMENDED as the
format of this Claim, for example, +1 (425) 555-1212 or +56 (2) 687 2400. If the phone number contains an
extension, it is RECOMMENDED that the extension be represented using the RFC 3966 [RFC3966] extension syntax,
for example, +1 (604) 555-1234;ext=5678.
phone_number_verified (Union[Unset, bool]): True if the End-User's phone number has been verified; otherwise
false. When this Claim Value is true, this means that the OP took affirmative steps to ensure that this phone
number was controlled by the End-User at the time the verification was performed. The means by which a phone
number is verified is context-specific, and dependent upon the trust framework or contractual agreements within
which the parties are operating. When true, the phone_number Claim MUST be in E.164 format and any extensions
MUST be represented in RFC 3966 format.
picture (Union[Unset, str]): URL of the End-User's profile picture. This URL MUST refer to an image file (for
example, a PNG, JPEG, or GIF image file), rather than to a Web page containing an image. Note that this URL
SHOULD specifically reference a profile photo of the End-User suitable for displaying when describing the End-
User, rather than an arbitrary photo taken by the End-User.
preferred_username (Union[Unset, str]): Non-unique shorthand name by which the End-User wishes to be referred to
at the RP, such as janedoe or j.doe. This value MAY be any valid JSON string including special characters such
as @, /, or whitespace.
profile (Union[Unset, str]): URL of the End-User's profile page. The contents of this Web page SHOULD be about
the End-User.
sub (Union[Unset, str]): Subject - Identifier for the End-User at the IssuerURL.
updated_at (Union[Unset, int]): Time the End-User's information was last updated. Its value is a JSON number
representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.
website (Union[Unset, str]): URL of the End-User's Web page or blog. This Web page SHOULD contain information
published by the End-User or an organization that the End-User is affiliated with.
zoneinfo (Union[Unset, str]): String from zoneinfo [zoneinfo] time zone database representing the End-User's
time zone. For example, Europe/Paris or America/Los_Angeles.
"""
birthdate: Union[Unset, str] = UNSET
email: Union[Unset, str] = UNSET
email_verified: Union[Unset, bool] = UNSET
family_name: Union[Unset, str] = UNSET
gender: Union[Unset, str] = UNSET
given_name: Union[Unset, str] = UNSET
locale: Union[Unset, str] = UNSET
middle_name: Union[Unset, str] = UNSET
name: Union[Unset, str] = UNSET
nickname: Union[Unset, str] = UNSET
phone_number: Union[Unset, str] = UNSET
phone_number_verified: Union[Unset, bool] = UNSET
picture: Union[Unset, str] = UNSET
preferred_username: Union[Unset, str] = UNSET
profile: Union[Unset, str] = UNSET
sub: Union[Unset, str] = UNSET
updated_at: Union[Unset, int] = UNSET
website: Union[Unset, str] = UNSET
zoneinfo: Union[Unset, str] = UNSET
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
def to_dict(self) -> Dict[str, Any]:
birthdate = self.birthdate
email = self.email
email_verified = self.email_verified
family_name = self.family_name
gender = self.gender
given_name = self.given_name
locale = self.locale
middle_name = self.middle_name
name = self.name
nickname = self.nickname
phone_number = self.phone_number
phone_number_verified = self.phone_number_verified
picture = self.picture
preferred_username = self.preferred_username
profile = self.profile
sub = self.sub
updated_at = self.updated_at
website = self.website
zoneinfo = self.zoneinfo
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
field_dict.update({
})
if birthdate is not UNSET:
field_dict["birthdate"] = birthdate
if email is not UNSET:
field_dict["email"] = email
if email_verified is not UNSET:
field_dict["email_verified"] = email_verified
if family_name is not UNSET:
field_dict["family_name"] = family_name
if gender is not UNSET:
field_dict["gender"] = gender
if given_name is not UNSET:
field_dict["given_name"] = given_name
if locale is not UNSET:
field_dict["locale"] = locale
if middle_name is not UNSET:
field_dict["middle_name"] = middle_name
if name is not UNSET:
field_dict["name"] = name
if nickname is not UNSET:
field_dict["nickname"] = nickname
if phone_number is not UNSET:
field_dict["phone_number"] = phone_number
if phone_number_verified is not UNSET:
field_dict["phone_number_verified"] = phone_number_verified
if picture is not UNSET:
field_dict["picture"] = picture
if preferred_username is not UNSET:
field_dict["preferred_username"] = preferred_username
if profile is not UNSET:
field_dict["profile"] = profile
if sub is not UNSET:
field_dict["sub"] = sub
if updated_at is not UNSET:
field_dict["updated_at"] = updated_at
if website is not UNSET:
field_dict["website"] = website
if zoneinfo is not UNSET:
field_dict["zoneinfo"] = zoneinfo
return field_dict
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
_d = src_dict.copy()
birthdate = _d.pop("birthdate", UNSET)
email = _d.pop("email", UNSET)
email_verified = _d.pop("email_verified", UNSET)
family_name = _d.pop("family_name", UNSET)
gender = _d.pop("gender", UNSET)
given_name = _d.pop("given_name", UNSET)
locale = _d.pop("locale", UNSET)
middle_name = _d.pop("middle_name", UNSET)
name = _d.pop("name", UNSET)
nickname = _d.pop("nickname", UNSET)
phone_number = _d.pop("phone_number", UNSET)
phone_number_verified = _d.pop("phone_number_verified", UNSET)
picture = _d.pop("picture", UNSET)
preferred_username = _d.pop("preferred_username", UNSET)
profile = _d.pop("profile", UNSET)
sub = _d.pop("sub", UNSET)
updated_at = _d.pop("updated_at", UNSET)
website = _d.pop("website", UNSET)
zoneinfo = _d.pop("zoneinfo", UNSET)
userinfo_response = cls(
birthdate=birthdate,
email=email,
email_verified=email_verified,
family_name=family_name,
gender=gender,
given_name=given_name,
locale=locale,
middle_name=middle_name,
name=name,
nickname=nickname,
phone_number=phone_number,
phone_number_verified=phone_number_verified,
picture=picture,
preferred_username=preferred_username,
profile=profile,
sub=sub,
updated_at=updated_at,
website=website,
zoneinfo=zoneinfo,
)
userinfo_response.additional_properties = _d
return userinfo_response
@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