ClipSync/Server/Models/BaseModels/DB.py

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]
"""
...