Skip to content

Commit 0832aee

Browse files
committed
feat: 폴더 내부 이미지 조회시 updatedAt dto에 추가
1 parent 6a92940 commit 0832aee

File tree

7 files changed

+21
-17
lines changed

7 files changed

+21
-17
lines changed

src/main/kotlin/com/keeply/api/folder/dto/FolderResponseDTO.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,12 @@ class FolderResponseDTO {
3333
@Schema(description = "폴더 저장, 미분류 여부")
3434
val isCategorized: Boolean,
3535
@Schema(description = "미분류 이미지 삭제 예정 시각")
36-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss")
37-
val scheduledDeleteAt: LocalDate? = null,
36+
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
37+
val scheduledDeleteAt: LocalDateTime? = null,
3838
@Schema(description = "미분류 이미지 보관 남은 일수")
3939
val daysUntilDeletion: Long? = null,
40+
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss")
41+
val updatedAt: LocalDateTime? = null,
4042
)
4143

4244
data class FolderList(

src/main/kotlin/com/keeply/api/folder/service/FolderService.kt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,13 @@ class FolderService (
9494

9595
val result = folder.images.map { image ->
9696
FolderResponseDTO.ImageInfo(
97-
image.id!!,
98-
s3Service.generatePresignedUrl(image.s3Key!!),
99-
image.insight,
100-
image.tag!!.name,
101-
image.isCategorized,
102-
image.scheduledDeleteAt,
97+
imageId = image.id!!,
98+
presignedUrl = s3Service.generatePresignedUrl(image.s3Key!!),
99+
insight = image.insight,
100+
tag = image.tag?.name,
101+
isCategorized = image.isCategorized,
102+
scheduledDeleteAt = image.scheduledDeleteAt,
103+
updatedAt = image.updatedAt
103104
)
104105
}
105106

@@ -123,7 +124,8 @@ class FolderService (
123124
image.tag?.name,
124125
image.isCategorized,
125126
image.scheduledDeleteAt,
126-
daysUntilDeletion
127+
daysUntilDeletion,
128+
image.updatedAt
127129
)
128130
}
129131

src/main/kotlin/com/keeply/api/home/service/HomeService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class HomeService(
4040
var scheduledToDeleteImageList: List<ImageInfo> = imagesOrderByUpdatedAtDesc
4141
.mapNotNull{
4242
image ->
43-
if(!image.isCategorized && image.scheduledDeleteAt!! == LocalDate.now()) {
43+
if(!image.isCategorized && image.scheduledDeleteAt!!.toLocalDate() == LocalDate.now()) {
4444
ImageInfo(
4545
imageId = image.id!!,
4646
presignedUrl = s3Service.generatePresignedUrl(image.s3Key!!),

src/main/kotlin/com/keeply/api/image/controller/ImageController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class ImageController (
5353
fun saveImageWithoutFolder(
5454
@AuthenticationPrincipal userDetails: CustomUserDetails,
5555
@RequestPart("file") file: MultipartFile,
56-
@RequestParam("folder", required = false) folderId: Long?,
56+
@RequestParam("folderId", required = false) folderId: Long?,
5757
): ResponseEntity<ApiResponse<ImageResponseDTO.SaveResponseDTO>> {
5858
val apiResponse = if(folderId==null) imageService.saveUncategorizedImage(userDetails.userId, file)
5959
else imageService.saveImage(userDetails.userId, file, folderId)

src/main/kotlin/com/keeply/api/image/dto/ImageResponseDTO.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.keeply.api.image.dto
22

33
import com.fasterxml.jackson.annotation.JsonFormat
44
import io.swagger.v3.oas.annotations.media.Schema
5-
import java.time.LocalDate
5+
import java.time.LocalDateTime
66

77
class ImageResponseDTO {
88
data class SaveResponseDTO(
@@ -30,7 +30,7 @@ class ImageResponseDTO {
3030
val isCategorized: Boolean,
3131
@Schema(description = "미분류 이미지 삭제 예정 시각")
3232
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
33-
val scheduledDeleteAt: LocalDate? = null,
33+
val scheduledDeleteAt: LocalDateTime? = null,
3434
@Schema(description = "미분류 이미지 보관 남은 일수")
3535
val daysUntilDeletion: Long? = null,
3636
)

src/main/kotlin/com/keeply/api/image/service/ImageService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class ImageService (
112112
base64Image = base64Image,
113113
)
114114
image.isCategorized = false
115-
image.scheduledDeleteAt = image.createdAt!!.toLocalDate().plusDays(30)
115+
image.scheduledDeleteAt = image.createdAt!!.plusDays(30)
116116
return ApiResponse<ImageResponseDTO.SaveResponseDTO>(
117117
success = true,
118118
response = ImageResponseDTO.SaveResponseDTO(

src/main/kotlin/com/keeply/domain/image/entity/Image.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Image(
3131
var size: Long = 0,
3232

3333
var isCategorized: Boolean = true,
34-
var scheduledDeleteAt: LocalDate? = null
34+
var scheduledDeleteAt: LocalDateTime? = null
3535

3636
) : BaseTimeEntity() {
3737
companion object {
@@ -46,7 +46,7 @@ class Image(
4646
private var tag: Tag? = null
4747
private var size: Long = 0
4848
private var isCategorized: Boolean = true
49-
private var scheduledDeleteAt: LocalDate? = null
49+
private var scheduledDeleteAt: LocalDateTime? = null
5050

5151
fun insight(insight: String?) = apply { this.insight = insight }
5252
fun s3Key(s3Key: String?) = apply { this.s3Key = s3Key }
@@ -55,7 +55,7 @@ class Image(
5555
fun tag(tag: Tag?) = apply { this.tag = tag }
5656
fun size(size: Long) = apply { this.size = size }
5757
fun isCategorized(isCategorized: Boolean) = apply {this.isCategorized = isCategorized }
58-
fun scheduledDeleteAt(date: LocalDate?) = apply { this.scheduledDeleteAt = date}
58+
fun scheduledDeleteAt(scheduledDeletedAt: LocalDateTime?) = apply { this.scheduledDeleteAt = scheduledDeletedAt}
5959

6060
fun build(): Image = Image(
6161
insight = insight,

0 commit comments

Comments
 (0)