summaryrefslogtreecommitdiff
path: root/opendc-common/src/main/kotlin/org/opendc/common/utils/JavalinRunner.kt
blob: 23baac27f240310228ff19cedaf36df6983c57d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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())
    }
}