modes of transport
This commit is contained in:
@@ -16,6 +16,7 @@ import com.android.trisolarisserver.models.property.PropertyUser
|
||||
import com.android.trisolarisserver.models.property.PropertyUserId
|
||||
import com.android.trisolarisserver.models.property.Role
|
||||
import com.android.trisolarisserver.security.MyPrincipal
|
||||
import com.android.trisolarisserver.models.booking.TransportMode
|
||||
import org.springframework.http.HttpStatus
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal
|
||||
import org.springframework.web.bind.annotation.DeleteMapping
|
||||
@@ -67,7 +68,8 @@ class Properties(
|
||||
currency = request.currency ?: "INR",
|
||||
active = request.active ?: true,
|
||||
otaAliases = request.otaAliases?.toMutableSet() ?: mutableSetOf(),
|
||||
emailAddresses = request.emailAddresses?.toMutableSet() ?: mutableSetOf()
|
||||
emailAddresses = request.emailAddresses?.toMutableSet() ?: mutableSetOf(),
|
||||
allowedTransportModes = request.allowedTransportModes?.let { parseTransportModes(it) } ?: mutableSetOf()
|
||||
)
|
||||
val saved = propertyRepo.save(property)
|
||||
return saved.toResponse()
|
||||
@@ -215,6 +217,9 @@ class Properties(
|
||||
if (request.emailAddresses != null) {
|
||||
property.emailAddresses = request.emailAddresses.toMutableSet()
|
||||
}
|
||||
if (request.allowedTransportModes != null) {
|
||||
property.allowedTransportModes = parseTransportModes(request.allowedTransportModes)
|
||||
}
|
||||
|
||||
return propertyRepo.save(property).toResponse()
|
||||
}
|
||||
@@ -239,6 +244,14 @@ class Properties(
|
||||
throw ResponseStatusException(HttpStatus.FORBIDDEN, "Missing role")
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseTransportModes(modes: Set<String>): MutableSet<TransportMode> {
|
||||
return try {
|
||||
modes.map { TransportMode.valueOf(it) }.toMutableSet()
|
||||
} catch (_: IllegalArgumentException) {
|
||||
throw ResponseStatusException(HttpStatus.BAD_REQUEST, "Unknown transport mode")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun Property.toResponse(): PropertyResponse {
|
||||
@@ -254,7 +267,8 @@ private fun Property.toResponse(): PropertyResponse {
|
||||
currency = currency,
|
||||
active = active,
|
||||
otaAliases = otaAliases.toSet(),
|
||||
emailAddresses = emailAddresses.toSet()
|
||||
emailAddresses = emailAddresses.toSet(),
|
||||
allowedTransportModes = allowedTransportModes.map { it.name }.toSet()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user