9 changed files with 83 additions and 1 deletions
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
package de.srsoftware.umbrella.core.api; |
||||
|
||||
public interface WikiService { |
||||
} |
||||
@ -0,0 +1,8 @@
@@ -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"; |
||||
} |
||||
@ -0,0 +1,24 @@
@@ -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); |
||||
} |
||||
} |
||||
@ -0,0 +1,16 @@
@@ -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 @@
@@ -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)); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue