diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte
index ec51fe91..fffec6d3 100644
--- a/frontend/src/App.svelte
+++ b/frontend/src/App.svelte
@@ -1,5 +1,4 @@
{#if translations_ready }
diff --git a/user/src/main/java/de/srsoftware/umbrella/user/sqlite/SqliteDB.java b/user/src/main/java/de/srsoftware/umbrella/user/sqlite/SqliteDB.java
index 4e4b7fb9..dd843707 100644
--- a/user/src/main/java/de/srsoftware/umbrella/user/sqlite/SqliteDB.java
+++ b/user/src/main/java/de/srsoftware/umbrella/user/sqlite/SqliteDB.java
@@ -98,14 +98,28 @@ CREATE TABLE IF NOT EXISTS {0} (
case 3:
createUserTables();
createLoginServiceTables();
+ case 4:
+ createLanguageColumn();
}
- return setCurrentVersion(4);
+ return setCurrentVersion(5);
}
+ private void createLanguageColumn() {
+ var sql = "ALTER TABLE {0} ADD COLUMN {1} VARCHAR(10)";
+ try {
+ var stmt = db.prepareStatement(format(sql,TABLE_USERS,LANGUAGE));
+ stmt.execute();
+ stmt.close();
+ } catch (SQLException e) {
+ LOG.log(ERROR,"Failed to create column {1} in {0}",TABLE_USERS, LANGUAGE,e);
+ throw new RuntimeException(e);
+ }
+ }
- private void createUserTables() {
+
+ private void createUserTables() {
PasswordHasher hasher;
try {
hasher = new BadHasher();
@@ -448,13 +462,13 @@ CREATE TABLE IF NOT EXISTS {0} (
Long id = user.id();
var email = user.email() == null ? null : user.email().toString();
if (id<1){
- insertInto(TABLE_USERS,LOGIN, PASS, THEME, EMAIL)
- .values(user.name(), user.hashedPassword(), user.theme(), email)
+ insertInto(TABLE_USERS,LOGIN, PASS, THEME, EMAIL, LANGUAGE)
+ .values(user.name(), user.hashedPassword(), user.theme(), email, user.language())
.execute(db)
.close();
} else {
- replaceInto(TABLE_USERS, ID, LOGIN, PASS, THEME, EMAIL, LAST_LOGOFF)
- .values(id, user.name(), user.hashedPassword(), user.theme(), email, user.lastLogoff())
+ replaceInto(TABLE_USERS, ID, LOGIN, PASS, THEME, EMAIL, LAST_LOGOFF, LANGUAGE)
+ .values(id, user.name(), user.hashedPassword(), user.theme(), email, user.lastLogoff(), user.language())
.execute(db)
.close();
}
@@ -513,7 +527,7 @@ CREATE TABLE IF NOT EXISTS {0} (
rs.getString(EMAIL) instanceof String addr && !addr.isBlank() ? new EmailAddress(addr) : null,
Password.of(rs.getString(PASS)),
rs.getString(THEME),
- "de", // TODO: save in DB
+ rs.getString(LANGUAGE),
perms,
rs.getLong(LAST_LOGOFF)
);