departureDate as Date instead of String

This commit is contained in:
2021-03-30 19:41:39 +02:00
parent d223041cf0
commit 9c7f30f477
5 changed files with 13 additions and 6 deletions

View File

@@ -6,13 +6,14 @@ import eu.fosil.okupamicoche.entities.UserIdNotFoundException
import eu.fosil.okupamicoche.entities.UserNotSpecifiedException
import eu.fosil.okupamicoche.repositories.UserRepository
import org.springframework.data.repository.findByIdOrNull
import java.time.LocalDateTime
class TravelDto(
// Los campos deben ser públicos para que aparezcan en el JSON
val id: TravelId? = null,
var driverInfo: UserInfoDto? = null,
val travelersInfo: List<UserInfoDto> = emptyList(),
val departureDate: String = "",
val departureDate: LocalDateTime = LocalDateTime.MIN,
val origin: String = "",
val destination: String = "",
val places: Int = 0,

View File

@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonInclude
@JsonInclude(JsonInclude.Include.NON_NULL)
open class ApiResponse<T>(val success: Boolean, val data: T?, val error: ApiError?) {
constructor(success: Boolean, data: T) : this(success, data, null)
constructor(success: Boolean, data: T?) : this(success, data, null)
constructor(success: Boolean, error: ApiError) : this(success, null, error)
}

View File

@@ -2,6 +2,7 @@ package eu.fosil.okupamicoche.entities
import org.hibernate.annotations.LazyCollection
import org.hibernate.annotations.LazyCollectionOption
import java.time.LocalDateTime
import javax.persistence.*
typealias TravelId = Long
@@ -15,7 +16,7 @@ class Travel(
@ManyToMany
@LazyCollection(LazyCollectionOption.FALSE)
var travelers: MutableList<User>,
var departureDate: String,
var departureDate: LocalDateTime,
var origin: String,
var destination: String,
var places: Int,

View File

@@ -15,7 +15,7 @@ class MatrixService(private val matrixClient: MatrixClient) : MatrixApi {
private val logger = KotlinLogging.logger {}
override suspend fun createRoom(name: String, alias: String, usersToInvite: Set<User>, topic: String?): String {
logger.debug { "Creating room name=$name alias=$alias full=${MatrixId.RoomAliasId("#$alias:synapse")}" }
logger.debug { "Creating room name=$name alias=$alias" }
val usersToInviteId = usersToInvite.stream().map { user -> MatrixId.UserId(user.matrixId) }
val roomId = matrixClient.roomsApi.createRoom(
name = name,

View File

@@ -1,6 +1,7 @@
package eu.fosil.okupamicoche.usecases.matrix
import eu.fosil.okupamicoche.entities.Travel
import java.time.format.DateTimeFormatter
const val ROOM_NAME_PREFIX = "Viaje"
const val ROOM_ALIAS_PREFIX = "viaje"
@@ -13,11 +14,15 @@ class CreateRoomForTravel(private val matrixApi: MatrixApi) {
}
private fun createRoomName(travel: Travel): String {
return "$ROOM_NAME_PREFIX ${travel.origin} - ${travel.destination}"
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm")
val formattedDate = travel.departureDate.format(formatter)
return "$ROOM_NAME_PREFIX ${travel.origin} - ${travel.destination} $formattedDate"
}
private fun createRoomAlias(travel: Travel): String {
val alias = "${ROOM_ALIAS_PREFIX}_${travel.origin}-${travel.destination}"
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_hh'H'mm")
val formattedDate = travel.departureDate.format(formatter)
val alias = "${ROOM_ALIAS_PREFIX}_${travel.origin}-${travel.destination}_${formattedDate}"
return alias.decapitalize().replace(' ', '_')
}
}