summaryrefslogtreecommitdiff
path: root/opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt')
-rw-r--r--opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt33
1 files changed, 33 insertions, 0 deletions
diff --git a/opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt b/opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt
new file mode 100644
index 00000000..23baac27
--- /dev/null
+++ b/opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt
@@ -0,0 +1,33 @@
+package org.opendc.common.utils
+
+import io.javalin.Javalin
+import org.opendc.common.annotations.Endpoint
+import org.opendc.common.api.AssetsController
+
+/**
+ * Represents the digital twin monitoring server.
+ * For endpoint documentation see `AssetsController`.
+ * @author Mateusz Kwiatkowski
+ * @see <a href=https://javalin.io/documentation>https://javalin.io/documentation</a>
+ * @see org.opendc.common.api.AssetsController
+ */
+
+@OptIn(Endpoint::class)
+public class JavalinRunner {
+ private val assetsController : AssetsController = AssetsController()
+
+ init {
+ val app = Javalin.create().start()
+ app.get("/assets", assetsController.getAssets())
+
+ app.get("/assets/{id}", assetsController.getAssetsId())
+
+ app.post("/assets", assetsController.postAsset())
+
+ app.put("/assets/{id}", assetsController.putAssetId())
+
+ app.delete("/assets/{id}", assetsController.deleteAssetId())
+
+ app.delete("/assets", assetsController.deleteAsset())
+ }
+} \ No newline at end of file