sample-service/src/api/route/SampleServiceServer.kt

67 lines
2.2 KiB
Kotlin

package com.kmalbz.api.route
import com.kmalbz.database.service.ISampleObjectService
import io.ktor.application.call
import io.ktor.http.HttpStatusCode
import io.ktor.response.respond
import io.ktor.routing.Routing
import io.ktor.routing.get
import kotlinx.datetime.LocalDateTime
import org.koin.ktor.ext.inject
/**
* Sample Service
*
* This is the sample interface of the Birbnetes system.
*/
class SampleServiceServer {
/**
* sample
*/
fun Routing.registerOutput() {
val sampleObjectService:ISampleObjectService by inject()
get("/sample"){
call.respond(sampleObjectService.getAllSampleObjects())
}
get("/sample/count") {
call.respond(sampleObjectService.getCount())
}
get("/sample/page/{page}") {
val page = call.parameters["page"] ?: error(HttpStatusCode.NotAcceptable)
val pageNum = page.toLong()
call.respond(sampleObjectService.getPage(pageNum))
}
get("/sample/device/{device_id}") {
val deviceId = call.parameters["device_id"] ?: error(HttpStatusCode.NotAcceptable)
val deviceIdNum = deviceId.toInt()
call.respond(sampleObjectService.getSampleObjectbyDeviceID(deviceIdNum))
}
get("/sample/after/{dateAfter}") {
val dateAfter = call.parameters["dateAfter"] ?: error(HttpStatusCode.NotAcceptable)
val localDateAfter : LocalDateTime = LocalDateTime.parse(dateAfter)
val resultList = sampleObjectService.getSampleObjectafterDate(localDateAfter)
call.respond(resultList)
}
get("/sample/before/{dateBefore}") {
val dateAfter = call.parameters["dateBefore"] ?: error(HttpStatusCode.NotAcceptable)
val localDateBefore : LocalDateTime = LocalDateTime.parse(dateAfter)
val resultList = sampleObjectService.getSampleObjectbeforeDate(localDateBefore)
call.respond(resultList)
}
get("/sample/{tagID}") {
val tagID = call.parameters["tagID"] ?: error(HttpStatusCode.NotAcceptable)
val resultObject = sampleObjectService.getSampleObjectbyTag(tagID) ?: call.respond(HttpStatusCode.NotFound)
call.respond(resultObject)
}
}
}