131 lines
3.4 KiB
Python
131 lines
3.4 KiB
Python
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]
|
|
|
|
"""
|
|
... |