scaffolding wiki module
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
/* © SRSoftware 2025 */
|
||||
package de.srsoftware.umbrella.wiki;
|
||||
|
||||
public class Constants {
|
||||
private Constants(){}
|
||||
|
||||
public static final String CONFIG_DATABASE = "umbrella.modules.wiki.database";
|
||||
}
|
||||
24
wiki/src/main/java/de/srsoftware/umbrella/wiki/SqliteDb.java
Normal file
24
wiki/src/main/java/de/srsoftware/umbrella/wiki/SqliteDb.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package de.srsoftware.umbrella.wiki;
|
||||
|
||||
import de.srsoftware.umbrella.core.BaseDb;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
public class SqliteDb extends BaseDb implements WikiDb {
|
||||
private static final System.Logger LOG = System.getLogger("TaskDb");
|
||||
private static final int INITIAL_DB_VERSION = 1;
|
||||
|
||||
public SqliteDb(Connection connection) {
|
||||
super(connection);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createTables() {
|
||||
int currentVersion = createSettingsTable();
|
||||
switch (currentVersion){
|
||||
case 0: ; // TODO
|
||||
}
|
||||
|
||||
return setCurrentVersion(3);
|
||||
}
|
||||
}
|
||||
16
wiki/src/main/java/de/srsoftware/umbrella/wiki/WikiDb.java
Normal file
16
wiki/src/main/java/de/srsoftware/umbrella/wiki/WikiDb.java
Normal file
@@ -0,0 +1,16 @@
|
||||
/* © SRSoftware 2025 */
|
||||
package de.srsoftware.umbrella.wiki;
|
||||
|
||||
|
||||
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
|
||||
import de.srsoftware.umbrella.core.model.Permission;
|
||||
import de.srsoftware.umbrella.core.model.Task;
|
||||
import de.srsoftware.umbrella.core.model.UmbrellaUser;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface WikiDb {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package de.srsoftware.umbrella.wiki;
|
||||
|
||||
import de.srsoftware.configuration.Configuration;
|
||||
import de.srsoftware.umbrella.core.BaseHandler;
|
||||
import de.srsoftware.umbrella.core.ModuleRegistry;
|
||||
import de.srsoftware.umbrella.core.api.WikiService;
|
||||
|
||||
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
|
||||
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.missingFieldException;
|
||||
import static de.srsoftware.umbrella.wiki.Constants.CONFIG_DATABASE;
|
||||
|
||||
public class WikiModule extends BaseHandler implements WikiService {
|
||||
private final WikiDb wikiDb;
|
||||
|
||||
public WikiModule(ModuleRegistry registry, Configuration config) {
|
||||
super(registry);
|
||||
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
|
||||
wikiDb = new SqliteDb(connect(dbFile));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user