From d5746aa22d55f5b4f08784555c609d9f6a0affcb Mon Sep 17 00:00:00 2001 From: Swordsteel Date: Tue, 10 Dec 2024 21:24:04 +0100 Subject: [PATCH] update for common messages v0.2.0 - change DeviceController addDevice to use toDeviceResponse - add DeviceEntity.toDeviceResponse to Mapping.kt --- .../kotlin/ltd/hlaeja/controller/DeviceController.kt | 8 +++----- src/main/kotlin/ltd/hlaeja/util/Mapping.kt | 11 +++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/ltd/hlaeja/controller/DeviceController.kt b/src/main/kotlin/ltd/hlaeja/controller/DeviceController.kt index e50f699..962093c 100644 --- a/src/main/kotlin/ltd/hlaeja/controller/DeviceController.kt +++ b/src/main/kotlin/ltd/hlaeja/controller/DeviceController.kt @@ -3,11 +3,10 @@ package ltd.hlaeja.controller import ltd.hlaeja.library.deviceRegistry.Device import ltd.hlaeja.service.DeviceService import ltd.hlaeja.service.JwtService -import org.springframework.http.HttpStatus.EXPECTATION_FAILED +import ltd.hlaeja.util.toDeviceResponse import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RestController -import org.springframework.web.server.ResponseStatusException @RestController class DeviceController( @@ -18,7 +17,6 @@ class DeviceController( @PostMapping("/device") suspend fun addDevice( @RequestBody request: Device.Request, - ): Device.Identity = deviceService.addDevice(request.type) - .let { jwtService.makeIdentity(it.id ?: throw ResponseStatusException(EXPECTATION_FAILED)) } - .let { Device.Identity(it) } + ): Device.Response = deviceService.addDevice(request.type) + .toDeviceResponse(jwtService) } diff --git a/src/main/kotlin/ltd/hlaeja/util/Mapping.kt b/src/main/kotlin/ltd/hlaeja/util/Mapping.kt index 19a8d5e..da23cd7 100644 --- a/src/main/kotlin/ltd/hlaeja/util/Mapping.kt +++ b/src/main/kotlin/ltd/hlaeja/util/Mapping.kt @@ -1,11 +1,14 @@ package ltd.hlaeja.util import java.time.ZonedDateTime +import ltd.hlaeja.entity.DeviceEntity import ltd.hlaeja.entity.NodeEntity import ltd.hlaeja.entity.TypeEntity +import ltd.hlaeja.library.deviceRegistry.Device import ltd.hlaeja.library.deviceRegistry.Identity import ltd.hlaeja.library.deviceRegistry.Node import ltd.hlaeja.library.deviceRegistry.Type +import ltd.hlaeja.service.JwtService import org.springframework.http.HttpStatus.EXPECTATION_FAILED import org.springframework.web.server.ResponseStatusException @@ -36,3 +39,11 @@ fun NodeEntity.toIdentityResponse(): Identity.Response = Identity.Response( id ?: throw ResponseStatusException(EXPECTATION_FAILED), device, ) + +suspend fun DeviceEntity.toDeviceResponse( + jwtService: JwtService, +): Device.Response = Device.Response( + id ?: throw ResponseStatusException(EXPECTATION_FAILED), + type, + jwtService.makeIdentity(id), +)