From 0731bd58889df127ef87aba2590d505d79e6646f Mon Sep 17 00:00:00 2001 From: mjkwiatkowski Date: Mon, 15 Jun 2026 23:48:44 +0200 Subject: feat: migrated the past project to the sunfish repo --- .../org/opendc/common/utils/JavalinRunner.kt | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt (limited to 'opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt') 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 https://javalin.io/documentation + * @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 -- cgit v1.2.3