profile picture in db

This commit is contained in:
ezyyeah 2022-12-30 15:10:23 +01:00
parent d09e41ee7d
commit fdeb576ffa
3 changed files with 11 additions and 2 deletions

View File

@ -21,6 +21,7 @@ class UserProvider with ChangeNotifier {
Role? get role => user?.role; Role? get role => user?.role;
Student? get student => user?.student; Student? get student => user?.student;
String? get nickname => user?.nickname; String? get nickname => user?.nickname;
String get picture => user?.picture ?? "";
String? get displayName => user?.displayName; String? get displayName => user?.displayName;
final SettingsProvider _settings; final SettingsProvider _settings;
@ -70,4 +71,8 @@ class UserProvider with ChangeNotifier {
List<User> getUsers() { List<User> getUsers() {
return _users.values.toList(); return _users.values.toList();
} }
void refresh() {
notifyListeners();
}
} }

View File

@ -22,7 +22,7 @@ const settingsDB = DatabaseStruct("settings", {
// YOU'VE BEEN WARNED!!! // YOU'VE BEEN WARNED!!!
const usersDB = DatabaseStruct("users", { const usersDB = DatabaseStruct("users", {
"id": String, "name": String, "username": String, "password": String, "institute_code": String, "student": String, "role": int, "id": String, "name": String, "username": String, "password": String, "institute_code": String, "student": String, "role": int,
"nickname": String // premium only "nickname": String, "picture": String // premium only
}); });
const userDataDB = DatabaseStruct("user_data", { const userDataDB = DatabaseStruct("user_data", {
"id": String, "grades": String, "timetable": String, "exams": String, "homework": String, "messages": String, "notes": String, "id": String, "grades": String, "timetable": String, "exams": String, "homework": String, "messages": String, "notes": String,
@ -62,7 +62,7 @@ Future<Database> initDB(DatabaseProvider database) async {
await migrateDB( await migrateDB(
db, db,
struct: usersDB, struct: usersDB,
defaultValues: {"role": 0, "nickname": ""}, defaultValues: {"role": 0, "nickname": "", "picture": ""},
); );
await migrateDB(db, struct: userDataDB, defaultValues: { await migrateDB(db, struct: userDataDB, defaultValues: {
"grades": "[]", "timetable": "[]", "exams": "[]", "homework": "[]", "messages": "[]", "notes": "[]", "events": "[]", "absences": "[]", "grades": "[]", "timetable": "[]", "exams": "[]", "homework": "[]", "messages": "[]", "notes": "[]", "events": "[]", "absences": "[]",

View File

@ -14,6 +14,7 @@ class User {
Student student; Student student;
Role role; Role role;
String nickname; String nickname;
String picture;
String get displayName => nickname != '' ? nickname : name; String get displayName => nickname != '' ? nickname : name;
@ -26,6 +27,7 @@ class User {
required this.student, required this.student,
required this.role, required this.role,
this.nickname = "", this.nickname = "",
this.picture = "",
}) { }) {
if (id != null) { if (id != null) {
this.id = id; this.id = id;
@ -44,6 +46,7 @@ class User {
student: Student.fromJson(jsonDecode(map["student"])), student: Student.fromJson(jsonDecode(map["student"])),
role: Role.values[map["role"] ?? 0], role: Role.values[map["role"] ?? 0],
nickname: map["nickname"] ?? "", nickname: map["nickname"] ?? "",
picture: map["picture"] ?? "",
); );
} }
@ -57,6 +60,7 @@ class User {
"student": jsonEncode(student.json), "student": jsonEncode(student.json),
"role": role.index, "role": role.index,
"nickname": nickname, "nickname": nickname,
"picture": picture,
}; };
} }