mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-28 21:12:16 +00:00
* add remember attribute to user * don't save hist if not remember * remove routines on exit if not remember * fix unittests * remove hub routines on exit * check if user is local first * remove hist file on exit if not remember * comma * Fix `exe --file` choices on login (#4799) * download and save routines in sync, to have choices immediatly available * fix: docs min --------- Co-authored-by: jose-donato <zmcdonato@gmail.com> Co-authored-by: James Maslek <jmaslek11@gmail.com> --------- Co-authored-by: jose-donato <zmcdonato@gmail.com> Co-authored-by: James Maslek <jmaslek11@gmail.com>
84 lines
1.9 KiB
Python
84 lines
1.9 KiB
Python
from typing import Dict
|
|
|
|
from pydantic.dataclasses import dataclass
|
|
|
|
from openbb_terminal.core.models import BaseModel
|
|
|
|
|
|
@dataclass(config=dict(validate_assignment=True, frozen=True))
|
|
class ProfileModel(BaseModel):
|
|
"""Data model for profile."""
|
|
|
|
token_type: str = ""
|
|
token: str = ""
|
|
uuid: str = ""
|
|
email: str = ""
|
|
username: str = ""
|
|
remember: bool = True
|
|
|
|
def load_user_info(self, session: dict, email: str, remember: bool):
|
|
"""Load user info from login info.
|
|
|
|
Parameters
|
|
----------
|
|
session : dict
|
|
The login info.
|
|
email : str
|
|
The email.
|
|
remember : bool
|
|
Remember the session.
|
|
"""
|
|
self.token_type = session.get("token_type", "")
|
|
self.token = session.get("access_token", "")
|
|
self.uuid = session.get("uuid", "")
|
|
self.email = email
|
|
self.username = self.email[: self.email.find("@")]
|
|
self.remember = remember
|
|
|
|
def get_uuid(self) -> str:
|
|
"""Get uuid.
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
The uuid.
|
|
"""
|
|
return self.uuid
|
|
|
|
def get_token(self) -> str:
|
|
"""Get token.
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
The token.
|
|
"""
|
|
return self.token
|
|
|
|
def get_session(self) -> Dict[str, str]:
|
|
"""Get session info.
|
|
|
|
Returns
|
|
-------
|
|
Dict[str, str]
|
|
The session info.
|
|
"""
|
|
return {
|
|
"token_type": self.token_type,
|
|
"access_token": self.token,
|
|
"uuid": self.uuid,
|
|
}
|
|
|
|
def get_auth_header(self) -> str:
|
|
"""Get auth header.
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
The auth header, e.g. "Bearer <token>".
|
|
"""
|
|
return f"{self.token_type.title()} {self.token}"
|
|
|
|
def __repr__(self) -> str: # pylint: disable=useless-super-delegation
|
|
return super().__repr__()
|