diff --git a/api/src/main/kotlin/com/backgu/amaker/api/event/dto/EventWithUserAndChatRoomDto.kt b/api/src/main/kotlin/com/backgu/amaker/api/event/dto/EventWithUserAndChatRoomDto.kt index 7b3a9a41..21b62601 100644 --- a/api/src/main/kotlin/com/backgu/amaker/api/event/dto/EventWithUserAndChatRoomDto.kt +++ b/api/src/main/kotlin/com/backgu/amaker/api/event/dto/EventWithUserAndChatRoomDto.kt @@ -16,6 +16,7 @@ data class EventWithUserAndChatRoomDto( val users: List, val finishedCount: Int, val totalAssignedCount: Int, + val eventType: String, ) { companion object { fun of( @@ -34,6 +35,7 @@ data class EventWithUserAndChatRoomDto( users = users.map { UserDto.of(it) }, finishedCount = finishedCount, totalAssignedCount = users.size, + eventType = event.getEventType(), ) } } diff --git a/api/src/main/kotlin/com/backgu/amaker/api/event/dto/response/EventBriefResponse.kt b/api/src/main/kotlin/com/backgu/amaker/api/event/dto/response/EventBriefResponse.kt index 2e448768..ca38d3cd 100644 --- a/api/src/main/kotlin/com/backgu/amaker/api/event/dto/response/EventBriefResponse.kt +++ b/api/src/main/kotlin/com/backgu/amaker/api/event/dto/response/EventBriefResponse.kt @@ -5,6 +5,11 @@ import io.swagger.v3.oas.annotations.media.Schema import java.time.LocalDateTime data class EventBriefResponse( + @Schema( + description = "이벤트 타입", + example = "TASK", + ) + val eventType: String, @Schema( description = "이벤트 아이디", example = "2", @@ -71,6 +76,7 @@ data class EventBriefResponse( finishedCount = event.finishedCount, totalAssignedCount = event.totalAssignedCount, isMine = event.users.any { it.id == userId }, + eventType = event.eventType, ) } } diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/event/Event.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/event/Event.kt index 054aa019..84777772 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/event/Event.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/event/Event.kt @@ -33,4 +33,6 @@ abstract class Event( fun isAchieved(user: List): Boolean = user.size == user.count { it.isFinished } fun isClosed(): Boolean = LocalDateTime.now().isAfter(deadLine) + + abstract fun getEventType(): String } diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReactionEvent.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReactionEvent.kt index 040cf4a0..84e35619 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReactionEvent.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReactionEvent.kt @@ -11,6 +11,10 @@ class ReactionEvent( createdAt: LocalDateTime = LocalDateTime.now(), updatedAt: LocalDateTime = LocalDateTime.now(), ) : Event(id, eventTitle, deadLine, notificationStartTime, notificationInterval, createdAt, updatedAt) { + companion object { + const val EVENT_TYPE = "REPLY" + } + fun createReactionOption(contents: List) = contents.map { ReactionOption( @@ -27,4 +31,6 @@ class ReactionEvent( userId = userId, optionId = optionId, ) + + override fun getEventType(): String = EVENT_TYPE } diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReplyEvent.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReplyEvent.kt index c0fe5c5f..6e8ce63d 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReplyEvent.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/event/ReplyEvent.kt @@ -13,6 +13,10 @@ class ReplyEvent( createdAt: LocalDateTime = LocalDateTime.now(), updatedAt: LocalDateTime = LocalDateTime.now(), ) : Event(id, eventTitle, deadLine, notificationStartTime, notificationInterval, createdAt, updatedAt) { + companion object { + const val EVENT_TYPE = "REPLY" + } + fun addReplyComment( user: User, content: String, @@ -21,4 +25,6 @@ class ReplyEvent( eventId = id, content = content, ) + + override fun getEventType(): String = EVENT_TYPE }