preparing journal module
This commit is contained in:
@@ -18,6 +18,7 @@ dependencies{
|
|||||||
implementation(project(":core"))
|
implementation(project(":core"))
|
||||||
implementation(project(":documents"))
|
implementation(project(":documents"))
|
||||||
implementation(project(":files"))
|
implementation(project(":files"))
|
||||||
|
implementation(project(":journal"))
|
||||||
implementation(project(":legacy"))
|
implementation(project(":legacy"))
|
||||||
implementation(project(":markdown"))
|
implementation(project(":markdown"))
|
||||||
implementation(project(":messages"))
|
implementation(project(":messages"))
|
||||||
@@ -52,6 +53,7 @@ tasks.jar {
|
|||||||
":core:jar",
|
":core:jar",
|
||||||
":documents:jar",
|
":documents:jar",
|
||||||
":files:jar",
|
":files:jar",
|
||||||
|
":journal:jar",
|
||||||
":legacy:jar",
|
":legacy:jar",
|
||||||
":markdown:jar",
|
":markdown:jar",
|
||||||
":messages:jar",
|
":messages:jar",
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import de.srsoftware.umbrella.core.Util;
|
|||||||
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
|
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
|
||||||
import de.srsoftware.umbrella.documents.DocumentApi;
|
import de.srsoftware.umbrella.documents.DocumentApi;
|
||||||
import de.srsoftware.umbrella.files.FileModule;
|
import de.srsoftware.umbrella.files.FileModule;
|
||||||
|
import de.srsoftware.umbrella.journal.JournalModule;
|
||||||
import de.srsoftware.umbrella.legacy.*;
|
import de.srsoftware.umbrella.legacy.*;
|
||||||
import de.srsoftware.umbrella.markdown.MarkdownApi;
|
import de.srsoftware.umbrella.markdown.MarkdownApi;
|
||||||
import de.srsoftware.umbrella.message.MessageSystem;
|
import de.srsoftware.umbrella.message.MessageSystem;
|
||||||
@@ -64,6 +65,7 @@ public class Application {
|
|||||||
var server = HttpServer.create(new InetSocketAddress(port), 0);
|
var server = HttpServer.create(new InetSocketAddress(port), 0);
|
||||||
try {
|
try {
|
||||||
new Translations().bindPath("/api/translations").on(server);
|
new Translations().bindPath("/api/translations").on(server);
|
||||||
|
new JournalModule().bindPath("/api/journal").on(server);
|
||||||
new MessageApi().bindPath("/api/bus").on(server);
|
new MessageApi().bindPath("/api/bus").on(server);
|
||||||
new MessageSystem(config);
|
new MessageSystem(config);
|
||||||
new UserModule(config).bindPath("/api/user").on(server);
|
new UserModule(config).bindPath("/api/user").on(server);
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
|
|||||||
super();
|
super();
|
||||||
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
|
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
|
||||||
db = new SqliteDb(connect(dbFile));
|
db = new SqliteDb(connect(dbFile));
|
||||||
ModuleRegistry.add(this);
|
ModuleRegistry.add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
7
journal/build.gradle.kts
Normal file
7
journal/build.gradle.kts
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
description = "Umbrella : Journal"
|
||||||
|
|
||||||
|
dependencies{
|
||||||
|
implementation(project(":bus"))
|
||||||
|
implementation(project(":core"))
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
/* © SRSoftware 2025 */
|
||||||
|
package de.srsoftware.umbrella.journal;
|
||||||
|
|
||||||
|
public class Constants {
|
||||||
|
public static final String CONFIG_DATABASE = "umbrella.modules.journal.database";
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package de.srsoftware.umbrella.journal;
|
||||||
|
|
||||||
|
public interface JournalDb {
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package de.srsoftware.umbrella.journal;
|
||||||
|
|
||||||
|
import de.srsoftware.configuration.Configuration;
|
||||||
|
import de.srsoftware.umbrella.core.BaseHandler;
|
||||||
|
import de.srsoftware.umbrella.core.ModuleRegistry;
|
||||||
|
import de.srsoftware.umbrella.messagebus.EventListener;
|
||||||
|
import de.srsoftware.umbrella.messagebus.events.Event;
|
||||||
|
|
||||||
|
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
|
||||||
|
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.missingFieldException;
|
||||||
|
import static de.srsoftware.umbrella.journal.Constants.CONFIG_DATABASE;
|
||||||
|
|
||||||
|
|
||||||
|
public class JournalModule extends BaseHandler implements EventListener {
|
||||||
|
|
||||||
|
private final SqliteDb journalDb;
|
||||||
|
|
||||||
|
public JournalModule(Configuration config){
|
||||||
|
super();
|
||||||
|
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE))
|
||||||
|
journalDb = new SqliteDb(connect(dbFile));
|
||||||
|
ModuleRegistry.add(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(Event event) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package de.srsoftware.umbrella.journal;
|
||||||
|
|
||||||
|
import de.srsoftware.umbrella.core.BaseDb;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
|
||||||
|
public class SqliteDb extends BaseDb implements JournalDb{
|
||||||
|
public SqliteDb(Connection connection) {
|
||||||
|
super(connection);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected int createTables() {
|
||||||
|
int currentVersion = createSettingsTable();
|
||||||
|
switch (currentVersion){
|
||||||
|
case 0:
|
||||||
|
createJournalTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
return setCurrentVersion(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,3 +21,5 @@ include("translations")
|
|||||||
include("user")
|
include("user")
|
||||||
include("web")
|
include("web")
|
||||||
include("wiki")
|
include("wiki")
|
||||||
|
|
||||||
|
include("journal")
|
||||||
Reference in New Issue
Block a user