diff --git a/db/SQLiteClient.py b/db/SQLiteClient.py index ae9bb5f..aa65254 100644 --- a/db/SQLiteClient.py +++ b/db/SQLiteClient.py @@ -140,6 +140,16 @@ def get_habitTrackings(id: int): return habit_tracking +def get_habitTrackings_by_habit_id(habit_id: int): + query = f"SELECT * FROM habit_trackings WHERE habit_id = {habit_id};" + conn = con3() + cursor = conn.cursor() + cursor.execute(query) + habit_trackings = cursor.fetchall() + conn.close() + return habit_trackings + + def delete_habitTrackings(id: int): query = f"DELETE FROM habit_trackings WHERE id = {id};" conn = con3() diff --git a/models/Habit.py b/models/Habit.py index 812330f..3d70bcb 100644 --- a/models/Habit.py +++ b/models/Habit.py @@ -1,5 +1,7 @@ from dataclasses import dataclass -from db.SQLiteClient import create_habit, get_habit, delete_habit, get_next_slot +from db.SQLiteClient import create_habit, get_habit, delete_habit, get_next_slot, get_habitTrackings_by_habit_id +from models.HabitTrackings import HabitTrackings +from models.User import User # Unit wird als Integers wie folgt gemessen: @@ -32,3 +34,9 @@ class Habit: @staticmethod def delete(id: int): delete_habit(id) + + def get_user(self): + return User.get(self.user_id) + + def get_habitTrackings(self) -> list[HabitTrackings]: + return get_habitTrackings_by_habit_id(self.id) diff --git a/models/HabitTrackings.py b/models/HabitTrackings.py index 4374551..1287cf7 100644 --- a/models/HabitTrackings.py +++ b/models/HabitTrackings.py @@ -18,6 +18,5 @@ class HabitTrackings: habitTrackings = get_habitTrackings(id) return HabitTrackings(habitTrackings[0], habitTrackings[1], habitTrackings[2]) if habitTrackings else None - @staticmethod - def delete(id: int): - delete_habitTrackings(id) + def delete(self): + delete_habitTrackings(self.id)