@@ -6,6 +6,7 @@ import com.photo.server.starsnap.domain.snap.entity.SnapEntity
6
6
import com.photo.server.starsnap.domain.snap.dto.SnapResponseDto
7
7
import com.photo.server.starsnap.domain.snap.dto.UpdateSnapRequestDto
8
8
import com.photo.server.starsnap.domain.snap.entity.TagEntity
9
+ import com.photo.server.starsnap.domain.snap.error.exception.NotFoundSnapException
9
10
import com.photo.server.starsnap.domain.snap.error.exception.NotFoundSnapIdException
10
11
import com.photo.server.starsnap.domain.snap.error.exception.NotFoundTagException
11
12
import com.photo.server.starsnap.domain.snap.error.exception.UnsupportedFileTypeException
@@ -18,6 +19,7 @@ import com.photo.server.starsnap.domain.user.repository.UserRepository
18
19
import com.photo.server.starsnap.global.dto.toSnapDto
19
20
import com.photo.server.starsnap.global.dto.toSnapUserDto
20
21
import com.photo.server.starsnap.global.error.exception.InvalidRoleException
22
+ import com.photo.server.starsnap.global.service.AwsS3Service
21
23
import com.photo.server.starsnap.global.utils.type.isValid
22
24
import io.viascom.nanoid.NanoId
23
25
import jakarta.transaction.Transactional
@@ -34,7 +36,7 @@ import javax.imageio.ImageIO
34
36
class SnapService (
35
37
private val snapRepository : SnapRepository ,
36
38
private val tagRepository : TagRepository ,
37
- private val snapAwsS3Service : SnapAwsS3Service ,
39
+ private val awsS3Service : AwsS3Service ,
38
40
private val blackUserRepository : BlackUserRepository ,
39
41
private val userRepository : UserRepository
40
42
) {
@@ -48,7 +50,7 @@ class SnapService(
48
50
val imageKey = NanoId .generate(16 )
49
51
try {
50
52
val bufferedImage: BufferedImage = ImageIO .read(snapDto.image.inputStream)
51
- snapAwsS3Service.uploadImage (snapDto.image, imageKey)
53
+ awsS3Service.uploadFileToS3 (snapDto.image, imageKey, userData.id )
52
54
val snapData = SnapEntity (
53
55
title = snapDto.title,
54
56
imageSize = snapDto.image.size,
@@ -84,12 +86,13 @@ class SnapService(
84
86
@Transactional
85
87
fun updateSnap (
86
88
userId : String ,
87
- snapDto : UpdateSnapRequestDto
89
+ snapDto : UpdateSnapRequestDto ,
90
+ userData : UserEntity
88
91
): SnapResponseDto {
89
92
val snapData = snapRepository.findByIdOrNull(snapDto.snapId) ? : throw NotFoundSnapIdException
90
93
91
94
if (snapData.user.id != userId) throw InvalidRoleException
92
- if (snapDto.image != null ) snapAwsS3Service.updateImage (snapDto.image, snapData.imageKey)
95
+ awsS3Service.uploadFileToS3 (snapDto.image, snapData.imageKey, userData.id )
93
96
94
97
snapData.title = snapDto.title
95
98
snapData.source = snapDto.source
@@ -117,8 +120,8 @@ class SnapService(
117
120
blockUser = blockUser,
118
121
tags = getSnapResponseDto.tag,
119
122
title = getSnapResponseDto.title,
120
- user = user
121
- )
123
+ userId = user?.id
124
+ ) ? : throw NotFoundSnapException
122
125
123
126
return snapData.map {
124
127
SnapResponseDto (
0 commit comments