Merge branch 'main' into module/wiki

This commit is contained in:
2025-09-12 00:41:58 +02:00
31 changed files with 180 additions and 215 deletions

View File

@@ -1,20 +1,11 @@
/* © SRSoftware 2025 */
package de.srsoftware.umbrella.wiki;
import de.srsoftware.tools.jdbc.Condition;
import de.srsoftware.tools.jdbc.Query;
import de.srsoftware.umbrella.core.BaseDb;
import de.srsoftware.umbrella.core.ModuleRegistry;
import de.srsoftware.umbrella.core.model.Permission;
import de.srsoftware.umbrella.core.model.WikiPage;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.*;
import static de.srsoftware.tools.jdbc.Query.*;
import static de.srsoftware.tools.jdbc.Query.SelectQuery.ALL;
import static de.srsoftware.umbrella.core.Constants.*;
import static de.srsoftware.umbrella.core.Constants.ERROR_FAILED_CREATE_TABLE;
import static de.srsoftware.umbrella.core.ModuleRegistry.noteService;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.databaseException;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.notFound;
import static de.srsoftware.umbrella.core.model.Permission.EDIT;
@@ -23,13 +14,20 @@ import static de.srsoftware.umbrella.wiki.Constants.*;
import static java.lang.System.Logger.Level.*;
import static java.text.MessageFormat.format;
import de.srsoftware.tools.jdbc.Condition;
import de.srsoftware.tools.jdbc.Query;
import de.srsoftware.umbrella.core.BaseDb;
import de.srsoftware.umbrella.core.model.Permission;
import de.srsoftware.umbrella.core.model.WikiPage;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.*;
public class SqliteDb extends BaseDb implements WikiDb {
private static final System.Logger LOG = System.getLogger("TaskDb");
private final ModuleRegistry registry;
public SqliteDb(Connection connection, ModuleRegistry registry) {
public SqliteDb(Connection connection) {
super(connection);
this.registry = registry;
}
@Override
@@ -242,7 +240,7 @@ public class SqliteDb extends BaseDb implements WikiDb {
throw new RuntimeException(e);
}
var notes = registry.noteService();
var notes = noteService();
for (var entry : pageMap.entrySet()){
var oldId = entry.getKey();
var newId = entry.getValue();

View File

@@ -4,7 +4,6 @@ package de.srsoftware.umbrella.wiki;
import de.srsoftware.umbrella.core.model.Permission;
import de.srsoftware.umbrella.core.model.WikiPage;
import java.util.List;
import java.util.Map;

View File

@@ -1,35 +1,35 @@
/* © SRSoftware 2025 */
package de.srsoftware.umbrella.wiki;
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
import static de.srsoftware.umbrella.core.Constants.VERSION;
import static de.srsoftware.umbrella.core.ModuleRegistry.userService;
import static de.srsoftware.umbrella.core.Paths.PAGE;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.*;
import static de.srsoftware.umbrella.core.model.Permission.EDIT;
import static de.srsoftware.umbrella.wiki.Constants.*;
import com.sun.net.httpserver.HttpExchange;
import de.srsoftware.configuration.Configuration;
import de.srsoftware.tools.Path;
import de.srsoftware.tools.SessionToken;
import de.srsoftware.umbrella.core.BaseHandler;
import de.srsoftware.umbrella.core.ModuleRegistry;
import de.srsoftware.umbrella.core.api.WikiService;
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import de.srsoftware.umbrella.core.model.Member;
import de.srsoftware.umbrella.core.model.Token;
import de.srsoftware.umbrella.core.model.UmbrellaUser;
import de.srsoftware.umbrella.core.model.WikiPage;
import java.io.IOException;
import java.util.Optional;
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
import static de.srsoftware.umbrella.core.Constants.VERSION;
import static de.srsoftware.umbrella.core.Paths.PAGE;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.*;
import static de.srsoftware.umbrella.core.model.Permission.EDIT;
import static de.srsoftware.umbrella.wiki.Constants.*;
public class WikiModule extends BaseHandler implements WikiService {
private final WikiDb wikiDb;
public WikiModule(ModuleRegistry registry, Configuration config) {
super(registry);
public WikiModule(Configuration config) {
super();
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
wikiDb = new SqliteDb(connect(dbFile),registry);
wikiDb = new SqliteDb(connect(dbFile));
}