preparing message system
This commit is contained in:
@@ -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"))
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
Normal file
7
frontend/src/routes/message/Messages.svelte
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<script>
|
||||||
|
import { t } from '../../translations.svelte';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>{t('message.messages')}</legend>
|
||||||
|
</fieldset>
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package de.srsoftware.umbrella.message;
|
||||||
|
|
||||||
|
public class MessageSystem {
|
||||||
|
private final SqliteMessageDb db;
|
||||||
|
|
||||||
|
public MessageSystem(SqliteMessageDb messageDb) {
|
||||||
|
db = messageDb;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user