From b04ddf66c6e74f77884ba58ed9a0471586658c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torma=20Krist=C3=B3f?= Date: Wed, 11 Aug 2021 15:06:09 +0200 Subject: [PATCH] api done --- .drone.yml | 1 + src/api/model/ApiObject.kt | 1 - src/api/route/OutputServiceRDBServer.kt | 32 ++++-------------- src/database/service/ISampleObjectService.kt | 9 ++--- src/database/service/SampleObjectService.kt | 35 +++++--------------- 5 files changed, 19 insertions(+), 59 deletions(-) diff --git a/.drone.yml b/.drone.yml index 968063b..1313a1a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -14,6 +14,7 @@ steps: - name: build_application image: openjdk:11-jdk commands: + - chmod +x gradlew - ./gradlew build -x test - name: kaniko diff --git a/src/api/model/ApiObject.kt b/src/api/model/ApiObject.kt index 94c9b74..e630e4e 100644 --- a/src/api/model/ApiObject.kt +++ b/src/api/model/ApiObject.kt @@ -4,7 +4,6 @@ import com.google.gson.annotations.SerializedName import java.time.LocalDate data class ApiObject( - @SerializedName("id") val id: Int, @SerializedName("tag") val tag: String, @SerializedName("device_id") val device_id: Int, @SerializedName("device_date") val device_date: LocalDate diff --git a/src/api/route/OutputServiceRDBServer.kt b/src/api/route/OutputServiceRDBServer.kt index b14a85a..5f8168b 100644 --- a/src/api/route/OutputServiceRDBServer.kt +++ b/src/api/route/OutputServiceRDBServer.kt @@ -11,39 +11,21 @@ import java.time.LocalDate import java.time.format.DateTimeFormatter /** - * Output Service - RDB + * Sample Service * - * This is the output interface of the Birbnetes system. + * This is the sample interface of the Birbnetes system. */ class OutputServiceRDBServer { /** - * output + * sample */ fun Routing.registerOutput() { val resultObjectService by inject() - get("/output"){ + get("/sample"){ call.respond(resultObjectService.getAllSampleObjects()) } - get("/output/filter/negative") { - val resultList = resultObjectService.getSampleObjecLessthanId(0.5) ?: call.respond(HttpStatusCode.NotFound) - - call.respond(resultList) - } - - get("/output/filter/positive") { - val resultList = resultObjectService.getSampleObjecGreaterthanId(0.5) ?: call.respond(HttpStatusCode.NotFound) - - call.respond(resultList) - } - - get("/output/filter/undecided") { - val resultList = resultObjectService.getSampleObjecEqualsId(0.5) ?: call.respond(HttpStatusCode.NotFound) - - call.respond(resultList) - } - - get("/output/after/{dateAfter}") { + get("/sample/after/{dateAfter}") { val dateAfter = call.parameters["dateAfter"] ?: error(HttpStatusCode.NotAcceptable) val dateTimeFormatter: DateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE val localDateAfter : LocalDate = LocalDate.parse(dateAfter,dateTimeFormatter) @@ -52,7 +34,7 @@ class OutputServiceRDBServer { call.respond(resultList) } - get("/output/before/{dateBefore}") { + get("/sample/before/{dateBefore}") { val dateAfter = call.parameters["dateBefore"] ?: error(HttpStatusCode.NotAcceptable) val dateTimeFormatter: DateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE val localDateBefore : LocalDate = LocalDate.parse(dateAfter,dateTimeFormatter) @@ -61,7 +43,7 @@ class OutputServiceRDBServer { call.respond(resultList) } - get("/output/{tagID}") { + get("/sample/{tagID}") { val tagID = call.parameters["tagID"] ?: error(HttpStatusCode.NotAcceptable) val resultObject = resultObjectService.getSampleObjectbyTag(tagID) ?: call.respond(HttpStatusCode.NotFound) diff --git a/src/database/service/ISampleObjectService.kt b/src/database/service/ISampleObjectService.kt index abf61f8..4ee926f 100644 --- a/src/database/service/ISampleObjectService.kt +++ b/src/database/service/ISampleObjectService.kt @@ -8,10 +8,7 @@ interface ISampleObjectService{ fun addOne(apiObject: ApiObject) suspend fun getAllSampleObjects(): List suspend fun getSampleObjectbyTag(tag: String): ApiObject? - suspend fun getSampleObjectbyDate(date: LocalDate): List? - suspend fun getSampleObjectbeforeDate(date: LocalDate): List? - suspend fun getSampleObjectafterDate(date: LocalDate): List? - suspend fun getSampleObjecGreaterthanId(id: Int): List? - suspend fun getSampleObjecLessthanId(id: Int): List? - suspend fun getSampleObjecEqualsId(id: Int): List? + suspend fun getSampleObjectbyDate(date: LocalDate): List + suspend fun getSampleObjectbeforeDate(date: LocalDate): List + suspend fun getSampleObjectafterDate(date: LocalDate): List } \ No newline at end of file diff --git a/src/database/service/SampleObjectService.kt b/src/database/service/SampleObjectService.kt index 69d22c1..476a317 100644 --- a/src/database/service/SampleObjectService.kt +++ b/src/database/service/SampleObjectService.kt @@ -5,11 +5,11 @@ import com.kmalbz.database.model.SampleObject import com.kmalbz.database.dao.SampleObjects import com.kmalbz.api.model.ApiObject import org.jetbrains.exposed.sql.ResultRow +import org.jetbrains.exposed.sql.castTo import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.selectAll import org.jetbrains.exposed.sql.transactions.transaction import java.time.LocalDate -import java.util.* class SampleObjectService : ISampleObjectService { @@ -35,39 +35,21 @@ class SampleObjectService : ISampleObjectService { .singleOrNull() } - override suspend fun getSampleObjectbyDate(date: LocalDate): List? = dbQuery { + override suspend fun getSampleObjectbyDate(date: LocalDate): List = dbQuery { SampleObjects.select { - (SampleObjects.date eq date) + (SampleObjects.timestamp eq date) }.mapNotNull { toResultObject(it) } } - override suspend fun getSampleObjectbeforeDate(date: LocalDate): List? = dbQuery { + override suspend fun getSampleObjectbeforeDate(date: LocalDate): List = dbQuery { SampleObjects.select { - (SampleObjects.date less date) + (SampleObjects.timestamp less date) }.mapNotNull { toResultObject(it) } } - override suspend fun getSampleObjectafterDate(date: LocalDate): List? = dbQuery { + override suspend fun getSampleObjectafterDate(date: LocalDate): List = dbQuery { SampleObjects.select { - (SampleObjects.date greater date) - }.mapNotNull { toResultObject(it) } - } - - override suspend fun getSampleObjecGreaterthanId(probability: Double): List? = dbQuery { - SampleObjects.select { - (SampleObjects.probability greater probability) - }.mapNotNull { toResultObject(it) } - } - - override suspend fun getSampleObjecLessthanId(probability: Double): List? = dbQuery { - SampleObjects.select { - (SampleObjects.probability less probability) - }.mapNotNull { toResultObject(it) } - } - - override suspend fun getSampleObjecEqualsId(probability: Double): List? = dbQuery { - SampleObjects.select { - (SampleObjects.probability eq probability) + (SampleObjects.timestamp greater date) }.mapNotNull { toResultObject(it) } } @@ -75,7 +57,6 @@ class SampleObjectService : ISampleObjectService { ApiObject( tag = row[SampleObjects.tag], device_date = row[SampleObjects.device_date], - device_id = row[SampleObjects.device_id], - id = row[SampleObjects.id.] + device_id = row[SampleObjects.device_id] ) } \ No newline at end of file