setted goal plans can be saved now

This commit is contained in:
Kima
2023-08-28 02:33:39 +02:00
parent 3e470981a8
commit 0ac0586fba
7 changed files with 467 additions and 364 deletions

View File

@@ -46,6 +46,8 @@ const userDataDB = DatabaseStruct("user_data", {
"renamed_teachers": String,
// "subject_lesson_count": String, // non kreta data
"last_seen_grade": int,
// goal plans // non kreta data
"goal_plans": String,
});
Future<void> createTable(Database db, DatabaseStruct struct) =>
@@ -97,6 +99,8 @@ Future<Database> initDB(DatabaseProvider database) async {
"renamed_teachers": "{}",
// "subject_lesson_count": "{}", // non kreta data
"last_seen_grade": 0,
// goal plans // non kreta data
"goal_plans": "{}",
});
} catch (error) {
print("ERROR: migrateDB: $error");

View File

@@ -213,4 +213,15 @@ class UserDatabaseQuery {
return (jsonDecode(renamedTeachersJson) as Map)
.map((key, value) => MapEntry(key.toString(), value.toString()));
}
Future<Map<String, String>> subjectGoalPlans({required String userId}) async {
List<Map> userData =
await db.query("user_data", where: "id = ?", whereArgs: [userId]);
if (userData.isEmpty) return {};
String? goalPlansJson =
userData.elementAt(0)["goal_plans"] as String?;
if (goalPlansJson == null) return {};
return (jsonDecode(goalPlansJson) as Map)
.map((key, value) => MapEntry(key.toString(), value.toString()));
}
}

View File

@@ -140,4 +140,11 @@ class UserDatabaseStore {
await db.update("user_data", {"renamed_teachers": renamedTeachersJson},
where: "id = ?", whereArgs: [userId]);
}
Future<void> storeSubjectGoalPlans(Map<String, String> plans,
{required String userId}) async {
String goalPlansJson = jsonEncode(plans);
await db.update("user_data", {"goal_plans": goalPlansJson},
where: "id = ?", whereArgs: [userId]);
}
}