Split room image ordering for room and room type
All checks were successful
build-and-deploy / build-deploy (push) Successful in 32s
All checks were successful
build-and-deploy / build-deploy (push) Successful in 32s
This commit is contained in:
@@ -58,8 +58,8 @@ class RoomImages(
|
||||
@PathVariable roomId: UUID,
|
||||
@AuthenticationPrincipal principal: MyPrincipal?,
|
||||
@RequestParam("file") file: MultipartFile,
|
||||
@RequestParam(required = false) sortOrder: Int?,
|
||||
@RequestParam(required = false) category: String?,
|
||||
@RequestParam(required = false) roomSortOrder: Int?,
|
||||
@RequestParam(required = false) roomTypeSortOrder: Int?,
|
||||
@RequestParam(required = false) tags: List<String>?
|
||||
): RoomImageResponse {
|
||||
requirePrincipal(principal)
|
||||
@@ -85,8 +85,8 @@ class RoomImages(
|
||||
sizeBytes = stored.sizeBytes,
|
||||
roomTypeCode = room.roomType.code,
|
||||
tags = tags?.toMutableSet() ?: mutableSetOf(),
|
||||
sortOrder = sortOrder,
|
||||
category = category
|
||||
roomSortOrder = roomSortOrder,
|
||||
roomTypeSortOrder = roomTypeSortOrder
|
||||
)
|
||||
return roomImageRepo.save(image).toResponse(publicBaseUrl)
|
||||
}
|
||||
@@ -143,8 +143,8 @@ private fun RoomImage.toResponse(baseUrl: String): RoomImageResponse {
|
||||
contentType = contentType,
|
||||
sizeBytes = sizeBytes,
|
||||
tags = tags.toSet(),
|
||||
sortOrder = sortOrder,
|
||||
category = category,
|
||||
roomSortOrder = roomSortOrder,
|
||||
roomTypeSortOrder = roomTypeSortOrder,
|
||||
createdAt = createdAt.toString()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ data class RoomImageResponse(
|
||||
val contentType: String,
|
||||
val sizeBytes: Long,
|
||||
val tags: Set<String>,
|
||||
val sortOrder: Int?,
|
||||
val category: String?,
|
||||
val roomSortOrder: Int?,
|
||||
val roomTypeSortOrder: Int?,
|
||||
val createdAt: String
|
||||
)
|
||||
|
||||
|
||||
@@ -45,10 +45,10 @@ class RoomImage(
|
||||
var tags: MutableSet<String> = mutableSetOf(),
|
||||
|
||||
@Column(name = "sort_order")
|
||||
var sortOrder: Int? = null,
|
||||
var roomSortOrder: Int? = null,
|
||||
|
||||
@Column
|
||||
var category: String? = null,
|
||||
@Column(name = "room_type_sort_order")
|
||||
var roomTypeSortOrder: Int? = null,
|
||||
|
||||
@Column(name = "created_at", nullable = false, columnDefinition = "timestamptz")
|
||||
val createdAt: OffsetDateTime = OffsetDateTime.now()
|
||||
|
||||
@@ -12,7 +12,7 @@ interface RoomImageRepo : JpaRepository<RoomImage, UUID> {
|
||||
select ri
|
||||
from RoomImage ri
|
||||
where ri.room.id = :roomId
|
||||
order by (ri.sortOrder is null), ri.sortOrder asc, ri.createdAt desc
|
||||
order by (ri.roomSortOrder is null), ri.roomSortOrder asc, ri.createdAt desc
|
||||
"""
|
||||
)
|
||||
fun findByRoomIdOrdered(@Param("roomId") roomId: UUID): List<RoomImage>
|
||||
|
||||
Reference in New Issue
Block a user