2021-08-11 14:40:05 +02:00
|
|
|
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
|
2021-08-18 15:49:07 +02:00
|
|
|
import kotlinx.datetime.LocalDateTime
|
2021-08-11 14:40:05 +02:00
|
|
|
import org.koin.ktor.ext.inject
|
|
|
|
|
|
|
|
/**
|
2021-08-11 15:06:09 +02:00
|
|
|
* Sample Service
|
2021-08-11 14:40:05 +02:00
|
|
|
*
|
2021-08-11 15:06:09 +02:00
|
|
|
* This is the sample interface of the Birbnetes system.
|
2021-08-11 14:40:05 +02:00
|
|
|
*/
|
2021-08-16 15:00:08 +02:00
|
|
|
class SampleServiceServer {
|
2021-08-11 14:40:05 +02:00
|
|
|
/**
|
2021-08-11 15:06:09 +02:00
|
|
|
* sample
|
2021-08-11 14:40:05 +02:00
|
|
|
*/
|
|
|
|
fun Routing.registerOutput() {
|
2021-08-16 14:52:27 +02:00
|
|
|
val sampleObjectService:ISampleObjectService by inject()
|
2021-08-11 15:06:09 +02:00
|
|
|
get("/sample"){
|
2021-08-16 14:52:27 +02:00
|
|
|
call.respond(sampleObjectService.getAllSampleObjects())
|
2021-08-11 14:40:05 +02:00
|
|
|
}
|
|
|
|
|
2021-08-17 16:16:37 +02:00
|
|
|
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))
|
|
|
|
}
|
|
|
|
|
2021-08-11 15:06:09 +02:00
|
|
|
get("/sample/after/{dateAfter}") {
|
2021-08-11 14:40:05 +02:00
|
|
|
val dateAfter = call.parameters["dateAfter"] ?: error(HttpStatusCode.NotAcceptable)
|
2021-08-18 15:49:07 +02:00
|
|
|
val localDateAfter : LocalDateTime = LocalDateTime.parse(dateAfter)
|
2021-08-16 14:52:27 +02:00
|
|
|
val resultList = sampleObjectService.getSampleObjectafterDate(localDateAfter)
|
2021-08-11 14:40:05 +02:00
|
|
|
|
|
|
|
call.respond(resultList)
|
|
|
|
}
|
|
|
|
|
2021-08-11 15:06:09 +02:00
|
|
|
get("/sample/before/{dateBefore}") {
|
2021-08-11 14:40:05 +02:00
|
|
|
val dateAfter = call.parameters["dateBefore"] ?: error(HttpStatusCode.NotAcceptable)
|
2021-08-18 15:49:07 +02:00
|
|
|
val localDateBefore : LocalDateTime = LocalDateTime.parse(dateAfter)
|
2021-08-16 14:52:27 +02:00
|
|
|
val resultList = sampleObjectService.getSampleObjectbeforeDate(localDateBefore)
|
2021-08-11 14:40:05 +02:00
|
|
|
|
|
|
|
call.respond(resultList)
|
|
|
|
}
|
|
|
|
|
2021-08-11 15:06:09 +02:00
|
|
|
get("/sample/{tagID}") {
|
2021-08-11 14:40:05 +02:00
|
|
|
val tagID = call.parameters["tagID"] ?: error(HttpStatusCode.NotAcceptable)
|
2021-08-16 14:52:27 +02:00
|
|
|
val resultObject = sampleObjectService.getSampleObjectbyTag(tagID) ?: call.respond(HttpStatusCode.NotFound)
|
2021-08-11 14:40:05 +02:00
|
|
|
|
|
|
|
call.respond(resultObject)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|