Compare commits

...

1 Commits

Author SHA1 Message Date
a4fffbe91b preparing journal module 2025-12-22 15:12:25 +01:00
9 changed files with 74 additions and 1 deletions

View File

@@ -18,6 +18,7 @@ dependencies{
implementation(project(":core"))
implementation(project(":documents"))
implementation(project(":files"))
implementation(project(":journal"))
implementation(project(":legacy"))
implementation(project(":markdown"))
implementation(project(":messages"))
@@ -52,6 +53,7 @@ tasks.jar {
":core:jar",
":documents:jar",
":files:jar",
":journal:jar",
":legacy:jar",
":markdown:jar",
":messages:jar",

View File

@@ -16,6 +16,7 @@ import de.srsoftware.umbrella.core.Util;
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import de.srsoftware.umbrella.documents.DocumentApi;
import de.srsoftware.umbrella.files.FileModule;
import de.srsoftware.umbrella.journal.JournalModule;
import de.srsoftware.umbrella.legacy.*;
import de.srsoftware.umbrella.markdown.MarkdownApi;
import de.srsoftware.umbrella.message.MessageSystem;
@@ -64,6 +65,7 @@ public class Application {
var server = HttpServer.create(new InetSocketAddress(port), 0);
try {
new Translations().bindPath("/api/translations").on(server);
new JournalModule().bindPath("/api/journal").on(server);
new MessageApi().bindPath("/api/bus").on(server);
new MessageSystem(config);
new UserModule(config).bindPath("/api/user").on(server);

View File

@@ -34,7 +34,7 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
super();
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
db = new SqliteDb(connect(dbFile));
ModuleRegistry.add(this);
ModuleRegistry.add(this);
}
@Override

7
journal/build.gradle.kts Normal file
View File

@@ -0,0 +1,7 @@
description = "Umbrella : Journal"
dependencies{
implementation(project(":bus"))
implementation(project(":core"))
}

View File

@@ -0,0 +1,6 @@
/* © SRSoftware 2025 */
package de.srsoftware.umbrella.journal;
public class Constants {
public static final String CONFIG_DATABASE = "umbrella.modules.journal.database";
}

View File

@@ -0,0 +1,4 @@
package de.srsoftware.umbrella.journal;
public interface JournalDb {
}

View File

@@ -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) {
}
}

View File

@@ -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);
}
}

View File

@@ -21,3 +21,5 @@ include("translations")
include("user")
include("web")
include("wiki")
include("journal")