From 816e5271be0c78f24f37be99c19d1a76b9cf1558 Mon Sep 17 00:00:00 2001 From: Jason Yoo Date: Fri, 19 Jul 2024 23:14:10 +0900 Subject: [PATCH] feat: use jsonignore annotation --- .../port/in/SccServerPersistentEventRecorder.kt | 2 +- .../domain/server_event/build.gradle.kts | 3 +++ .../server_event/NewsletterSubscribedOnSignupPayload.kt | 2 +- .../club/staircrusher/domain/server_event/ServerEvent.kt | 2 +- .../staircrusher/domain/server_event/ServerEventPayload.kt | 6 ++++-- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app-server/subprojects/cross_cutting_concern/application/server_event/src/main/kotlin/club/staircrusher/application/server_event/port/in/SccServerPersistentEventRecorder.kt b/app-server/subprojects/cross_cutting_concern/application/server_event/src/main/kotlin/club/staircrusher/application/server_event/port/in/SccServerPersistentEventRecorder.kt index dcf5385d2..290786835 100644 --- a/app-server/subprojects/cross_cutting_concern/application/server_event/src/main/kotlin/club/staircrusher/application/server_event/port/in/SccServerPersistentEventRecorder.kt +++ b/app-server/subprojects/cross_cutting_concern/application/server_event/src/main/kotlin/club/staircrusher/application/server_event/port/in/SccServerPersistentEventRecorder.kt @@ -20,7 +20,7 @@ class SccServerPersistentEventRecorder( val serverEvent = try { ServerEvent( id = EntityIdGenerator.generateRandom(), - type = payload.type(), + type = payload.type, payload = payload, createdAt = SccClock.instant(), ) diff --git a/app-server/subprojects/cross_cutting_concern/domain/server_event/build.gradle.kts b/app-server/subprojects/cross_cutting_concern/domain/server_event/build.gradle.kts index 19aa57066..179f9ab63 100644 --- a/app-server/subprojects/cross_cutting_concern/domain/server_event/build.gradle.kts +++ b/app-server/subprojects/cross_cutting_concern/domain/server_event/build.gradle.kts @@ -2,6 +2,9 @@ dependencies { val kotlinxSerializationVersion: String by project implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") + val jacksonModuleKotlinVersion: String by project + implementation("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonModuleKotlinVersion") + val jUnitJupiterVersion: String by project testImplementation("org.junit.jupiter:junit-jupiter-api:$jUnitJupiterVersion") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$jUnitJupiterVersion") diff --git a/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/NewsletterSubscribedOnSignupPayload.kt b/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/NewsletterSubscribedOnSignupPayload.kt index d7dfed08e..df1cc7686 100644 --- a/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/NewsletterSubscribedOnSignupPayload.kt +++ b/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/NewsletterSubscribedOnSignupPayload.kt @@ -3,5 +3,5 @@ package club.staircrusher.domain.server_event data class NewsletterSubscribedOnSignupPayload( val userId: String, ) : ServerEventPayload { - override fun type() = ServerEventType.NEWSLETTER_SUBSCRIBED_ON_SIGN_UP + override val type = ServerEventType.NEWSLETTER_SUBSCRIBED_ON_SIGN_UP } diff --git a/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEvent.kt b/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEvent.kt index 027970a75..027a02ded 100644 --- a/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEvent.kt +++ b/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEvent.kt @@ -9,6 +9,6 @@ data class ServerEvent( val createdAt: Instant, ) { init { - check(type == payload.type()) + check(type == payload.type) } } diff --git a/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEventPayload.kt b/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEventPayload.kt index feec7183e..a83add27f 100644 --- a/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEventPayload.kt +++ b/app-server/subprojects/cross_cutting_concern/domain/server_event/src/main/kotlin/club/staircrusher/domain/server_event/ServerEventPayload.kt @@ -1,6 +1,8 @@ package club.staircrusher.domain.server_event +import com.fasterxml.jackson.annotation.JsonIgnore + interface ServerEventPayload { - // getType 으로 이름을 붙이면 jackson 에서 getter 로 인식하면서 함께 직렬화가 된다 - fun type(): ServerEventType + @get:JsonIgnore + val type: ServerEventType }