oxycardio/oxyapp/database.py
2020-12-22 11:10:20 +01:00

138 lines
5.0 KiB
Python

import pymysql
from oxyapp.utils import tupleToList
db_location = pymysql.connect(host='azrod-server.ovh', port=3306, user='access', passwd='PROJET2607',
db='projet', autocommit=True)
# Récupère tous les utilisateurs
def list_users():
try:
with db_location.cursor() as _conn:
_conn.execute("SELECT id, Nom, Prenom, Tel, Privilege FROM `users` ORDER BY `ID` ASC;")
result = _conn.fetchall()
return result
finally:
_conn.close()
# Récupère tous les patients
def list_patient(idManage):
try:
with db_location.cursor() as _conn:
_conn.execute("SELECT users.ID, users.Nom, users.Prenom, users.Tel, access.UserAccess FROM users "
"LEFT JOIN access ON access.UserAccess = '" + str(idManage) + "' AND "
"users.ID = access.AccessedUser WHERE users.Privilege = 'patient' ORDER BY users.ID ASC;")
result = _conn.fetchall()
list_final = tupleToList(result, idManage)
return list_final
finally:
_conn.close()
# Vérifie les données de connexion - AUCUN CRYPTAGE CAR PROJET mais essentiel à rajouter par la suite
def login_verify(nom, prenom, pw):
try:
with db_location.cursor() as _conn:
_conn.execute(
"SELECT id, nom, prenom, password, privilege FROM users WHERE nom = '" + nom + "' AND password = '" +
pw + "' AND prenom = '" + prenom + "';")
row = []
for row in _conn:
print(row)
return row
finally:
_conn.close()
# Permet de récupérer l'utilisateur pour envoyer message - a modifier pour envoyer à un numéro spécifique
def messageSendToID(id):
try:
with db_location.cursor() as _conn:
result = _conn.execute("SELECT id, nom, prenom FROM users WHERE id = '" + str(id) + "';")
return result
finally:
_conn.close()
# Permet de récupérer les données de localisations d'un utilisateur
def getLocalisation(id):
try:
with db_location.cursor() as _conn:
_conn.execute(
"SELECT data.latitude, data.longitude FROM data, users WHERE users.ID = '" + str(id) + "' AND data.User = '" + str(id) + "' "
"ORDER BY data.ID DESC LIMIT 1;")
row = []
for row in _conn:
print(row)
return row
finally:
_conn.close()
# Récupère les données vitales d'un utilisateurs
def getDataUser(id):
try:
with db_location.cursor() as _conn:
_conn.execute(
"SELECT users.prenom, users.nom, data.bpm, data.oxy, data.chute FROM data, users WHERE users.ID = '" +
str(id) + "' AND data.User = '" + str(id) + "' ORDER BY data.ID DESC LIMIT 1;")
row = []
for row in _conn:
print(row)
return row
finally:
_conn.close()
# Ajoutes un utilisateurs
def add_user(name, prenom, number, pw, rank):
try:
with db_location.cursor() as _conn:
var = ""
if str(rank) == "Patient":
rank = "patient"
var = "INSERT INTO users (ID, Nom, Prenom, Password, Privilege, Tel) VALUES (NULL , '" + name \
+ "', '" + prenom + "', '" + pw + "', '" + rank + "', '" + number + "');"
if str(rank) == "Proche":
rank = "proche"
var = "INSERT INTO users (ID, Nom, Prenom, Password, Privilege, Tel) VALUES (NULL , '" + name \
+ "', '" + prenom + "', '" + pw + "', '" + rank + "', '" + number + "');"
if str(rank) == "Personnel Médical":
rank = "med"
var = "INSERT INTO users (ID, Nom, Prenom, Password, Privilege, Tel) VALUES (NULL , '" + name \
+ "', '" + prenom + "', '" + pw + "', '" + rank + "', '" + number + "');"
if str(rank) == "Administrateur":
rank = "admin"
var = "INSERT INTO users (ID, Nom, Prenom, Password, Privilege, Tel) VALUES (NULL , '" + name \
+ "', '" + prenom + "', '" + pw + "', '" + rank + "', '" + number + "');"
result = _conn.execute(var)
return result
finally:
_conn.close()
# Permet de confirmer l'existence d'un utilisateur
def confirm_user(name, prenom, id):
try:
with db_location.cursor() as _conn:
# Requête SQL
result = _conn.execute("SELECT id, nom, prenom FROM users WHERE id = '" + id + "' AND nom = '" +
name + "' AND prenom = '" + prenom + "';")
return result
finally:
_conn.close()
# Permet de supprimer un utilisateur
def delete_user_from_db(id): # Ajouter la suppresion liens entre proches et les data
try:
with db_location.cursor() as _conn:
_conn.execute("DELETE FROM users WHERE id = '" + id + "';")
finally:
_conn.close()
if __name__ == "__main__":
print(list_users())