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()) } }