diff --git a/common/persistence/src/main/kotlin/com/sangdol/common/persistence/IDGenerator.kt b/common/persistence/src/main/kotlin/com/sangdol/common/persistence/IDGenerator.kt new file mode 100644 index 00000000..ba6778ff --- /dev/null +++ b/common/persistence/src/main/kotlin/com/sangdol/common/persistence/IDGenerator.kt @@ -0,0 +1,13 @@ +package com.sangdol.common.persistence + +import com.github.f4b6a3.tsid.TsidFactory + +interface IDGenerator { + fun create(): Long +} + +class TsidIDGenerator( + private val tsidFactory: TsidFactory +) : IDGenerator { + override fun create(): Long = tsidFactory.create().toLong() +} diff --git a/service/src/main/kotlin/com/sangdol/roomescape/common/config/TsidConfig.kt b/service/src/main/kotlin/com/sangdol/roomescape/common/config/TsidConfig.kt deleted file mode 100644 index 5561e6b7..00000000 --- a/service/src/main/kotlin/com/sangdol/roomescape/common/config/TsidConfig.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.sangdol.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