diff --git a/src/api/model/ApiObject.kt b/src/api/model/ApiObject.kt index 6fda350..322cd60 100644 --- a/src/api/model/ApiObject.kt +++ b/src/api/model/ApiObject.kt @@ -1,8 +1,9 @@ package com.kmalbz.api.model import com.google.gson.annotations.SerializedName +import java.util.* data class ApiObject( - @SerializedName("tag") val tag: String, + @SerializedName("tag") val tag: UUID, @SerializedName("probability") val probability: Double ) \ No newline at end of file diff --git a/src/api/route/OutputServiceRDBServer.kt b/src/api/route/OutputServiceRDBServer.kt index ff756bd..9ac9d69 100644 --- a/src/api/route/OutputServiceRDBServer.kt +++ b/src/api/route/OutputServiceRDBServer.kt @@ -9,6 +9,7 @@ import io.ktor.routing.get import org.koin.ktor.ext.inject import java.time.LocalDate import java.time.format.DateTimeFormatter +import java.util.* /** * Output Service - RDB @@ -63,7 +64,7 @@ class OutputServiceRDBServer { get("/output/{tagID}") { val tagID = call.parameters["tagID"] ?: error(HttpStatusCode.NotAcceptable) - val resultObject = resultObjectService.getResultObjectbyTag(tagID) ?: call.respond(HttpStatusCode.NotFound) + val resultObject = resultObjectService.getResultObjectbyTag(UUID.fromString(tagID)) ?: call.respond(HttpStatusCode.NotFound) call.respond(resultObject) } diff --git a/src/database/dao/ResultObjects.kt b/src/database/dao/ResultObjects.kt index b27397f..ae2df3b 100644 --- a/src/database/dao/ResultObjects.kt +++ b/src/database/dao/ResultObjects.kt @@ -4,9 +4,10 @@ import org.jetbrains.exposed.dao.id.IntIdTable import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.`java-time`.date import java.time.LocalDate +import java.util.* object ResultObjects : IntIdTable() { - val tag: Column = varchar("tag",32) + val tag: Column = uuid("tag") val date: Column = date("date").default(LocalDate.now()) val probability: Column = double("probability") override val primaryKey = PrimaryKey(id, name = "PK_ResultObject_Id") diff --git a/src/database/service/IResultObjectService.kt b/src/database/service/IResultObjectService.kt index d612f78..a59c9bc 100644 --- a/src/database/service/IResultObjectService.kt +++ b/src/database/service/IResultObjectService.kt @@ -2,11 +2,12 @@ package com.kmalbz.database.service import com.kmalbz.api.model.ApiObject import java.time.LocalDate +import java.util.* interface IResultObjectService{ fun addOne(apiObject: ApiObject) suspend fun getAllResultObjects(): List - suspend fun getResultObjectbyTag(tag: String): ApiObject? + suspend fun getResultObjectbyTag(tag: UUID): ApiObject? suspend fun getResultObjectbyDate(date: LocalDate): List? suspend fun getResultObjectbeforeDate(date: LocalDate): List? suspend fun getResultObjectafterDate(date: LocalDate): List? diff --git a/src/database/service/ResultObjectService.kt b/src/database/service/ResultObjectService.kt index 6765e67..d67bd7f 100644 --- a/src/database/service/ResultObjectService.kt +++ b/src/database/service/ResultObjectService.kt @@ -9,6 +9,7 @@ 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 ResultObjectService : IResultObjectService { @@ -26,7 +27,7 @@ class ResultObjectService : IResultObjectService { ResultObjects.selectAll().map { toResultObject(it) } } - override suspend fun getResultObjectbyTag(tag: String): ApiObject? = dbQuery { + override suspend fun getResultObjectbyTag(tag: UUID): ApiObject? = dbQuery { ResultObjects.select { (ResultObjects.tag eq tag) }.mapNotNull { toResultObject(it) }