Source code for pylibrelinkup.models.login

from typing import List

from pydantic import Field

from .base import ConfigBaseModel

__all__ = [
    "Llu",
    "Consents",
    "SystemMessages",
    "System",
    "User",
    "Notifications",
    "DataMessages",
    "AuthTicket",
    "Data",
    "LoginResponse",
    "ErrorMessage",
    "LoginResponseUnauthenticated",
    "LoginRedirectData",
    "LoginRedirectResponse",
    "LoginArgs",
]


[docs] class Llu(ConfigBaseModel): policyAccept: int = Field(default=0) touAccept: int = Field(default=0)
class HistoryItem(ConfigBaseModel): policyAccept: int = Field(default=0) declined: bool | None = None class RealWorldEvidence(ConfigBaseModel): policyAccept: int = Field(default=0) declined: bool = False touAccept: int = Field(default=0) history: List[HistoryItem] = []
[docs] class Consents(ConfigBaseModel): llu: Llu = Llu() realWorldEvidence: RealWorldEvidence = RealWorldEvidence()
[docs] class SystemMessages(ConfigBaseModel): firstUsePhoenix: int = Field(default=0) firstUsePhoenixReportsDataMerged: int = Field(default=0) lluGettingStartedBanner: int = Field(default=0) lluNewFeatureModal: int = Field(default=0) lluOnboarding: int = Field(default=0) lvWebPostRelease: str = Field(default="")
[docs] class System(ConfigBaseModel): messages: SystemMessages
[docs] class User(ConfigBaseModel): id: str = Field(default="") firstName: str = Field(default="") lastName: str = Field(default="") email: str = Field(default="") country: str = Field(default="") uiLanguage: str = Field(default="") communicationLanguage: str = Field(default="") accountType: str = Field(default="") uom: str = Field(default="") dateFormat: str = Field(default="") timeFormat: str = Field(default="") emailDay: List[int] system: System details: dict created: int lastLogin: int programs: dict dateOfBirth: int practices: dict devices: dict consents: Consents
[docs] class Notifications(ConfigBaseModel): unresolved: int = Field(default=0)
[docs] class DataMessages(ConfigBaseModel): unread: int = Field(default=0)
[docs] class AuthTicket(ConfigBaseModel): token: str = Field(default="") expires: int = Field(default=0) duration: int = Field(default=0)
[docs] class Data(ConfigBaseModel): user: User messages: DataMessages notifications: Notifications authTicket: AuthTicket invitations: List[str]
[docs] class LoginResponse(ConfigBaseModel): status: int = Field(default=0) data: Data
[docs] class ErrorMessage(ConfigBaseModel): message: str = Field(default="")
[docs] class LoginResponseUnauthenticated(ConfigBaseModel): status: int = Field(default=0) error: ErrorMessage
[docs] class LoginRedirectData(ConfigBaseModel): redirect: bool = Field(default=False) region: str = Field(default="")
[docs] class LoginRedirectResponse(ConfigBaseModel): status: int = Field(default=0) data: LoginRedirectData
[docs] class LoginArgs(ConfigBaseModel): email: str = Field(default="") password: str = Field(default="")