Skip to content

Commit ec9e8e5

Browse files
committedMar 7, 2023
feat: handle get request on room based on datetime
1 parent dfeda0c commit ec9e8e5

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed
 

‎src/main/kotlin/infrastructure/api/APIController.kt

+6-7
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import io.ktor.server.application.install
2424
import io.ktor.server.engine.embeddedServer
2525
import io.ktor.server.netty.Netty
2626
import io.ktor.server.plugins.contentnegotiation.ContentNegotiation
27+
import io.ktor.server.plugins.statuspages.StatusPages
2728
import io.ktor.server.request.receive
2829
import io.ktor.server.response.header
2930
import io.ktor.server.response.respond
@@ -101,13 +102,11 @@ class APIController(private val provider: ManagerProvider) {
101102
get("$apiPath/rooms/{roomId}") {
102103
Service.GetRoom(
103104
RoomID(call.parameters["roomId"].orEmpty()),
104-
RoomController(provider.roomDigitalTwinManager, provider.roomDatabaseManager)
105-
).execute().apply {
106-
when (this) {
107-
null -> call.respond(HttpStatusCode.NotFound)
108-
else -> call.respond(this.toRoomApiDto())
109-
}
110-
}
105+
RoomController(provider.roomDigitalTwinManager, provider.roomDatabaseManager),
106+
call.request.queryParameters["dateTime"]?.let { Instant.parse(it) }
107+
).execute()
108+
.let { it?.toRoomApiDto() ?: HttpStatusCode.NotFound }
109+
.apply { call.respond(this) }
111110
}
112111
delete("$apiPath/rooms/{roomId}") {
113112
call.respond(

0 commit comments

Comments
 (0)