finished customizable grade rarities

This commit is contained in:
Kima
2024-02-11 14:27:15 +01:00
parent 4b2b90be8e
commit 06247a160d
8 changed files with 253 additions and 11 deletions

View File

@@ -67,6 +67,7 @@ const userDataDB = DatabaseStruct("user_data", {
"todo_items": String, "self_notes": String,
// v5 shit
"roundings": String,
"grade_rarities": String,
});
Future<void> createTable(Database db, DatabaseStruct struct) =>
@@ -128,6 +129,7 @@ Future<Database> initDB(DatabaseProvider database) async {
"todo_items": "{}", "self_notes": "[]",
// v5 shit
"roundings": "{}",
"grade_rarities": "{}",
});
} catch (error) {
print("ERROR: migrateDB: $error");

View File

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

View File

@@ -201,4 +201,11 @@ class UserDatabaseStore {
await db.update("user_data", {"roundings": roundingsJson},
where: "id = ?", whereArgs: [userId]);
}
Future<void> storeGradeRarities(Map<String, String> rarities,
{required String userId}) async {
String raritiesJson = jsonEncode(rarities);
await db.update("user_data", {"grade_rarities": raritiesJson},
where: "id = ?", whereArgs: [userId]);
}
}