From d2e2c9c888873f3b708e87fa35090b9e6a115410 Mon Sep 17 00:00:00 2001 From: pricelees Date: Sat, 2 Aug 2025 15:51:11 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20PK=20=EC=83=9D=EC=84=B1=20=EB=B0=A9?= =?UTF-8?q?=EC=8B=9D=20=EC=88=98=EC=A0=95(Auto-Generated=20->=20TSID)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 1 + .../roomescape/common/config/TsidConfig.kt | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 src/main/kotlin/roomescape/common/config/TsidConfig.kt diff --git a/build.gradle.kts b/build.gradle.kts index 10fcbf9d..bfec98c1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -39,6 +39,7 @@ dependencies { implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9") // DB + implementation("com.github.f4b6a3:tsid-creator:5.2.6") runtimeOnly("com.h2database:h2") runtimeOnly("com.mysql:mysql-connector-j") diff --git a/src/main/kotlin/roomescape/common/config/TsidConfig.kt b/src/main/kotlin/roomescape/common/config/TsidConfig.kt new file mode 100644 index 00000000..ea84f02c --- /dev/null +++ b/src/main/kotlin/roomescape/common/config/TsidConfig.kt @@ -0,0 +1,17 @@ +package roomescape.common.config + +import com.github.f4b6a3.tsid.TsidFactory +import org.springframework.beans.factory.annotation.Value +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration + +@Configuration +class TsidConfig { + @Value("\${POD_NAME:app-0}") + private lateinit var podName: String + + @Bean + fun tsidFactory(): TsidFactory = TsidFactory(podName.substringAfterLast("-").toInt()) +} + +fun TsidFactory.next(): Long = this.create().toLong() \ No newline at end of file