diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1c156ac..94bd810 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,6 +41,10 @@ publish:
publish-help:
stage: publish-help
+ image: docker:latest
+ services:
+ - name: docker:dind
+ alias: docker
script:
- export VERSION=$(echo $CI_COMMIT_TAG | sed 's/^v//')
- docker login -u leon.hoppe -p ${CI_REGISTRY_PASSWORD} registry.leon-hoppe.de
diff --git a/.idea/.idea.HopFrame/.idea/workspace.xml b/.idea/.idea.HopFrame/.idea/workspace.xml
index 1a0342d..c82bd6e 100644
--- a/.idea/.idea.HopFrame/.idea/workspace.xml
+++ b/.idea/.idea.HopFrame/.idea/workspace.xml
@@ -13,16 +13,8 @@
-
-
-
-
-
-
-
-
-
-
+
+
@@ -42,7 +34,7 @@
@@ -68,6 +60,7 @@
+
@@ -75,6 +68,7 @@
+
@@ -88,12 +82,14 @@
+
+
@@ -123,28 +119,28 @@
- {
+ "keyToString": {
+ ".NET Launch Settings Profile.HopFrame.Testing.Api: https.executor": "Run",
+ ".NET Launch Settings Profile.HopFrame.Testing.executor": "Run",
+ ".NET Launch Settings Profile.HopFrame.Testing: https.executor": "Run",
+ ".NET Project.HopFrame.Testing.executor": "Run",
+ "72b118b0-a6fc-4561-acdf-74f0b454dbb8.executor": "Debug",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "RunOnceActivity.git.unshallow": "true",
+ "b5f11219-dfc4-47a1-b02c-90ab603034fb.executor": "Debug",
+ "dcdf1689-dc07-47e4-8824-2e60a4fbf301.executor": "Debug",
+ "git-widget-placeholder": "!33 on feature/exporters",
+ "list.type.of.created.stylesheet": "CSS",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "settings.editor.selected.configurable": "preferences.pluginManager",
+ "vue.rearranger.settings.migration": "true"
}
-}]]>
+}
@@ -254,7 +250,14 @@
-
+
+
+
+
+
+
+
+
@@ -584,7 +587,31 @@
1738775556256
-
+
+
+ 1739554261551
+
+
+
+ 1739554261551
+
+
+
+ 1739623781007
+
+
+
+ 1739623781007
+
+
+
+ 1740741334420
+
+
+
+ 1740741334420
+
+
@@ -635,9 +662,6 @@
-
-
-
@@ -660,6 +684,9 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 02d5454..7d7fa4b 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
Welcome to the **HopFrame**! This project aims to provide a comprehensive and modular framework for easy management of your database.
The framework is designed to be highly configurable, ensuring that developers either quickly add the framework for simple data editing or
-configure it to their needs to implement it fully in their data management pipeline.
+configure it to their needs to implement it fully in their data management pipeline. Read more in the project [docs](https://hopframe.leon-hoppe.de).
## Features
diff --git a/docs/Writerside/topics/Plugins.md b/docs/Writerside/topics/Plugins.md
index d3c7f14..3d96ba2 100644
--- a/docs/Writerside/topics/Plugins.md
+++ b/docs/Writerside/topics/Plugins.md
@@ -5,10 +5,10 @@ by using Plugins. They are registered as scoped services so you can use DI like
## Add a plugin
-Create a class that extends the `HopFramePlugin` class:
+Create a class that represents the plugin:
```C#
-public class SearchExtension : HopFramePlugin {
+public class SearchExtension {
}
```
@@ -60,3 +60,19 @@ public void OnDelete(DeleteEntryEvent e) {
cacheHandler.ClearCache(e.Entity);
}
```
+
+## Useful services
+
+### IFileService
+
+If you want to deal with file uploading / downloading, you can use the `IFileService`:
+
+```C#
+public interface IFileService {
+
+ public Task DownloadFile(string name, byte[] data);
+
+ public Task UploadFile();
+
+}
+```
diff --git a/src/HopFrame.Core/Services/IContextExplorer.cs b/src/HopFrame.Core/Services/IContextExplorer.cs
index ee306be..7eaabc4 100644
--- a/src/HopFrame.Core/Services/IContextExplorer.cs
+++ b/src/HopFrame.Core/Services/IContextExplorer.cs
@@ -7,4 +7,5 @@ public interface IContextExplorer {
public TableConfig? GetTable(string tableDisplayName);
public TableConfig? GetTable(Type tableEntity);
public ITableManager? GetTableManager(string tablePropertyName);
+ public ITableManager? GetTableManager(Type tableType);
}
\ No newline at end of file
diff --git a/src/HopFrame.Core/Services/ITableManager.cs b/src/HopFrame.Core/Services/ITableManager.cs
index 4610ce0..2078d10 100644
--- a/src/HopFrame.Core/Services/ITableManager.cs
+++ b/src/HopFrame.Core/Services/ITableManager.cs
@@ -10,7 +10,8 @@ public interface ITableManager {
public Task DeleteItem(object item);
public Task EditItem(object item);
public Task AddItem(object item);
- public Task RevertChanges(object item);
+ public Task AddAll(IEnumerable