Update User

Function
This commit is contained in:
Yapollon 2024-01-26 08:10:36 +01:00
parent f66d03c84d
commit a476ab2f34
2 changed files with 24 additions and 5 deletions

View File

@ -41,6 +41,16 @@ def get_user_by_email(email: str):
return user return user
def update_user(id: int, name: str, email: str, password: str):
query = f"UPDATE users SET name = {name}, email = {email}, password = {password} WHERE id = {id};"
conn = con3()
cursor = conn.cursor()
cursor.execute(query)
user = cursor.fetchone()
conn.close()
return cursor.lastrowid
def delete_user(id: int): def delete_user(id: int):
query = f"DELETE FROM habits WHERE user_id = {id};" query = f"DELETE FROM habits WHERE user_id = {id};"
query2 = f"DELETE FROM users WHERE id = {id};" query2 = f"DELETE FROM users WHERE id = {id};"
@ -50,6 +60,7 @@ def delete_user(id: int):
cursor.execute(query2) cursor.execute(query2)
conn.commit() conn.commit()
conn.close() conn.close()
return cursor.lastrowid
def create_habit(user_id: int, name: str, times: int, unit: int, slot: int, note: str | None=None): def create_habit(user_id: int, name: str, times: int, unit: int, slot: int, note: str | None=None):

View File

@ -1,5 +1,5 @@
from flask_login import UserMixin from flask_login import UserMixin
from db.SQLiteClient import create_user, get_user, get_user_by_email, get_habits, delete_user from db.SQLiteClient import create_user, get_user, get_user_by_email, get_habits, delete_user, update_user
from models.Habit import Habit from models.Habit import Habit
@ -25,9 +25,17 @@ class User(UserMixin):
user = get_user_by_email(email) user = get_user_by_email(email)
return User(user[0], user[1], user[2], user[3]) if user else None return User(user[0], user[1], user[2], user[3]) if user else None
@staticmethod def update(self, name: str = None, email: str = None, password: str = None):
def delete(id: id): update_user(self.id, name, email, password)
delete_user(id) if name is not None:
self.name = name
if email is not None:
self.email = email
if password is not None:
self.password = password
def delete(self):
delete_user(self.id)
def get_habits(self): def get_habits(self):
raw_habits = get_habits(self.id) raw_habits = get_habits(self.id)
@ -35,4 +43,4 @@ class User(UserMixin):
for habit in raw_habits: for habit in raw_habits:
habit = Habit(habit[0], habit[1], habit[2], habit[3], habit[4], habit[5], habit[6]) habit = Habit(habit[0], habit[1], habit[2], habit[3], habit[4], habit[5], habit[6])
habits.append(habit) habits.append(habit)
return habits return habits