Compare commits

...

3 Commits

Author SHA1 Message Date
StephanRichter 4ded399972 Merge branch 'main' into module/journal 2026-04-23 23:35:24 +02:00
StephanRichter 8392edf408 Merge branch 'main' into module/journal 2026-04-22 08:26:07 +02:00
StephanRichter 9c80e0d77c preparing for journal with timestamps
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
2026-04-22 08:24:54 +02:00
@@ -13,6 +13,8 @@ import de.srsoftware.umbrella.core.BaseDb;
import de.srsoftware.umbrella.messagebus.events.Event; import de.srsoftware.umbrella.messagebus.events.Event;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class SqliteDb extends BaseDb implements JournalDb{ public class SqliteDb extends BaseDb implements JournalDb{
public SqliteDb(Connection connection) { public SqliteDb(Connection connection) {
@@ -33,13 +35,14 @@ public class SqliteDb extends BaseDb implements JournalDb{
var sql = """ var sql = """
CREATE TABLE IF NOT EXISTS {0} ( CREATE TABLE IF NOT EXISTS {0} (
{1} INTEGER PRIMARY KEY, {1} INTEGER PRIMARY KEY,
{2} INTEGER, {2} LONG NOT NULL,
{3} VARCHAR(255) NOT NULL, {3} INTEGER,
{4} VARCHAR(16) NOT NULL, {4} VARCHAR(255) NOT NULL,
{5} TEXT {5} VARCHAR(16) NOT NULL,
{6} TEXT
); );
"""; """;
sql = format(sql,TABLE_JOURNAL,ID,USER_ID,MODULE,ACTION,DESCRIPTION); sql = format(sql,TABLE_JOURNAL,ID,TIMESTAMP,USER_ID,MODULE,ACTION,DESCRIPTION);
try { try {
db.prepareStatement(sql).execute(); db.prepareStatement(sql).execute();
} catch (SQLException e) { } catch (SQLException e) {
@@ -50,8 +53,9 @@ public class SqliteDb extends BaseDb implements JournalDb{
@Override @Override
public void logEvent(Event<?> event) { public void logEvent(Event<?> event) {
try { try {
insertInto(TABLE_JOURNAL,USER_ID,MODULE,ACTION,DESCRIPTION) var timestamp = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
.values(event.initiator().id(), event.module(), event.eventType(), event.describe()) insertInto(TABLE_JOURNAL,TIMESTAMP,USER_ID,MODULE,ACTION,DESCRIPTION)
.values(timestamp,event.initiator().id(), event.module(), event.eventType(), event.describe())
.execute(db).close(); .execute(db).close();
} catch (SQLException e) { } catch (SQLException e) {
throw databaseException(ERROR_WRITE_EVENT,event.eventType(),event.initiator().name()); throw databaseException(ERROR_WRITE_EVENT,event.eventType(),event.initiator().name());