Browse Source

preparing message system

feature/document
Stephan Richter 4 months ago
parent
commit
72940f92c3
  1. 1
      backend/build.gradle.kts
  2. 16
      backend/src/main/java/de/srsoftware/umbrella/backend/Application.java
  3. 2
      frontend/src/App.svelte
  4. 7
      frontend/src/routes/message/Messages.svelte
  5. 5
      frontend/src/routes/user/Profile.svelte
  6. 12
      messages/src/main/java/de/srsoftware/umbrella/message/MessageApi.java
  7. 9
      messages/src/main/java/de/srsoftware/umbrella/message/MessageSystem.java
  8. 6
      messages/src/main/java/de/srsoftware/umbrella/message/SqliteMessageDb.java

1
backend/build.gradle.kts

@ -14,6 +14,7 @@ application{
dependencies{ dependencies{
implementation(project(":core")) implementation(project(":core"))
implementation(project(":legacy")) implementation(project(":legacy"))
implementation(project(":messages"))
implementation(project(":translations")) implementation(project(":translations"))
implementation(project(":user")) implementation(project(":user"))
implementation(project(":web")) implementation(project(":web"))

16
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.ConnectionProvider;
import de.srsoftware.umbrella.core.UmbrellaException; import de.srsoftware.umbrella.core.UmbrellaException;
import de.srsoftware.umbrella.legacy.LegacyApi; 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.translations.Translations;
import de.srsoftware.umbrella.user.UserModule; import de.srsoftware.umbrella.user.UserModule;
import de.srsoftware.umbrella.user.sqlite.SqliteDB; import de.srsoftware.umbrella.user.sqlite.SqliteDB;
@ -42,15 +45,20 @@ public class Application {
configureLogging(config); configureLogging(config);
var port = config.get("umbrella.http.port", 8080); var port = config.get("umbrella.http.port", 8080);
var threads = config.get("umbrella.threads", 16); var threads = config.get("umbrella.threads", 16);
var userDB = config.get("umbrella.database.user", config.file().getParent()+"/umbrella.db"); var userDbFile = config.get("umbrella.database.user", config.file().getParent()+"/umbrella.db");
var loginDB = config.get("umbrella.database.login_services",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 connectionProvider = new ConnectionProvider();
var userDb = new SqliteDB(connectionProvider.get(userDB)); var messageDb = new SqliteMessageDb(connectionProvider.get(messageDbFile));
var loginServicedb = new SqliteDB(connectionProvider.get(loginDB)); 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); var server = HttpServer.create(new InetSocketAddress(port), 0);
server.setExecutor(Executors.newFixedThreadPool(threads)); server.setExecutor(Executors.newFixedThreadPool(threads));
new LegacyApi(userDb,config).bindPath("/legacy").on(server); new LegacyApi(userDb,config).bindPath("/legacy").on(server);
new MessageApi(messageSystem).bindPath("/api/messages").on(server);
new Translations().bindPath("/api/translations").on(server); new Translations().bindPath("/api/translations").on(server);
new UserModule(userDb,loginServicedb).bindPath("/api/user").on(server); new UserModule(userDb,loginServicedb).bindPath("/api/user").on(server);
new WebHandler().bindPath("/").on(server); new WebHandler().bindPath("/").on(server);

2
frontend/src/App.svelte

@ -7,6 +7,7 @@
import EditService from "./routes/user/EditService.svelte"; import EditService from "./routes/user/EditService.svelte";
import Footer from "./Components/Footer.svelte"; import Footer from "./Components/Footer.svelte";
import Login from "./Components/Login.svelte"; import Login from "./Components/Login.svelte";
import Messages from "./routes/message/Messages.svelte";
import Menu from "./Components/Menu.svelte"; import Menu from "./Components/Menu.svelte";
import Search from "./routes/search/Search.svelte"; import Search from "./routes/search/Search.svelte";
import User from "./routes/user/User.svelte"; import User from "./routes/user/User.svelte";
@ -32,6 +33,7 @@
{#if user.name } {#if user.name }
<!-- https://github.com/notnotsamuel/svelte-tiny-router --> <!-- https://github.com/notnotsamuel/svelte-tiny-router -->
<Menu /> <Menu />
<Route path="/message/settings" component={Messages} />
<Route path="/search" component={Search} /> <Route path="/search" component={Search} />
<Route path="/user" component={User} /> <Route path="/user" component={User} />
<Route path="/user/login" component={User} /> <Route path="/user/login" component={User} />

7
frontend/src/routes/message/Messages.svelte

@ -0,0 +1,7 @@
<script>
import { t } from '../../translations.svelte';
</script>
<fieldset>
<legend>{t('message.messages')}</legend>
</fieldset>

5
frontend/src/routes/user/Profile.svelte

@ -11,7 +11,10 @@
</script> </script>
<fieldset> <fieldset>
<legend> <legend>
{t('user.your_profile')} <button onclick={() => router.navigate(`/user/${user.id}/edit`)}>{t('user.edit')}</button> {t('user.your_profile')}
<button onclick={() => router.navigate(`/user/${user.id}/edit`)}>{t('user.edit')}</button>
<button onclick={() => router.navigate(`/message/settings`)}>{t('messages.settings')}</button>
</legend> </legend>
<table> <table>
<tbody> <tbody>

12
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;
}
}

9
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;
}
}

6
messages/src/main/java/de/srsoftware/umbrella/message/SqliteDb.java → 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.lang.System.Logger.Level.WARNING;
import static java.text.MessageFormat.format; import static java.text.MessageFormat.format;
public class SqliteDb implements MessageDb{ public class SqliteMessageDb implements MessageDb{
private static final System.Logger LOG = System.getLogger(SqliteDb.class.getSimpleName()); private static final System.Logger LOG = System.getLogger(SqliteMessageDb.class.getSimpleName());
private final Connection db; private final Connection db;
private static final String DB_VERSION = "message_db_version"; private static final String DB_VERSION = "message_db_version";
private static final int INITIAL_DB_VERSION = 1; private static final int INITIAL_DB_VERSION = 1;
private static final String TABLE_SUBMISSIONS = "message_submission"; private static final String TABLE_SUBMISSIONS = "message_submission";
public SqliteDb(Connection conn){ public SqliteMessageDb(Connection conn){
db = conn; db = conn;
init(); init();
} }
Loading…
Cancel
Save