|
|
|
@@ -13,6 +13,8 @@ import de.srsoftware.umbrella.core.BaseDb;
|
|
|
|
|
import de.srsoftware.umbrella.messagebus.events.Event;
|
|
|
|
|
import java.sql.Connection;
|
|
|
|
|
import java.sql.SQLException;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.time.ZoneOffset;
|
|
|
|
|
|
|
|
|
|
public class SqliteDb extends BaseDb implements JournalDb{
|
|
|
|
|
public SqliteDb(Connection connection) {
|
|
|
|
@@ -33,13 +35,14 @@ public class SqliteDb extends BaseDb implements JournalDb{
|
|
|
|
|
var sql = """
|
|
|
|
|
CREATE TABLE IF NOT EXISTS {0} (
|
|
|
|
|
{1} INTEGER PRIMARY KEY,
|
|
|
|
|
{2} INTEGER,
|
|
|
|
|
{3} VARCHAR(255) NOT NULL,
|
|
|
|
|
{4} VARCHAR(16) NOT NULL,
|
|
|
|
|
{5} TEXT
|
|
|
|
|
{2} LONG NOT NULL,
|
|
|
|
|
{3} INTEGER,
|
|
|
|
|
{4} VARCHAR(255) NOT NULL,
|
|
|
|
|
{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 {
|
|
|
|
|
db.prepareStatement(sql).execute();
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
@@ -50,8 +53,9 @@ public class SqliteDb extends BaseDb implements JournalDb{
|
|
|
|
|
@Override
|
|
|
|
|
public void logEvent(Event<?> event) {
|
|
|
|
|
try {
|
|
|
|
|
insertInto(TABLE_JOURNAL,USER_ID,MODULE,ACTION,DESCRIPTION)
|
|
|
|
|
.values(event.initiator().id(), event.module(), event.eventType(), event.describe())
|
|
|
|
|
var timestamp = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
|
|
|
|
|
insertInto(TABLE_JOURNAL,TIMESTAMP,USER_ID,MODULE,ACTION,DESCRIPTION)
|
|
|
|
|
.values(timestamp,event.initiator().id(), event.module(), event.eventType(), event.describe())
|
|
|
|
|
.execute(db).close();
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
throw databaseException(ERROR_WRITE_EVENT,event.eventType(),event.initiator().name());
|
|
|
|
|