Source code for climb.db._db

import abc
from typing import List

from climb.common import Session, UserSettings


# TODO: Some unique identifier for the user.
[docs] class DB(abc.ABC):
[docs] @abc.abstractmethod def update_user_settings(self, settings: UserSettings) -> None: ...
[docs] @abc.abstractmethod def get_user_settings(self) -> UserSettings: ...
[docs] @abc.abstractmethod def update_session(self, session: Session) -> None: ...
[docs] @abc.abstractmethod def get_session(self, session_key: str) -> Session: ...
[docs] @abc.abstractmethod def get_all_sessions(self) -> List[Session]: ...
[docs] @abc.abstractmethod def delete_session(self, session_key: str) -> None: ...