138 lines
5.0 KiB
Python
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())
|