some progress in goal planner again

This commit is contained in:
Kima
2023-08-29 00:24:57 +02:00
parent d524d452bd
commit 40dd967903
9 changed files with 445 additions and 26 deletions

View File

@@ -114,7 +114,8 @@ class App extends StatelessWidget {
ChangeNotifierProvider<ExamProvider>(
create: (context) => ExamProvider(context: context)),
ChangeNotifierProvider<HomeworkProvider>(
create: (context) => HomeworkProvider(context: context)),
create: (context) =>
HomeworkProvider(context: context, database: database)),
ChangeNotifierProvider<MessageProvider>(
create: (context) => MessageProvider(context: context)),
ChangeNotifierProvider<NoteProvider>(

View File

@@ -50,6 +50,7 @@ const userDataDB = DatabaseStruct("user_data", {
"goal_plans": String,
"goal_averages": String,
"goal_befores": String,
"goal_pin_dates": String,
});
Future<void> createTable(Database db, DatabaseStruct struct) =>
@@ -105,6 +106,7 @@ Future<Database> initDB(DatabaseProvider database) async {
"goal_plans": "{}",
"goal_averages": "{}",
"goal_befores": "{}",
"goal_pin_dates": "{}",
});
} catch (error) {
print("ERROR: migrateDB: $error");

View File

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

View File

@@ -163,4 +163,11 @@ class UserDatabaseStore {
await db.update("user_data", {"goal_befores": goalBeforesJson},
where: "id = ?", whereArgs: [userId]);
}
Future<void> storeSubjectGoalPinDates(Map<String, String> dates,
{required String userId}) async {
String goalPinDatesJson = jsonEncode(dates);
await db.update("user_data", {"goal_pin_dates": goalPinDatesJson},
where: "id = ?", whereArgs: [userId]);
}
}