diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 8205734..52459bd 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -14,6 +14,7 @@ application{ dependencies{ implementation(project(":core")) implementation(project(":legacy")) + implementation(project(":messages")) implementation(project(":translations")) implementation(project(":user")) implementation(project(":web")) diff --git a/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java b/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java index 9f846ef..fbfaeee 100644 --- a/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java +++ b/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java @@ -11,6 +11,9 @@ import de.srsoftware.tools.ColorLogger; import de.srsoftware.umbrella.core.ConnectionProvider; import de.srsoftware.umbrella.core.UmbrellaException; import de.srsoftware.umbrella.legacy.LegacyApi; +import de.srsoftware.umbrella.message.MessageApi; +import de.srsoftware.umbrella.message.MessageSystem; +import de.srsoftware.umbrella.message.SqliteMessageDb; import de.srsoftware.umbrella.translations.Translations; import de.srsoftware.umbrella.user.UserModule; import de.srsoftware.umbrella.user.sqlite.SqliteDB; @@ -42,15 +45,20 @@ public class Application { configureLogging(config); var port = config.get("umbrella.http.port", 8080); var threads = config.get("umbrella.threads", 16); - var userDB = config.get("umbrella.database.user", config.file().getParent()+"/umbrella.db"); - var loginDB = config.get("umbrella.database.login_services",config.file().getParent()+"/umbrella.db"); + var userDbFile = config.get("umbrella.database.user", config.file().getParent()+"/umbrella.db"); + var loginDbFile = config.get("umbrella.database.login_services",config.file().getParent()+"/umbrella.db"); + var messageDbFile = config.get("umbrella.database.messages", config.file().getParent()+"/umbrella.db"); var connectionProvider = new ConnectionProvider(); - var userDb = new SqliteDB(connectionProvider.get(userDB)); - var loginServicedb = new SqliteDB(connectionProvider.get(loginDB)); + var messageDb = new SqliteMessageDb(connectionProvider.get(messageDbFile)); + var userDb = new SqliteDB(connectionProvider.get(userDbFile)); + var loginServicedb = new SqliteDB(connectionProvider.get(loginDbFile)); + + var messageSystem = new MessageSystem(messageDb); var server = HttpServer.create(new InetSocketAddress(port), 0); server.setExecutor(Executors.newFixedThreadPool(threads)); new LegacyApi(userDb,config).bindPath("/legacy").on(server); + new MessageApi(messageSystem).bindPath("/api/messages").on(server); new Translations().bindPath("/api/translations").on(server); new UserModule(userDb,loginServicedb).bindPath("/api/user").on(server); new WebHandler().bindPath("/").on(server); diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 0b5ce71..90664ac 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -7,6 +7,7 @@ import EditService from "./routes/user/EditService.svelte"; import Footer from "./Components/Footer.svelte"; import Login from "./Components/Login.svelte"; + import Messages from "./routes/message/Messages.svelte"; import Menu from "./Components/Menu.svelte"; import Search from "./routes/search/Search.svelte"; import User from "./routes/user/User.svelte"; @@ -32,6 +33,7 @@ {#if user.name } + diff --git a/frontend/src/routes/message/Messages.svelte b/frontend/src/routes/message/Messages.svelte new file mode 100644 index 0000000..164c5d0 --- /dev/null +++ b/frontend/src/routes/message/Messages.svelte @@ -0,0 +1,7 @@ + + +
+ {t('message.messages')} +
\ No newline at end of file diff --git a/frontend/src/routes/user/Profile.svelte b/frontend/src/routes/user/Profile.svelte index 8a05ada..1b173c9 100644 --- a/frontend/src/routes/user/Profile.svelte +++ b/frontend/src/routes/user/Profile.svelte @@ -11,7 +11,10 @@
- {t('user.your_profile')} + {t('user.your_profile')} + + + diff --git a/messages/src/main/java/de/srsoftware/umbrella/message/MessageApi.java b/messages/src/main/java/de/srsoftware/umbrella/message/MessageApi.java new file mode 100644 index 0000000..0330ed2 --- /dev/null +++ b/messages/src/main/java/de/srsoftware/umbrella/message/MessageApi.java @@ -0,0 +1,12 @@ +package de.srsoftware.umbrella.message; + +import de.srsoftware.umbrella.core.BaseHandler; + +public class MessageApi extends BaseHandler { + private final MessageSystem messageSystem; + + public MessageApi(MessageSystem messageSystem) { + super(); + this.messageSystem = messageSystem; + } +} diff --git a/messages/src/main/java/de/srsoftware/umbrella/message/MessageSystem.java b/messages/src/main/java/de/srsoftware/umbrella/message/MessageSystem.java new file mode 100644 index 0000000..e624740 --- /dev/null +++ b/messages/src/main/java/de/srsoftware/umbrella/message/MessageSystem.java @@ -0,0 +1,9 @@ +package de.srsoftware.umbrella.message; + +public class MessageSystem { + private final SqliteMessageDb db; + + public MessageSystem(SqliteMessageDb messageDb) { + db = messageDb; + } +} diff --git a/messages/src/main/java/de/srsoftware/umbrella/message/SqliteDb.java b/messages/src/main/java/de/srsoftware/umbrella/message/SqliteMessageDb.java similarity index 97% rename from messages/src/main/java/de/srsoftware/umbrella/message/SqliteDb.java rename to messages/src/main/java/de/srsoftware/umbrella/message/SqliteMessageDb.java index f2a0c4b..f21fadc 100644 --- a/messages/src/main/java/de/srsoftware/umbrella/message/SqliteDb.java +++ b/messages/src/main/java/de/srsoftware/umbrella/message/SqliteMessageDb.java @@ -19,14 +19,14 @@ import static java.lang.System.Logger.Level.ERROR; import static java.lang.System.Logger.Level.WARNING; import static java.text.MessageFormat.format; -public class SqliteDb implements MessageDb{ - private static final System.Logger LOG = System.getLogger(SqliteDb.class.getSimpleName()); +public class SqliteMessageDb implements MessageDb{ + private static final System.Logger LOG = System.getLogger(SqliteMessageDb.class.getSimpleName()); private final Connection db; private static final String DB_VERSION = "message_db_version"; private static final int INITIAL_DB_VERSION = 1; private static final String TABLE_SUBMISSIONS = "message_submission"; - public SqliteDb(Connection conn){ + public SqliteMessageDb(Connection conn){ db = conn; init(); }