add pagination and device id query
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
430b4b756e
commit
f2ab81e0f4
@ -25,6 +25,22 @@ class SampleServiceServer {
|
||||
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 dateTimeFormatter: DateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE
|
||||
|
@ -7,6 +7,9 @@ import java.util.*
|
||||
interface ISampleObjectService{
|
||||
fun addOne(apiObject: ApiObject)
|
||||
suspend fun getAllSampleObjects(): List<ApiObject>
|
||||
suspend fun getCount(): Long
|
||||
suspend fun getPage(page: Long): List<ApiObject>
|
||||
suspend fun getSampleObjectbyDeviceID(device_id: Int): List<ApiObject>
|
||||
suspend fun getSampleObjectbyTag(tag: String): ApiObject?
|
||||
suspend fun getSampleObjectbyDate(date: LocalDate): List<ApiObject>
|
||||
suspend fun getSampleObjectbeforeDate(date: LocalDate): List<ApiObject>
|
||||
|
@ -29,6 +29,20 @@ class SampleObjectService : ISampleObjectService {
|
||||
SampleObjects.selectAll().map { toSampleObject(it) }
|
||||
}
|
||||
|
||||
override suspend fun getCount(): Long = dbQuery {
|
||||
SampleObjects.selectAll().count()
|
||||
}
|
||||
|
||||
override suspend fun getPage(page: Long): List<ApiObject> = dbQuery {
|
||||
SampleObjects.selectAll().limit(10, page * 10).map { toSampleObject(it) }
|
||||
}
|
||||
|
||||
override suspend fun getSampleObjectbyDeviceID(device_id: Int): List<ApiObject> = dbQuery {
|
||||
SampleObjects.select {
|
||||
(SampleObjects.device_id eq device_id)
|
||||
}.mapNotNull { toSampleObject(it) }
|
||||
}
|
||||
|
||||
override suspend fun getSampleObjectbyTag(tag: String): ApiObject? = dbQuery {
|
||||
SampleObjects.select {
|
||||
(SampleObjects.tag eq tag)
|
||||
|
Loading…
Reference in New Issue
Block a user