From 9cb2265a97f1ad2d9c8044c01738e32241720eb2 Mon Sep 17 00:00:00 2001 From: balint1414 Date: Sun, 12 Oct 2025 20:34:54 +0200 Subject: [PATCH] =?UTF-8?q?Adatb=C3=A1zisba=20ment=C3=A9s:=20k=C3=A9sz=20h?= =?UTF-8?q?=C3=A1zik?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/models/homework_cache_model.dart | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/firka/lib/helpers/db/models/homework_cache_model.dart b/firka/lib/helpers/db/models/homework_cache_model.dart index 6ab664b..1090ad7 100644 --- a/firka/lib/helpers/db/models/homework_cache_model.dart +++ b/firka/lib/helpers/db/models/homework_cache_model.dart @@ -27,3 +27,40 @@ Future resetOldHomeworkCache(Isar isar) async { await isar.homeworkCacheModels.deleteAll(weeksToRemove); }); } + +@collection +class HomeworkDoneModel { + Id? id; + + late String homeworkId; + late DateTime doneAt; + + HomeworkDoneModel(); + +} +Future markAsDone(Isar isar, String homeWorkUid) async { + await isar.writeTxn(() async { + await isar.homeworkDoneModels.put(HomeworkDoneModel() + ..homeworkId = homeWorkUid + ..doneAt = DateTime.now()); + }); +} + +Future markAsNotDone(Isar isar, String homeWorkUid) async { + await isar.writeTxn(() async { + final idsToDelete = await isar.homeworkDoneModels + .filter() + .homeworkIdEqualTo(homeWorkUid) + .idProperty() + .findAll(); + await isar.homeworkDoneModels.deleteAll(idsToDelete); + }); +} + +Future isHomeworkDone(Isar isar, String homeWorkUid) async { + var existing = await isar.homeworkDoneModels + .filter() + .homeworkIdEqualTo(homeWorkUid) + .findFirst(); + return existing != null; +} \ No newline at end of file