Skip to content

#133 - 추가된 컬럼 및 테이블을 기반으로 Entity를 설계합니다. #147

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@ package com.wespot.report.service

import com.wespot.common.service.ServiceTest
import com.wespot.exception.CustomException
import com.wespot.message.MessageJpaRepository
import com.wespot.message.MessageMapper
import com.wespot.message.v1.MessageJpaRepository
import com.wespot.message.v1.MessageMapper
import com.wespot.message.fixture.MessageFixture
import com.wespot.report.ReportJpaRepository
import com.wespot.report.ReportType
import com.wespot.report.dto.ReportRequest
import com.wespot.user.RestrictionType
import com.wespot.user.fixture.UserFixture
import com.wespot.user.mapper.UserMapper
import com.wespot.user.repository.RestrictionJpaRepository
import com.wespot.user.repository.UserJpaRepository
import io.kotest.assertions.throwables.shouldThrow
import io.kotest.matchers.shouldBe
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/kotlin/com/wespot/image/service/ImageService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ class ImageService(
override fun createPresignedUrl(imageExtension: String, expirationTime: Long): PresignedResponse {
val prefix = UUID.randomUUID()
.toString()
.replace("-", "") // prefix is what ?
val imageName = "$prefix.$imageExtension" // image name is prefix and image extension
.replace("-", "")
val imageName = "$prefix.$imageExtension"
val url = s3Port.getPresignedUrl(imageName, expirationTime)

return PresignedResponse(url, imageName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ data class ViewedOnBoardingSheet(
val userId: Long,
var isViewedMessageOnBoardingSheet: Boolean,
var isViewedVoteOnBoardingSheet: Boolean,
var isViewedAnswerMessageOnBoardingSheet: Boolean,
) {

companion object {
Expand All @@ -21,7 +22,8 @@ data class ViewedOnBoardingSheet(
id = 0,
userId = userId,
isViewedMessageOnBoardingSheet = false,
isViewedVoteOnBoardingSheet = false
isViewedVoteOnBoardingSheet = false,
isViewedAnswerMessageOnBoardingSheet = false
)
}
}
Expand Down
10 changes: 5 additions & 5 deletions domain/src/main/kotlin/com/wespot/message/Message.kt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ data class Message(
val isSenderDeleted: Boolean,
val senderDeletedAt: LocalDateTime?,
val isReceiverDeleted: Boolean,
val receiverDeletedAt: LocalDateTime?
val receiverDeletedAt: LocalDateTime?,
) {

fun updateMessage(
Expand Down Expand Up @@ -66,7 +66,7 @@ data class Message(
isSenderDeleted = isSenderDeleted,
senderDeletedAt = senderDeletedAt,
isReceiverDeleted = isReceiverDeleted,
receiverDeletedAt = receiverDeletedAt
receiverDeletedAt = receiverDeletedAt,
)
message.validateMessageReceiver()

Expand Down Expand Up @@ -113,7 +113,7 @@ data class Message(
isSenderDeleted = isSenderDeleted,
senderDeletedAt = senderDeletedAt,
isReceiverDeleted = isReceiverDeleted,
receiverDeletedAt = receiverDeletedAt
receiverDeletedAt = receiverDeletedAt,
)
message.validateSentMessage(user)
return message
Expand Down Expand Up @@ -299,7 +299,7 @@ data class Message(
isSenderDeleted = false,
senderDeletedAt = null,
isReceiverDeleted = false,
receiverDeletedAt = null
receiverDeletedAt = null,
)
message.validateMessageReceiver()

Expand Down Expand Up @@ -330,7 +330,7 @@ data class Message(
isSenderDeleted = false,
senderDeletedAt = null,
isReceiverDeleted = false,
receiverDeletedAt = null
receiverDeletedAt = null,
)
}

Expand Down
31 changes: 31 additions & 0 deletions domain/src/main/kotlin/com/wespot/message/MessageV2.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.wespot.message

import java.time.LocalDateTime

data class MessageV2(
val id: Long,
val content: MessageContent,
val senderId: Long,
val senderName: String,
val receiverId: Long,
val isReceiverRead: Boolean,
val isAnonymous: Boolean,
val messageType: MessageType,
val readAt: LocalDateTime?,
val isSend: Boolean,
val sendAt: LocalDateTime?,
val receivedAt: LocalDateTime?,
val isReported: Boolean,
val createdAt: LocalDateTime,
val updatedAt: LocalDateTime,
val isSenderDeleted: Boolean,
val senderDeletedAt: LocalDateTime?,
val isReceiverDeleted: Boolean,
val receiverDeletedAt: LocalDateTime?,

val messageRoomId: Long,
val anonymousProfileId: Long?,
val messageRoomOwnerId: Long,
val isBookmarked: Boolean
) {
}
15 changes: 15 additions & 0 deletions domain/src/main/kotlin/com/wespot/user/message/AnonymousProfile.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.wespot.user.message

import com.wespot.user.User
import java.time.LocalDateTime

class AnonymousProfile(
val id: Long,
val imageUrl: String,
val name: String,
val ownerId: User,
val receiverId: Long,
val createdAt: LocalDateTime,
val updatedAt: LocalDateTime,
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.wespot.user.message

import java.time.LocalDateTime

class UsedAnswerMessage(
val id: Long,
val userId: Long,
val isUsedAnswerMessageFeature: Boolean = false,
val createdAt: LocalDateTime,
val updatedAt: LocalDateTime
) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ data class OnBoardingExplanationComponent(
RichText.of("이해했어요", "#FF1B1C1E", 16, "Center", "SemiBold"),
"#FFF6FE8B",
"#FFC0C66B",
OnClickActionType.ACTION
OnClickActionType.ACTION,
Paddings.of(top = 8, bottom = 8)
)
),
Paddings.of(start = 20, end = 20, bottom = 12, top = 12)
Expand Down Expand Up @@ -116,7 +117,8 @@ data class OnBoardingExplanationComponent(
RichText.of("이해했어요", "#FF1B1C1E", 16, "Center", "SemiBold"),
"#FFF6FE8B",
"#FFC0C66B",
OnClickActionType.ACTION
OnClickActionType.ACTION,
Paddings.of(top = 8, bottom = 8)
)
),
Paddings.of(start = 20, end = 20, bottom = 12, top = 12)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ data class OnBoardingWelcomePageComponent(
"#FFF6FE8B",
"#FFC0C66B",
OnClickActionType.ACTION,
Paddings.of(top = 16, bottom = 16)
Paddings.of(top = 8, bottom = 8)
)
),
Paddings.of(start = 20, end = 20, bottom = 12, top = 12)
Expand All @@ -58,7 +58,7 @@ data class OnBoardingWelcomePageComponent(
"#FFF6FE8B",
"#FFC0C66B",
OnClickActionType.ACTION,
Paddings.of(top = 16, bottom = 16)
Paddings.of(top = 8, bottom = 8)
)
),
Paddings.of(start = 20, end = 20, bottom = 12, top = 12)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package com.wespot.common

import org.springframework.data.jpa.repository.JpaRepository

interface ViewedOnBoardingJpaRepository : JpaRepository<ViewedOnBoardingSheetEntity, Long> {
interface ViewedOnBoardingJpaRepository : JpaRepository<ViewedOnBoardingSheetJpaEntity, Long> {

fun findByUserId(userId: Long): ViewedOnBoardingSheetEntity?
fun findByUserId(userId: Long): ViewedOnBoardingSheetJpaEntity?

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,26 @@ import software.amazon.awssdk.annotations.NotNull

@Entity
@Table(name = "viewed_on_boarding_sheet", uniqueConstraints = [UniqueConstraint(columnNames = ["user_id"])])
data class ViewedOnBoardingSheetEntity(
data class ViewedOnBoardingSheetJpaEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long,

@field: NotNull
val userId: Long,

@field: NotNull
val isViewedMessageOnBoardingSheet: Boolean,

@field: NotNull
val isViewedVoteOnBoardingSheet: Boolean,

@field: NotNull
val isViewedAnswerMessageOnBoardingSheet: Boolean,

@Embedded
val baseEntity: BaseEntity,
val baseEntity: BaseEntity

) {

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,22 @@ import java.time.LocalDateTime

object ViewedOnBoardingSheetMapper {

fun mapToDomainEntity(viewedOnBoardingSheetEntity: ViewedOnBoardingSheetEntity): ViewedOnBoardingSheet =
fun mapToDomainEntity(viewedOnBoardingSheetEntity: ViewedOnBoardingSheetJpaEntity): ViewedOnBoardingSheet =
ViewedOnBoardingSheet(
id = viewedOnBoardingSheetEntity.id,
userId = viewedOnBoardingSheetEntity.userId,
isViewedVoteOnBoardingSheet = viewedOnBoardingSheetEntity.isViewedVoteOnBoardingSheet,
isViewedMessageOnBoardingSheet = viewedOnBoardingSheetEntity.isViewedMessageOnBoardingSheet
isViewedMessageOnBoardingSheet = viewedOnBoardingSheetEntity.isViewedMessageOnBoardingSheet,
isViewedAnswerMessageOnBoardingSheet = viewedOnBoardingSheetEntity.isViewedAnswerMessageOnBoardingSheet
)

fun mapToJpaEntity(viewedOnBoardingSheet: ViewedOnBoardingSheet): ViewedOnBoardingSheetEntity =
ViewedOnBoardingSheetEntity(
fun mapToJpaEntity(viewedOnBoardingSheet: ViewedOnBoardingSheet): ViewedOnBoardingSheetJpaEntity =
ViewedOnBoardingSheetJpaEntity(
id = viewedOnBoardingSheet.id,
userId = viewedOnBoardingSheet.userId,
isViewedVoteOnBoardingSheet = viewedOnBoardingSheet.isViewedVoteOnBoardingSheet,
isViewedMessageOnBoardingSheet = viewedOnBoardingSheet.isViewedMessageOnBoardingSheet,
isViewedAnswerMessageOnBoardingSheet = viewedOnBoardingSheet.isViewedAnswerMessageOnBoardingSheet,
baseEntity = BaseEntity(LocalDateTime.now(), LocalDateTime.now())
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.wespot.message
package com.wespot.message.v1

import com.wespot.common.BaseEntity
import com.wespot.message.MessageType
import jakarta.persistence.*
import org.jetbrains.annotations.NotNull
import java.time.LocalDateTime
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.wespot.message
package com.wespot.message.v1

import com.wespot.message.MessageType
import org.springframework.data.domain.Pageable
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Query
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.wespot.message
package com.wespot.message.v1

import com.wespot.common.BaseEntity
import com.wespot.message.Message
import com.wespot.message.MessageContent

object MessageMapper {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.wespot.message
package com.wespot.message.v1

import com.wespot.message.Message
import com.wespot.message.MessageType
import org.springframework.data.domain.Pageable
import org.springframework.data.repository.findByIdOrNull
import com.wespot.message.port.out.MessagePort
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package com.wespot.message.v2

import com.wespot.common.BaseEntity
import com.wespot.message.MessageType
import jakarta.persistence.*
import org.jetbrains.annotations.NotNull
import java.time.LocalDateTime

@Entity
@Table(name = "message")
class MessageJpaEntityV2(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long,

@field: NotNull
val content: String,

@field: NotNull
val senderId: Long,

@field: NotNull
val senderName: String,

@field: NotNull
val receiverId: Long,

@field: NotNull
val isAnonymous: Boolean,

@field: NotNull
val isReceiverRead: Boolean,

@Enumerated(EnumType.STRING)
val messageType: MessageType,

@field: NotNull
val isSend: Boolean,

val sendAt: LocalDateTime?,

val receivedAt: LocalDateTime?,

val readAt: LocalDateTime?,

@field: NotNull
val isReported: Boolean,

@Embedded
val baseEntity: BaseEntity,

@field: NotNull
val isSenderDeleted: Boolean,

val senderDeletedAt: LocalDateTime?,

@field: NotNull
val isReceiverDeleted: Boolean,

val receiverDeletedAt: LocalDateTime?,

val messageRoomId: Long,
val anonymousProfileId: Long?,
val messageRoomOwnerId: Long,
val isBookmarked: Boolean
) {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.wespot.message.v2

import org.springframework.data.jpa.repository.JpaRepository

interface MessageV2JpaRepository : JpaRepository<MessageJpaEntityV2, Long> {
}
Loading
Loading