- add UpdateType end-to-end - add updateType to TypeController - add updateType to TypeService - add sql 004-create_type_description_data.sql - update TypesEndpoint to use Types.Response - update type end-to-end test - update TypeEndpoint with CreateType - add reset test table - add test data - add getType to TypeController - add getType to TypeService - add findTypeWithDescription to TypeRepository - update type end-to-end test - update TypeController for changes for adding type - update type mapping for latest changes in Mapping.kt - update addType to use TypeDescriptionRepository and return TypeWithDescription in TypeService - add TypeWithDescription - add TypeDescriptionRepository - add TypeDescriptionEntity - add missing device mapping test - add type_descriptions sql script for database changes - update TypesEndpoint - update TypesController to use Types.Response - add TypeEntity.toTypesResponse to Mapping.kt
71 lines
1.9 KiB
Kotlin
71 lines
1.9 KiB
Kotlin
package ltd.hlaeja.util
|
|
|
|
import java.time.ZonedDateTime
|
|
import java.util.UUID
|
|
import ltd.hlaeja.entity.DeviceEntity
|
|
import ltd.hlaeja.entity.NodeEntity
|
|
import ltd.hlaeja.entity.TypeEntity
|
|
import ltd.hlaeja.dto.TypeWithDescription
|
|
import ltd.hlaeja.entity.TypeDescriptionEntity
|
|
import ltd.hlaeja.jwt.service.PrivateJwtService
|
|
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.library.deviceRegistry.Types
|
|
import org.springframework.http.HttpStatus.EXPECTATION_FAILED
|
|
import org.springframework.web.server.ResponseStatusException
|
|
|
|
fun Type.Request.toTypeEntity(id: UUID): TypeEntity = TypeEntity(
|
|
id = id,
|
|
timestamp = ZonedDateTime.now(),
|
|
name = name,
|
|
)
|
|
|
|
fun Type.Request.toTypeDescriptionEntity(id: UUID): TypeDescriptionEntity = TypeDescriptionEntity(
|
|
typeId = id,
|
|
description = description,
|
|
)
|
|
|
|
fun TypeWithDescription.toTypeResponse(): Type.Response = Type.Response(
|
|
id = id,
|
|
timestamp = timestamp,
|
|
name = name,
|
|
description = description ?: "",
|
|
)
|
|
|
|
fun TypeEntity.toTypesResponse(): Types.Response = Types.Response(
|
|
id = id!!,
|
|
name = name,
|
|
timestamp = timestamp,
|
|
)
|
|
|
|
fun Node.Request.toEntity(): NodeEntity = NodeEntity(
|
|
null,
|
|
ZonedDateTime.now(),
|
|
client,
|
|
device,
|
|
name,
|
|
)
|
|
|
|
fun NodeEntity.toNodeResponse(): Node.Response = Node.Response(
|
|
id ?: throw ResponseStatusException(EXPECTATION_FAILED),
|
|
client,
|
|
device,
|
|
name,
|
|
)
|
|
|
|
fun NodeEntity.toIdentityResponse(): Identity.Response = Identity.Response(
|
|
client,
|
|
id ?: throw ResponseStatusException(EXPECTATION_FAILED),
|
|
device,
|
|
)
|
|
|
|
fun DeviceEntity.toDeviceResponse(
|
|
jwtService: PrivateJwtService,
|
|
): Device.Response = Device.Response(
|
|
id ?: throw ResponseStatusException(EXPECTATION_FAILED),
|
|
type,
|
|
jwtService.sign("device" to id),
|
|
)
|