from typing import Union,List from Models.BaseModels.Clipboard import Clipboard from Models.BaseModels.Notification import Notification class BaseDb: """ DB Model """ def first_run()->None: """ Dans cette fonction on créé la database ainsi que les différentes collections de celle-ci """ ... def authentificate_user(username, password)->Union[bool, str]: """ Cette fonction authentifie un user, elle retourne un token si l'authentification a reussi args: username: str (le nom d'utilisateur) password: str (le mot de passe) return: Union[bool, str] """ ... def register(username, password) -> bool: """ Cette fonction register un user, elle retourne True si l'operation a réussi args: username: str (le nom d'utilisateur) password: str (le mot de passe) return: bool """ ... ### def add_notification(token, title, content, device_name) -> bool: """ Cette fonction ajoute une notification dans la DB, elle retourne True si l'operation a réussi args: token: str (token d'identification de l'utilisateur) title: str (titre de la notification) content: str (contenu de la notification) device_name: str (nom de l'appareil duquel vient la notification) return: bool """ ... def get_notification(token)->Union[bool, List[Notification]]: """ Trouve les notifications dans la DB args: token: str (token d'identification de l'utilisateur) return: Union[bool, List[Notification] """ ... def get_notification_by_id(token, id) -> Union[bool, Notification]: """ Trouve une notification dans la DB, retourne la notification si trouvée, ou False args: token: str (token d'identification de l'utilisateur) id: str (identifiant de la notification) return: Union[bool, Notification] """ ... ### def add_clipboard(token, content, device_name) -> bool: """ Cette fonction ajoute le contenu du clipboard dans la DB, elle retourne True si l'operation a réussi args: token: str (token d'identification de l'utilisateur) content: str (contenu de la copie) device_name: str (nom de l'appareil duquel vient le clipboard) return: bool """ ... def get_clipboard(token) -> Union[bool, List[Clipboard]]: """ Trouve les clipboard dans la DB args: token: str (token d'identification de l'utilisateur) return: Union[bool, List[Clipboard] """ ... def get_clipboard_by_id(token, id) -> Union[bool, Clipboard]: """ Trouve un clipboard dans la DB, retourne le clipboard si trouvé, ou False args: token: str (token d'identification de l'utilisateur) id: str (identifiant du clipboard) return: Union[bool, Clipboard] """ ...