refactor: 메인 서비스 모듈 분리

This commit is contained in:
이상진 2025-09-27 17:20:49 +09:00
parent 32b8019576
commit bcaffb6718
171 changed files with 862 additions and 969 deletions

View File

@ -1,94 +1,50 @@
import org.jetbrains.kotlin.gradle.plugin.KaptExtension
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
val springBootVersion = "3.5.3"
val kotlinVersion = "2.2.0"
id("org.springframework.boot") version springBootVersion
id("io.spring.dependency-management") version "1.1.7"
kotlin("jvm") version kotlinVersion
kotlin("plugin.spring") version kotlinVersion
kotlin("plugin.jpa") version kotlinVersion
kotlin("kapt") version kotlinVersion
id("io.spring.dependency-management") version "1.1.7" apply false
id("org.springframework.boot") version springBootVersion apply false
kotlin("jvm") version kotlinVersion apply false
kotlin("kapt") version kotlinVersion apply false
kotlin("plugin.spring") version kotlinVersion apply false
kotlin("plugin.jpa") version kotlinVersion apply false
}
group = "com.sangdol"
version = "0.0.1-SNAPSHOT"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
allprojects {
repositories {
mavenCentral()
}
}
tasks.jar {
enabled = false
}
subprojects {
apply(plugin = "org.jetbrains.kotlin.jvm")
apply(plugin = "org.jetbrains.kotlin.kapt")
apply(plugin = "io.spring.dependency-management")
kapt {
extensions.configure<JavaPluginExtension> {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
extensions.configure<KaptExtension> {
keepJavacAnnotationProcessors = true
}
}
repositories {
mavenCentral()
}
dependencies {
add("implementation", "io.github.oshai:kotlin-logging-jvm:7.0.3")
}
dependencies {
// Spring
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-validation")
// API docs
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")
// Jwt
implementation("io.jsonwebtoken:jjwt:0.12.6")
// Logging
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
implementation("net.logstash.logback:logstash-logback-encoder:8.1")
implementation("com.github.loki4j:loki-logback-appender:2.0.0")
implementation("net.ttddyy.observation:datasource-micrometer-spring-boot:1.1.1")
// Observability
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("io.micrometer:micrometer-tracing-bridge-otel")
implementation("io.opentelemetry:opentelemetry-exporter-otlp")
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
// Kotlin
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
// Test
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("io.mockk:mockk:1.14.4")
testImplementation("com.ninja-squad:springmockk:4.0.2")
// Kotest
testImplementation("io.kotest:kotest-runner-junit5:5.9.1")
testImplementation("io.kotest.extensions:kotest-extensions-spring:1.3.0")
// RestAssured
testImplementation("io.rest-assured:rest-assured:5.5.5")
testImplementation("io.rest-assured:kotlin-extensions:5.5.5")
// etc
implementation("org.apache.poi:poi-ooxml:5.2.3")
}
tasks.withType<Test> {
tasks.withType<Test> {
useJUnitPlatform()
}
}
tasks.withType<KotlinCompile> {
tasks.withType<KotlinCompile> {
compilerOptions {
freeCompilerArgs.addAll(
"-Xjsr305=strict",
@ -96,4 +52,5 @@ tasks.withType<KotlinCompile> {
)
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
}

60
service/build.gradle.kts Normal file
View File

@ -0,0 +1,60 @@
plugins {
id("org.springframework.boot")
kotlin("plugin.spring")
kotlin("plugin.jpa")
}
dependencies {
// Spring
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-validation")
// API docs
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")
// Jwt
implementation("io.jsonwebtoken:jjwt:0.12.6")
// Logging
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
implementation("net.logstash.logback:logstash-logback-encoder:8.1")
implementation("com.github.loki4j:loki-logback-appender:2.0.0")
implementation("net.ttddyy.observation:datasource-micrometer-spring-boot:1.1.1")
// Observability
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("io.micrometer:micrometer-tracing-bridge-otel")
implementation("io.opentelemetry:opentelemetry-exporter-otlp")
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
// Kotlin
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
// Test
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("io.mockk:mockk:1.14.4")
testImplementation("com.ninja-squad:springmockk:4.0.2")
// Kotest
testImplementation("io.kotest:kotest-runner-junit5:5.9.1")
testImplementation("io.kotest.extensions:kotest-extensions-spring:1.3.0")
// RestAssured
testImplementation("io.rest-assured:rest-assured:5.5.5")
testImplementation("io.rest-assured:kotlin-extensions:5.5.5")
// etc
implementation("org.apache.poi:poi-ooxml:5.2.3")
}
tasks.jar {
enabled = false
}

View File

@ -1,4 +1,4 @@
package roomescape
package com.sangdol.roomescape
import org.springframework.boot.Banner
import org.springframework.boot.SpringApplication

View File

@ -1,17 +1,17 @@
package roomescape.admin.business
package com.sangdol.roomescape.admin.business
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.admin.exception.AdminErrorCode
import roomescape.admin.exception.AdminException
import roomescape.admin.infrastructure.persistence.AdminRepository
import roomescape.common.dto.AdminLoginCredentials
import roomescape.common.dto.AuditConstant
import roomescape.common.dto.OperatorInfo
import roomescape.common.dto.toCredentials
import com.sangdol.roomescape.admin.exception.AdminErrorCode
import com.sangdol.roomescape.admin.exception.AdminException
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminRepository
import com.sangdol.roomescape.common.dto.AdminLoginCredentials
import com.sangdol.roomescape.common.dto.AuditConstant
import com.sangdol.roomescape.common.dto.OperatorInfo
import com.sangdol.roomescape.common.dto.toCredentials
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,8 +1,8 @@
package roomescape.admin.exception
package com.sangdol.roomescape.admin.exception
import com.sangdol.roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.RoomescapeException
import org.springframework.http.HttpStatus
import roomescape.common.exception.ErrorCode
import roomescape.common.exception.RoomescapeException
class AdminException(
override val errorCode: AdminErrorCode,

View File

@ -1,8 +1,8 @@
package roomescape.admin.infrastructure.persistence
package com.sangdol.roomescape.admin.infrastructure.persistence
import jakarta.persistence.*
import org.springframework.data.jpa.domain.support.AuditingEntityListener
import roomescape.common.entity.AuditingBaseEntity
import com.sangdol.roomescape.common.entity.AuditingBaseEntity
@Entity
@Table(name = "admin")

View File

@ -1,4 +1,4 @@
package roomescape.admin.infrastructure.persistence
package com.sangdol.roomescape.admin.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -1,19 +1,19 @@
package roomescape.auth.business
package com.sangdol.roomescape.auth.business
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.admin.business.AdminService
import roomescape.auth.exception.AuthErrorCode
import roomescape.auth.exception.AuthException
import roomescape.auth.infrastructure.jwt.JwtUtils
import roomescape.auth.web.LoginContext
import roomescape.auth.web.LoginRequest
import roomescape.auth.web.LoginSuccessResponse
import roomescape.common.dto.LoginCredentials
import roomescape.common.dto.PrincipalType
import roomescape.user.business.UserService
import com.sangdol.roomescape.admin.business.AdminService
import com.sangdol.roomescape.auth.exception.AuthErrorCode
import com.sangdol.roomescape.auth.exception.AuthException
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
import com.sangdol.roomescape.auth.web.LoginContext
import com.sangdol.roomescape.auth.web.LoginRequest
import com.sangdol.roomescape.auth.web.LoginSuccessResponse
import com.sangdol.roomescape.common.dto.LoginCredentials
import com.sangdol.roomescape.common.dto.PrincipalType
import com.sangdol.roomescape.user.business.UserService
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.auth.business
package com.sangdol.roomescape.auth.business
import com.github.f4b6a3.tsid.TsidFactory
import io.github.oshai.kotlinlogging.KLogger
@ -6,11 +6,11 @@ import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Propagation
import org.springframework.transaction.annotation.Transactional
import roomescape.auth.infrastructure.persistence.LoginHistoryEntity
import roomescape.auth.infrastructure.persistence.LoginHistoryRepository
import roomescape.auth.web.LoginContext
import roomescape.common.config.next
import roomescape.common.dto.PrincipalType
import com.sangdol.roomescape.auth.infrastructure.persistence.LoginHistoryEntity
import com.sangdol.roomescape.auth.infrastructure.persistence.LoginHistoryRepository
import com.sangdol.roomescape.auth.web.LoginContext
import com.sangdol.roomescape.common.config.next
import com.sangdol.roomescape.common.dto.PrincipalType
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.auth.docs
package com.sangdol.roomescape.auth.docs
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.responses.ApiResponse
@ -8,12 +8,12 @@ import jakarta.servlet.http.HttpServletResponse
import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RequestBody
import roomescape.auth.web.LoginRequest
import roomescape.auth.web.LoginSuccessResponse
import roomescape.auth.web.support.Public
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.auth.web.LoginRequest
import com.sangdol.roomescape.auth.web.LoginSuccessResponse
import com.sangdol.roomescape.auth.web.support.Public
import com.sangdol.roomescape.auth.web.support.User
import com.sangdol.roomescape.common.dto.CurrentUserContext
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
interface AuthAPI {

View File

@ -1,7 +1,7 @@
package roomescape.auth.exception
package com.sangdol.roomescape.auth.exception
import org.springframework.http.HttpStatus
import roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.ErrorCode
enum class AuthErrorCode(
override val httpStatus: HttpStatus,

View File

@ -1,6 +1,6 @@
package roomescape.auth.exception
package com.sangdol.roomescape.auth.exception
import roomescape.common.exception.RoomescapeException
import com.sangdol.roomescape.common.exception.RoomescapeException
class AuthException(
override val errorCode: AuthErrorCode,

View File

@ -1,4 +1,4 @@
package roomescape.auth.infrastructure.jwt
package com.sangdol.roomescape.auth.infrastructure.jwt
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -8,8 +8,8 @@ import io.jsonwebtoken.Jwts
import io.jsonwebtoken.security.Keys
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Component
import roomescape.auth.exception.AuthErrorCode
import roomescape.auth.exception.AuthException
import com.sangdol.roomescape.auth.exception.AuthErrorCode
import com.sangdol.roomescape.auth.exception.AuthException
import java.util.*
import javax.crypto.SecretKey

View File

@ -1,10 +1,10 @@
package roomescape.auth.infrastructure.persistence
package com.sangdol.roomescape.auth.infrastructure.persistence
import jakarta.persistence.*
import org.springframework.data.annotation.CreatedDate
import org.springframework.data.jpa.domain.support.AuditingEntityListener
import roomescape.common.dto.PrincipalType
import roomescape.common.entity.PersistableBaseEntity
import com.sangdol.roomescape.common.dto.PrincipalType
import com.sangdol.roomescape.common.entity.PersistableBaseEntity
import java.time.LocalDateTime
@Entity

View File

@ -1,4 +1,4 @@
package roomescape.auth.infrastructure.persistence
package com.sangdol.roomescape.auth.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -1,4 +1,4 @@
package roomescape.auth.web
package com.sangdol.roomescape.auth.web
import jakarta.servlet.http.HttpServletRequest
import jakarta.servlet.http.HttpServletResponse
@ -6,11 +6,11 @@ import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import roomescape.auth.business.AuthService
import roomescape.auth.docs.AuthAPI
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.auth.business.AuthService
import com.sangdol.roomescape.auth.docs.AuthAPI
import com.sangdol.roomescape.auth.web.support.User
import com.sangdol.roomescape.common.dto.CurrentUserContext
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
@RestController
@RequestMapping("/auth")

View File

@ -1,8 +1,8 @@
package roomescape.auth.web
package com.sangdol.roomescape.auth.web
import jakarta.servlet.http.HttpServletRequest
import roomescape.admin.infrastructure.persistence.AdminType
import roomescape.common.dto.PrincipalType
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
import com.sangdol.roomescape.common.dto.PrincipalType
data class LoginContext(
val ipAddress: String,

View File

@ -1,7 +1,7 @@
package roomescape.auth.web.support
package com.sangdol.roomescape.auth.web.support
import roomescape.admin.infrastructure.persistence.AdminType
import roomescape.admin.infrastructure.persistence.Privilege
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)

View File

@ -1,4 +1,4 @@
package roomescape.auth.web.support
package com.sangdol.roomescape.auth.web.support
import jakarta.servlet.http.HttpServletRequest

View File

@ -1,4 +1,4 @@
package roomescape.auth.web.support.interceptors
package com.sangdol.roomescape.auth.web.support.interceptors
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -7,17 +7,17 @@ import jakarta.servlet.http.HttpServletResponse
import org.springframework.stereotype.Component
import org.springframework.web.method.HandlerMethod
import org.springframework.web.servlet.HandlerInterceptor
import roomescape.admin.infrastructure.persistence.AdminPermissionLevel
import roomescape.admin.infrastructure.persistence.AdminType
import roomescape.admin.infrastructure.persistence.Privilege
import roomescape.auth.business.CLAIM_ADMIN_TYPE_KEY
import roomescape.auth.business.CLAIM_PERMISSION_KEY
import roomescape.auth.exception.AuthErrorCode
import roomescape.auth.exception.AuthException
import roomescape.auth.infrastructure.jwt.JwtUtils
import roomescape.auth.web.support.AdminOnly
import roomescape.auth.web.support.accessToken
import roomescape.common.util.MdcPrincipalId
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminPermissionLevel
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
import com.sangdol.roomescape.auth.business.CLAIM_ADMIN_TYPE_KEY
import com.sangdol.roomescape.auth.business.CLAIM_PERMISSION_KEY
import com.sangdol.roomescape.auth.exception.AuthErrorCode
import com.sangdol.roomescape.auth.exception.AuthException
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
import com.sangdol.roomescape.auth.web.support.AdminOnly
import com.sangdol.roomescape.auth.web.support.accessToken
import com.sangdol.roomescape.common.util.MdcPrincipalId
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.auth.web.support.interceptors
package com.sangdol.roomescape.auth.web.support.interceptors
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -7,13 +7,13 @@ import jakarta.servlet.http.HttpServletResponse
import org.springframework.stereotype.Component
import org.springframework.web.method.HandlerMethod
import org.springframework.web.servlet.HandlerInterceptor
import roomescape.auth.business.CLAIM_ADMIN_TYPE_KEY
import roomescape.auth.exception.AuthErrorCode
import roomescape.auth.exception.AuthException
import roomescape.auth.infrastructure.jwt.JwtUtils
import roomescape.auth.web.support.UserOnly
import roomescape.auth.web.support.accessToken
import roomescape.common.util.MdcPrincipalId
import com.sangdol.roomescape.auth.business.CLAIM_ADMIN_TYPE_KEY
import com.sangdol.roomescape.auth.exception.AuthErrorCode
import com.sangdol.roomescape.auth.exception.AuthException
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
import com.sangdol.roomescape.auth.web.support.UserOnly
import com.sangdol.roomescape.auth.web.support.accessToken
import com.sangdol.roomescape.common.util.MdcPrincipalId
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.auth.web.support.resolver
package com.sangdol.roomescape.auth.web.support.resolver
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -9,12 +9,12 @@ import org.springframework.web.bind.support.WebDataBinderFactory
import org.springframework.web.context.request.NativeWebRequest
import org.springframework.web.method.support.HandlerMethodArgumentResolver
import org.springframework.web.method.support.ModelAndViewContainer
import roomescape.auth.exception.AuthErrorCode
import roomescape.auth.exception.AuthException
import roomescape.auth.infrastructure.jwt.JwtUtils
import roomescape.auth.web.support.User
import roomescape.auth.web.support.accessToken
import roomescape.user.business.UserService
import com.sangdol.roomescape.auth.exception.AuthErrorCode
import com.sangdol.roomescape.auth.exception.AuthException
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
import com.sangdol.roomescape.auth.web.support.User
import com.sangdol.roomescape.auth.web.support.accessToken
import com.sangdol.roomescape.user.business.UserService
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.common.config
package com.sangdol.roomescape.common.config
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.databind.DeserializationFeature

View File

@ -1,10 +1,10 @@
package roomescape.common.config
package com.sangdol.roomescape.common.config
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.data.domain.AuditorAware
import org.springframework.data.jpa.repository.config.EnableJpaAuditing
import roomescape.common.util.MdcPrincipalId
import com.sangdol.roomescape.common.util.MdcPrincipalId
import java.util.*
@Configuration

View File

@ -0,0 +1,15 @@
package com.sangdol.roomescape.common.config
import io.swagger.v3.oas.models.OpenAPI
import io.swagger.v3.oas.models.info.Info
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
@Configuration
class SwaggerConfig {
@Bean
fun openAPI(): OpenAPI {
return OpenAPI()
}
}

View File

@ -1,4 +1,4 @@
package roomescape.common.config
package com.sangdol.roomescape.common.config
import com.github.f4b6a3.tsid.TsidFactory
import org.springframework.beans.factory.annotation.Value

View File

@ -1,12 +1,12 @@
package roomescape.common.config
package com.sangdol.roomescape.common.config
import org.springframework.context.annotation.Configuration
import org.springframework.web.method.support.HandlerMethodArgumentResolver
import org.springframework.web.servlet.config.annotation.InterceptorRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
import roomescape.auth.web.support.interceptors.AdminInterceptor
import roomescape.auth.web.support.interceptors.UserInterceptor
import roomescape.auth.web.support.resolver.UserContextResolver
import com.sangdol.roomescape.auth.web.support.interceptors.AdminInterceptor
import com.sangdol.roomescape.auth.web.support.interceptors.UserInterceptor
import com.sangdol.roomescape.auth.web.support.resolver.UserContextResolver
@Configuration
class WebMvcConfig(

View File

@ -1,4 +1,4 @@
package roomescape.common.dto
package com.sangdol.roomescape.common.dto
import java.time.LocalDateTime

View File

@ -1,12 +1,12 @@
package roomescape.common.dto
package com.sangdol.roomescape.common.dto
import roomescape.admin.infrastructure.persistence.AdminEntity
import roomescape.admin.infrastructure.persistence.AdminPermissionLevel
import roomescape.admin.infrastructure.persistence.AdminType
import roomescape.auth.web.AdminLoginSuccessResponse
import roomescape.auth.web.LoginSuccessResponse
import roomescape.auth.web.UserLoginSuccessResponse
import roomescape.user.infrastructure.persistence.UserEntity
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminEntity
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminPermissionLevel
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
import com.sangdol.roomescape.auth.web.AdminLoginSuccessResponse
import com.sangdol.roomescape.auth.web.LoginSuccessResponse
import com.sangdol.roomescape.auth.web.UserLoginSuccessResponse
import com.sangdol.roomescape.user.infrastructure.persistence.UserEntity
abstract class LoginCredentials {

View File

@ -1,7 +1,7 @@
package roomescape.common.dto.response
package com.sangdol.roomescape.common.dto.response
import com.fasterxml.jackson.annotation.JsonInclude
import roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.ErrorCode
@JsonInclude(JsonInclude.Include.NON_NULL)
data class CommonApiResponse<T>(

View File

@ -1,4 +1,4 @@
package roomescape.common.entity
package com.sangdol.roomescape.common.entity
import jakarta.persistence.*
import org.springframework.data.annotation.CreatedBy

View File

@ -1,4 +1,4 @@
package roomescape.common.exception
package com.sangdol.roomescape.common.exception
import org.springframework.http.HttpStatus

View File

@ -1,4 +1,4 @@
package roomescape.common.exception
package com.sangdol.roomescape.common.exception
import org.springframework.http.HttpStatus

View File

@ -1,4 +1,4 @@
package roomescape.common.exception
package com.sangdol.roomescape.common.exception
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -10,12 +10,12 @@ import org.springframework.http.converter.HttpMessageNotReadableException
import org.springframework.web.bind.MethodArgumentNotValidException
import org.springframework.web.bind.annotation.ExceptionHandler
import org.springframework.web.bind.annotation.RestControllerAdvice
import roomescape.auth.exception.AuthException
import roomescape.common.dto.response.CommonErrorResponse
import roomescape.common.log.ApiLogMessageConverter
import roomescape.common.log.ConvertResponseMessageRequest
import roomescape.common.log.LogType
import roomescape.common.log.getEndpoint
import com.sangdol.roomescape.auth.exception.AuthException
import com.sangdol.roomescape.common.dto.response.CommonErrorResponse
import com.sangdol.roomescape.common.log.ApiLogMessageConverter
import com.sangdol.roomescape.common.log.ConvertResponseMessageRequest
import com.sangdol.roomescape.common.log.LogType
import com.sangdol.roomescape.common.log.getEndpoint
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.common.exception
package com.sangdol.roomescape.common.exception
open class RoomescapeException(
open val errorCode: ErrorCode,

View File

@ -1,8 +1,8 @@
package roomescape.common.log
package com.sangdol.roomescape.common.log
import com.fasterxml.jackson.databind.ObjectMapper
import jakarta.servlet.http.HttpServletRequest
import roomescape.common.util.MdcPrincipalId
import com.sangdol.roomescape.common.util.MdcPrincipalId
enum class LogType {
INCOMING_HTTP_REQUEST,

View File

@ -1,4 +1,4 @@
package roomescape.common.log
package com.sangdol.roomescape.common.log
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -24,7 +24,7 @@ class ControllerLoggingAspect(
private val messageConverter: ApiLogMessageConverter,
) {
@Pointcut("execution(* roomescape..web..*Controller*.*(..))")
@Pointcut("execution(* com.sangdol.roomescape..web..*Controller*.*(..))")
fun allController() {
}

View File

@ -1,4 +1,4 @@
package roomescape.common.log
package com.sangdol.roomescape.common.log
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -9,7 +9,7 @@ import org.slf4j.MDC
import org.springframework.web.filter.OncePerRequestFilter
import org.springframework.web.util.ContentCachingRequestWrapper
import org.springframework.web.util.ContentCachingResponseWrapper
import roomescape.common.util.MdcPrincipalId
import com.sangdol.roomescape.common.util.MdcPrincipalId
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.common.log
package com.sangdol.roomescape.common.log
import com.fasterxml.jackson.databind.ObjectMapper
import org.springframework.boot.web.servlet.FilterRegistrationBean

View File

@ -1,4 +1,4 @@
package roomescape.common.log
package com.sangdol.roomescape.common.log
import net.ttddyy.dsproxy.ExecutionInfo
import net.ttddyy.dsproxy.QueryInfo

View File

@ -1,4 +1,4 @@
package roomescape.common.log
package com.sangdol.roomescape.common.log
import com.zaxxer.hikari.HikariDataSource
import net.ttddyy.dsproxy.listener.logging.SLF4JLogLevel

View File

@ -1,4 +1,4 @@
package roomescape.common.log
package com.sangdol.roomescape.common.log
import ch.qos.logback.classic.pattern.MessageConverter
import ch.qos.logback.classic.spi.ILoggingEvent
@ -7,7 +7,7 @@ import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.node.ArrayNode
import com.fasterxml.jackson.databind.node.ObjectNode
import com.fasterxml.jackson.databind.node.TextNode
import roomescape.common.config.JacksonConfig
import com.sangdol.roomescape.common.config.JacksonConfig
private const val MASK: String = "****"
private val SENSITIVE_KEYS = setOf("password", "accessToken", "phone")

View File

@ -1,4 +1,4 @@
package roomescape.common.util
package com.sangdol.roomescape.common.util
import java.time.DayOfWeek
import java.time.LocalDate

View File

@ -1,4 +1,4 @@
package roomescape.common.util
package com.sangdol.roomescape.common.util
import org.slf4j.MDC
import java.util.*

View File

@ -1,4 +1,4 @@
package roomescape.common.util
package com.sangdol.roomescape.common.util
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
@ -6,8 +6,8 @@ import org.springframework.stereotype.Component
import org.springframework.transaction.PlatformTransactionManager
import org.springframework.transaction.TransactionDefinition
import org.springframework.transaction.support.TransactionTemplate
import roomescape.common.exception.CommonErrorCode
import roomescape.common.exception.RoomescapeException
import com.sangdol.roomescape.common.exception.CommonErrorCode
import com.sangdol.roomescape.common.exception.RoomescapeException
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,17 +1,17 @@
package roomescape.payment.business
package com.sangdol.roomescape.payment.business
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.common.util.TransactionExecutionUtil
import roomescape.payment.exception.PaymentErrorCode
import roomescape.payment.exception.PaymentException
import roomescape.payment.infrastructure.client.PaymentClientCancelResponse
import roomescape.payment.infrastructure.client.PaymentClientConfirmResponse
import roomescape.payment.infrastructure.client.TosspayClient
import roomescape.payment.infrastructure.persistence.*
import roomescape.payment.web.*
import com.sangdol.roomescape.common.util.TransactionExecutionUtil
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
import com.sangdol.roomescape.payment.exception.PaymentException
import com.sangdol.roomescape.payment.infrastructure.client.PaymentClientCancelResponse
import com.sangdol.roomescape.payment.infrastructure.client.PaymentClientConfirmResponse
import com.sangdol.roomescape.payment.infrastructure.client.TosspayClient
import com.sangdol.roomescape.payment.infrastructure.persistence.*
import com.sangdol.roomescape.payment.web.*
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,16 +1,16 @@
package roomescape.payment.business
package com.sangdol.roomescape.payment.business
import com.github.f4b6a3.tsid.TsidFactory
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Component
import roomescape.common.config.next
import roomescape.payment.exception.PaymentErrorCode
import roomescape.payment.exception.PaymentException
import roomescape.payment.infrastructure.client.*
import roomescape.payment.infrastructure.common.PaymentMethod
import roomescape.payment.infrastructure.common.PaymentType
import roomescape.payment.infrastructure.persistence.*
import com.sangdol.roomescape.common.config.next
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
import com.sangdol.roomescape.payment.exception.PaymentException
import com.sangdol.roomescape.payment.infrastructure.client.*
import com.sangdol.roomescape.payment.infrastructure.common.PaymentMethod
import com.sangdol.roomescape.payment.infrastructure.common.PaymentType
import com.sangdol.roomescape.payment.infrastructure.persistence.*
import java.time.LocalDateTime
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.payment.docs
package com.sangdol.roomescape.payment.docs
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.responses.ApiResponse
@ -7,13 +7,13 @@ import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestParam
import roomescape.auth.web.support.User
import roomescape.auth.web.support.UserOnly
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.payment.web.PaymentCancelRequest
import roomescape.payment.web.PaymentConfirmRequest
import roomescape.payment.web.PaymentCreateResponse
import com.sangdol.roomescape.auth.web.support.User
import com.sangdol.roomescape.auth.web.support.UserOnly
import com.sangdol.roomescape.common.dto.CurrentUserContext
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.payment.web.PaymentCancelRequest
import com.sangdol.roomescape.payment.web.PaymentConfirmRequest
import com.sangdol.roomescape.payment.web.PaymentCreateResponse
interface PaymentAPI {

View File

@ -1,7 +1,7 @@
package roomescape.payment.exception
package com.sangdol.roomescape.payment.exception
import org.springframework.http.HttpStatus
import roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.ErrorCode
enum class PaymentErrorCode(
override val httpStatus: HttpStatus,

View File

@ -1,6 +1,6 @@
package roomescape.payment.exception
package com.sangdol.roomescape.payment.exception
import roomescape.common.exception.RoomescapeException
import com.sangdol.roomescape.common.exception.RoomescapeException
class PaymentException(
override val errorCode: PaymentErrorCode,

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.client
package com.sangdol.roomescape.payment.infrastructure.client
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.client
package com.sangdol.roomescape.payment.infrastructure.client
import org.springframework.boot.context.properties.ConfigurationProperties

View File

@ -1,11 +1,11 @@
package roomescape.payment.infrastructure.client
package com.sangdol.roomescape.payment.infrastructure.client
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.DeserializationContext
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import roomescape.payment.infrastructure.common.PaymentStatus
import roomescape.payment.infrastructure.persistence.CanceledPaymentEntity
import com.sangdol.roomescape.payment.infrastructure.common.PaymentStatus
import com.sangdol.roomescape.payment.infrastructure.persistence.CanceledPaymentEntity
import java.time.LocalDateTime
import java.time.OffsetDateTime

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.client
package com.sangdol.roomescape.payment.infrastructure.client
import com.fasterxml.jackson.databind.ObjectMapper
import io.github.oshai.kotlinlogging.KLogger
@ -10,8 +10,8 @@ import org.springframework.http.client.ClientHttpResponse
import org.springframework.stereotype.Component
import org.springframework.web.client.ResponseErrorHandler
import org.springframework.web.client.RestClient
import roomescape.payment.exception.PaymentErrorCode
import roomescape.payment.exception.PaymentException
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
import com.sangdol.roomescape.payment.exception.PaymentException
import java.net.URI
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,12 +1,12 @@
package roomescape.payment.infrastructure.client
package com.sangdol.roomescape.payment.infrastructure.client
import roomescape.payment.exception.PaymentErrorCode
import roomescape.payment.exception.PaymentException
import roomescape.payment.infrastructure.common.*
import roomescape.payment.infrastructure.persistence.PaymentBankTransferDetailEntity
import roomescape.payment.infrastructure.persistence.PaymentCardDetailEntity
import roomescape.payment.infrastructure.persistence.PaymentEasypayPrepaidDetailEntity
import roomescape.payment.infrastructure.persistence.PaymentEntity
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
import com.sangdol.roomescape.payment.exception.PaymentException
import com.sangdol.roomescape.payment.infrastructure.common.*
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentBankTransferDetailEntity
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentCardDetailEntity
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentEasypayPrepaidDetailEntity
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentEntity
import java.time.OffsetDateTime
data class PaymentClientConfirmResponse(

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.client
package com.sangdol.roomescape.payment.infrastructure.client
data class TosspayErrorResponse(
val code: String,

View File

@ -1,10 +1,10 @@
package roomescape.payment.infrastructure.common
package com.sangdol.roomescape.payment.infrastructure.common
import com.fasterxml.jackson.annotation.JsonCreator
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import roomescape.payment.exception.PaymentErrorCode
import roomescape.payment.exception.PaymentException
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
import com.sangdol.roomescape.payment.exception.PaymentException
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,8 +1,8 @@
package roomescape.payment.infrastructure.persistence
package com.sangdol.roomescape.payment.infrastructure.persistence
import jakarta.persistence.Entity
import jakarta.persistence.Table
import roomescape.common.entity.PersistableBaseEntity
import com.sangdol.roomescape.common.entity.PersistableBaseEntity
import java.time.LocalDateTime
import java.time.OffsetDateTime

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.persistence
package com.sangdol.roomescape.payment.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -1,8 +1,8 @@
package roomescape.payment.infrastructure.persistence
package com.sangdol.roomescape.payment.infrastructure.persistence
import jakarta.persistence.*
import roomescape.common.entity.PersistableBaseEntity
import roomescape.payment.infrastructure.common.*
import com.sangdol.roomescape.common.entity.PersistableBaseEntity
import com.sangdol.roomescape.payment.infrastructure.common.*
@Entity
@Table(name = "payment_detail")

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.persistence
package com.sangdol.roomescape.payment.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -1,13 +1,13 @@
package roomescape.payment.infrastructure.persistence
package com.sangdol.roomescape.payment.infrastructure.persistence
import jakarta.persistence.Entity
import jakarta.persistence.EnumType
import jakarta.persistence.Enumerated
import jakarta.persistence.Table
import roomescape.common.entity.PersistableBaseEntity
import roomescape.payment.infrastructure.common.PaymentMethod
import roomescape.payment.infrastructure.common.PaymentStatus
import roomescape.payment.infrastructure.common.PaymentType
import com.sangdol.roomescape.common.entity.PersistableBaseEntity
import com.sangdol.roomescape.payment.infrastructure.common.PaymentMethod
import com.sangdol.roomescape.payment.infrastructure.common.PaymentStatus
import com.sangdol.roomescape.payment.infrastructure.common.PaymentType
import java.time.OffsetDateTime
@Entity

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.persistence
package com.sangdol.roomescape.payment.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -1,13 +1,13 @@
package roomescape.payment.web
package com.sangdol.roomescape.payment.web
import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.payment.business.PaymentService
import roomescape.payment.docs.PaymentAPI
import com.sangdol.roomescape.auth.web.support.User
import com.sangdol.roomescape.common.dto.CurrentUserContext
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.payment.business.PaymentService
import com.sangdol.roomescape.payment.docs.PaymentAPI
@RestController
@RequestMapping("/payments")

View File

@ -1,11 +1,11 @@
package roomescape.payment.web
package com.sangdol.roomescape.payment.web
import roomescape.payment.exception.PaymentErrorCode
import roomescape.payment.exception.PaymentException
import roomescape.payment.infrastructure.common.PaymentStatus
import roomescape.payment.infrastructure.common.PaymentType
import roomescape.payment.infrastructure.persistence.*
import roomescape.payment.web.PaymentDetailResponse.*
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
import com.sangdol.roomescape.payment.exception.PaymentException
import com.sangdol.roomescape.payment.infrastructure.common.PaymentStatus
import com.sangdol.roomescape.payment.infrastructure.common.PaymentType
import com.sangdol.roomescape.payment.infrastructure.persistence.*
import com.sangdol.roomescape.payment.web.PaymentDetailResponse.*
import java.time.LocalDateTime
import java.time.OffsetDateTime

View File

@ -1,13 +1,13 @@
package roomescape.region.business
package com.sangdol.roomescape.region.business
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.region.exception.RegionErrorCode
import roomescape.region.exception.RegionException
import roomescape.region.infrastructure.persistence.RegionRepository
import roomescape.region.web.*
import com.sangdol.roomescape.region.exception.RegionErrorCode
import com.sangdol.roomescape.region.exception.RegionException
import com.sangdol.roomescape.region.infrastructure.persistence.RegionRepository
import com.sangdol.roomescape.region.web.*
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,15 +1,15 @@
package roomescape.region.docs
package com.sangdol.roomescape.region.docs
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.responses.ApiResponses
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RequestParam
import roomescape.auth.web.support.Public
import roomescape.common.dto.response.CommonApiResponse
import roomescape.region.web.RegionCodeResponse
import roomescape.region.web.SidoListResponse
import roomescape.region.web.SigunguListResponse
import com.sangdol.roomescape.auth.web.support.Public
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.region.web.RegionCodeResponse
import com.sangdol.roomescape.region.web.SidoListResponse
import com.sangdol.roomescape.region.web.SigunguListResponse
interface RegionAPI {

View File

@ -1,8 +1,8 @@
package roomescape.region.exception
package com.sangdol.roomescape.region.exception
import org.springframework.http.HttpStatus
import roomescape.common.exception.ErrorCode
import roomescape.common.exception.RoomescapeException
import com.sangdol.roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.RoomescapeException
class RegionException(
override val errorCode: RegionErrorCode,

View File

@ -1,4 +1,4 @@
package roomescape.region.infrastructure.persistence
package com.sangdol.roomescape.region.infrastructure.persistence
import jakarta.persistence.Entity
import jakarta.persistence.Id

View File

@ -1,4 +1,4 @@
package roomescape.region.infrastructure.persistence
package com.sangdol.roomescape.region.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Query

View File

@ -1,13 +1,13 @@
package roomescape.region.web
package com.sangdol.roomescape.region.web
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
import roomescape.common.dto.response.CommonApiResponse
import roomescape.region.business.RegionService
import roomescape.region.docs.RegionAPI
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.region.business.RegionService
import com.sangdol.roomescape.region.docs.RegionAPI
@RestController
@RequestMapping("/regions")

View File

@ -1,4 +1,4 @@
package roomescape.region.web
package com.sangdol.roomescape.region.web
data class SidoResponse(
val code: String,

View File

@ -1,4 +1,4 @@
package roomescape.reservation.business
package com.sangdol.roomescape.reservation.business
import com.github.f4b6a3.tsid.TsidFactory
import io.github.oshai.kotlinlogging.KLogger
@ -6,23 +6,21 @@ import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.common.config.next
import roomescape.common.dto.CurrentUserContext
import roomescape.common.util.DateUtils
import roomescape.payment.business.PaymentService
import roomescape.payment.web.PaymentWithDetailResponse
import roomescape.reservation.exception.ReservationErrorCode
import roomescape.reservation.exception.ReservationException
import roomescape.reservation.infrastructure.persistence.*
import roomescape.reservation.web.*
import roomescape.schedule.business.ScheduleService
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.schedule.web.ScheduleOverviewResponse
import roomescape.schedule.web.ScheduleUpdateRequest
import roomescape.theme.business.ThemeService
import roomescape.user.business.UserService
import roomescape.user.web.UserContactResponse
import java.time.LocalDate
import com.sangdol.roomescape.common.config.next
import com.sangdol.roomescape.common.dto.CurrentUserContext
import com.sangdol.roomescape.payment.business.PaymentService
import com.sangdol.roomescape.payment.web.PaymentWithDetailResponse
import com.sangdol.roomescape.reservation.exception.ReservationErrorCode
import com.sangdol.roomescape.reservation.exception.ReservationException
import com.sangdol.roomescape.reservation.infrastructure.persistence.*
import com.sangdol.roomescape.reservation.web.*
import com.sangdol.roomescape.schedule.business.ScheduleService
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
import com.sangdol.roomescape.schedule.web.ScheduleOverviewResponse
import com.sangdol.roomescape.schedule.web.ScheduleUpdateRequest
import com.sangdol.roomescape.theme.business.ThemeService
import com.sangdol.roomescape.user.business.UserService
import com.sangdol.roomescape.user.web.UserContactResponse
import java.time.LocalDateTime
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,14 +1,14 @@
package roomescape.reservation.business
package com.sangdol.roomescape.reservation.business
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Component
import roomescape.reservation.exception.ReservationErrorCode
import roomescape.reservation.exception.ReservationException
import roomescape.reservation.web.PendingReservationCreateRequest
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.schedule.web.ScheduleSummaryResponse
import roomescape.theme.web.ThemeInfoResponse
import com.sangdol.roomescape.reservation.exception.ReservationErrorCode
import com.sangdol.roomescape.reservation.exception.ReservationException
import com.sangdol.roomescape.reservation.web.PendingReservationCreateRequest
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
import com.sangdol.roomescape.schedule.web.ScheduleSummaryResponse
import com.sangdol.roomescape.theme.web.ThemeInfoResponse
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.reservation.docs
package com.sangdol.roomescape.reservation.docs
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.responses.ApiResponse
@ -7,13 +7,11 @@ import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestParam
import roomescape.auth.web.support.Public
import roomescape.auth.web.support.User
import roomescape.auth.web.support.UserOnly
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.reservation.web.*
import com.sangdol.roomescape.auth.web.support.User
import com.sangdol.roomescape.auth.web.support.UserOnly
import com.sangdol.roomescape.common.dto.CurrentUserContext
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.reservation.web.*
interface ReservationAPI {
@Operation(summary = "결제 전 임시 예약 저장")

View File

@ -1,7 +1,7 @@
package roomescape.reservation.exception
package com.sangdol.roomescape.reservation.exception
import org.springframework.http.HttpStatus
import roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.ErrorCode
enum class ReservationErrorCode(
override val httpStatus: HttpStatus,

View File

@ -0,0 +1,9 @@
package com.sangdol.roomescape.reservation.exception
import com.sangdol.roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.RoomescapeException
class ReservationException(
override val errorCode: ErrorCode,
override val message: String = errorCode.message
) : RoomescapeException(errorCode, message)

View File

@ -1,10 +1,10 @@
package roomescape.reservation.infrastructure.persistence
package com.sangdol.roomescape.reservation.infrastructure.persistence
import jakarta.persistence.Entity
import jakarta.persistence.EnumType
import jakarta.persistence.Enumerated
import jakarta.persistence.Table
import roomescape.common.entity.PersistableBaseEntity
import com.sangdol.roomescape.common.entity.PersistableBaseEntity
import java.time.LocalDateTime
@Entity

View File

@ -1,4 +1,4 @@
package roomescape.reservation.infrastructure.persistence
package com.sangdol.roomescape.reservation.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -1,10 +1,10 @@
package roomescape.reservation.infrastructure.persistence
package com.sangdol.roomescape.reservation.infrastructure.persistence
import jakarta.persistence.Entity
import jakarta.persistence.EnumType
import jakarta.persistence.Enumerated
import jakarta.persistence.Table
import roomescape.common.entity.AuditingBaseEntity
import com.sangdol.roomescape.common.entity.AuditingBaseEntity
@Entity
@Table(name = "reservation")

View File

@ -1,4 +1,4 @@
package roomescape.reservation.infrastructure.persistence
package com.sangdol.roomescape.reservation.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -1,13 +1,13 @@
package roomescape.reservation.web
package com.sangdol.roomescape.reservation.web
import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.reservation.business.ReservationService
import roomescape.reservation.docs.ReservationAPI
import com.sangdol.roomescape.auth.web.support.User
import com.sangdol.roomescape.common.dto.CurrentUserContext
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.reservation.business.ReservationService
import com.sangdol.roomescape.reservation.docs.ReservationAPI
@RestController
@RequestMapping("/reservations")

View File

@ -1,11 +1,11 @@
package roomescape.reservation.web
package com.sangdol.roomescape.reservation.web
import jakarta.validation.constraints.NotEmpty
import roomescape.payment.web.PaymentWithDetailResponse
import roomescape.reservation.infrastructure.persistence.ReservationEntity
import roomescape.reservation.infrastructure.persistence.ReservationStatus
import roomescape.schedule.web.ScheduleOverviewResponse
import roomescape.user.web.UserContactResponse
import com.sangdol.roomescape.payment.web.PaymentWithDetailResponse
import com.sangdol.roomescape.reservation.infrastructure.persistence.ReservationEntity
import com.sangdol.roomescape.reservation.infrastructure.persistence.ReservationStatus
import com.sangdol.roomescape.schedule.web.ScheduleOverviewResponse
import com.sangdol.roomescape.user.web.UserContactResponse
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.LocalTime

View File

@ -1,4 +1,4 @@
package roomescape.schedule.business
package com.sangdol.roomescape.schedule.business
import ScheduleException
import com.github.f4b6a3.tsid.TsidFactory
@ -7,17 +7,17 @@ import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.admin.business.AdminService
import roomescape.common.config.next
import roomescape.common.dto.AuditInfo
import roomescape.common.dto.OperatorInfo
import roomescape.schedule.business.domain.ScheduleOverview
import roomescape.schedule.exception.ScheduleErrorCode
import roomescape.schedule.infrastructure.persistence.ScheduleEntity
import roomescape.schedule.infrastructure.persistence.ScheduleEntityFactory
import roomescape.schedule.infrastructure.persistence.ScheduleRepository
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.schedule.web.*
import com.sangdol.roomescape.admin.business.AdminService
import com.sangdol.roomescape.common.config.next
import com.sangdol.roomescape.common.dto.AuditInfo
import com.sangdol.roomescape.common.dto.OperatorInfo
import com.sangdol.roomescape.schedule.business.domain.ScheduleOverview
import com.sangdol.roomescape.schedule.exception.ScheduleErrorCode
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleEntity
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleEntityFactory
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleRepository
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
import com.sangdol.roomescape.schedule.web.*
import java.time.LocalDate
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,15 +1,15 @@
package roomescape.schedule.business
package com.sangdol.roomescape.schedule.business
import ScheduleException
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Component
import roomescape.schedule.exception.ScheduleErrorCode
import roomescape.schedule.infrastructure.persistence.ScheduleEntity
import roomescape.schedule.infrastructure.persistence.ScheduleRepository
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.schedule.web.ScheduleCreateRequest
import roomescape.schedule.web.ScheduleUpdateRequest
import com.sangdol.roomescape.schedule.exception.ScheduleErrorCode
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleEntity
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleRepository
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
import com.sangdol.roomescape.schedule.web.ScheduleCreateRequest
import com.sangdol.roomescape.schedule.web.ScheduleUpdateRequest
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.LocalTime

View File

@ -1,7 +1,7 @@
package roomescape.schedule.business.domain
package com.sangdol.roomescape.schedule.business.domain
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.theme.infrastructure.persistence.Difficulty
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
import com.sangdol.roomescape.theme.infrastructure.persistence.Difficulty
import java.time.LocalDate
import java.time.LocalTime

View File

@ -1,4 +1,4 @@
package roomescape.schedule.docs
package com.sangdol.roomescape.schedule.docs
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.responses.ApiResponse
@ -9,14 +9,14 @@ import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestParam
import roomescape.admin.infrastructure.persistence.AdminType
import roomescape.admin.infrastructure.persistence.Privilege
import roomescape.auth.web.support.AdminOnly
import roomescape.auth.web.support.Public
import roomescape.auth.web.support.UserOnly
import roomescape.common.dto.AuditInfo
import roomescape.common.dto.response.CommonApiResponse
import roomescape.schedule.web.*
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
import com.sangdol.roomescape.auth.web.support.AdminOnly
import com.sangdol.roomescape.auth.web.support.Public
import com.sangdol.roomescape.auth.web.support.UserOnly
import com.sangdol.roomescape.common.dto.AuditInfo
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.schedule.web.*
import java.time.LocalDate
interface AdminScheduleAPI {

View File

@ -1,7 +1,7 @@
package roomescape.schedule.exception
package com.sangdol.roomescape.schedule.exception
import org.springframework.http.HttpStatus
import roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.ErrorCode
enum class ScheduleErrorCode(
override val httpStatus: HttpStatus,

View File

@ -1,5 +1,5 @@
import roomescape.common.exception.ErrorCode
import roomescape.common.exception.RoomescapeException
import com.sangdol.roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.RoomescapeException
class ScheduleException(
override val errorCode: ErrorCode,

View File

@ -1,12 +1,12 @@
package roomescape.schedule.infrastructure.persistence
package com.sangdol.roomescape.schedule.infrastructure.persistence
import jakarta.persistence.*
import org.springframework.data.annotation.CreatedBy
import org.springframework.data.annotation.CreatedDate
import org.springframework.data.annotation.LastModifiedDate
import org.springframework.data.jpa.domain.support.AuditingEntityListener
import roomescape.common.entity.PersistableBaseEntity
import roomescape.common.util.MdcPrincipalId
import com.sangdol.roomescape.common.entity.PersistableBaseEntity
import com.sangdol.roomescape.common.util.MdcPrincipalId
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.LocalTime

View File

@ -1,8 +1,8 @@
package roomescape.schedule.infrastructure.persistence
package com.sangdol.roomescape.schedule.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Query
import roomescape.schedule.business.domain.ScheduleOverview
import com.sangdol.roomescape.schedule.business.domain.ScheduleOverview
import java.time.LocalDate
import java.time.LocalTime
@ -26,7 +26,7 @@ interface ScheduleRepository : JpaRepository<ScheduleEntity, Long> {
@Query(
"""
SELECT
new roomescape.schedule.business.domain.ScheduleOverview(
new com.sangdol.roomescape.schedule.business.domain.ScheduleOverview(
s._id,
st._id,
st.name,
@ -57,7 +57,7 @@ interface ScheduleRepository : JpaRepository<ScheduleEntity, Long> {
@Query(
"""
SELECT
new roomescape.schedule.business.domain.ScheduleOverview(
new com.sangdol.roomescape.schedule.business.domain.ScheduleOverview(
s._id,
st._id,
st.name,

View File

@ -1,13 +1,13 @@
package roomescape.schedule.web
package com.sangdol.roomescape.schedule.web
import jakarta.validation.Valid
import org.springframework.format.annotation.DateTimeFormat
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import roomescape.common.dto.AuditInfo
import roomescape.common.dto.response.CommonApiResponse
import roomescape.schedule.business.ScheduleService
import roomescape.schedule.docs.AdminScheduleAPI
import com.sangdol.roomescape.common.dto.AuditInfo
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.schedule.business.ScheduleService
import com.sangdol.roomescape.schedule.docs.AdminScheduleAPI
import java.time.LocalDate
@RestController

View File

@ -1,7 +1,7 @@
package roomescape.schedule.web
package com.sangdol.roomescape.schedule.web
import roomescape.schedule.business.domain.ScheduleOverview
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import com.sangdol.roomescape.schedule.business.domain.ScheduleOverview
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
import java.time.LocalDate
import java.time.LocalTime

View File

@ -1,12 +1,12 @@
package roomescape.schedule.web
package com.sangdol.roomescape.schedule.web
import org.springframework.format.annotation.DateTimeFormat
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import roomescape.common.dto.response.CommonApiResponse
import roomescape.schedule.business.ScheduleService
import roomescape.schedule.docs.PublicScheduleAPI
import roomescape.schedule.docs.UserScheduleAPI
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.schedule.business.ScheduleService
import com.sangdol.roomescape.schedule.docs.PublicScheduleAPI
import com.sangdol.roomescape.schedule.docs.UserScheduleAPI
import java.time.LocalDate
@RestController

View File

@ -1,9 +1,9 @@
package roomescape.schedule.web
package com.sangdol.roomescape.schedule.web
import roomescape.schedule.business.domain.ScheduleOverview
import roomescape.schedule.infrastructure.persistence.ScheduleEntity
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.theme.infrastructure.persistence.Difficulty
import com.sangdol.roomescape.schedule.business.domain.ScheduleOverview
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleEntity
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
import com.sangdol.roomescape.theme.infrastructure.persistence.Difficulty
import java.time.LocalDate
import java.time.LocalTime

View File

@ -1,20 +1,20 @@
package roomescape.store.business
package com.sangdol.roomescape.store.business
import com.github.f4b6a3.tsid.TsidFactory
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.admin.business.AdminService
import roomescape.common.config.next
import roomescape.common.dto.AuditInfo
import roomescape.region.business.RegionService
import roomescape.store.exception.StoreErrorCode
import roomescape.store.exception.StoreException
import roomescape.store.infrastructure.persistence.StoreEntity
import roomescape.store.infrastructure.persistence.StoreRepository
import roomescape.store.infrastructure.persistence.StoreStatus
import roomescape.store.web.*
import com.sangdol.roomescape.admin.business.AdminService
import com.sangdol.roomescape.common.config.next
import com.sangdol.roomescape.common.dto.AuditInfo
import com.sangdol.roomescape.region.business.RegionService
import com.sangdol.roomescape.store.exception.StoreErrorCode
import com.sangdol.roomescape.store.exception.StoreException
import com.sangdol.roomescape.store.infrastructure.persistence.StoreEntity
import com.sangdol.roomescape.store.infrastructure.persistence.StoreRepository
import com.sangdol.roomescape.store.infrastructure.persistence.StoreStatus
import com.sangdol.roomescape.store.web.*
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,13 +1,13 @@
package roomescape.store.business
package com.sangdol.roomescape.store.business
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import org.springframework.stereotype.Component
import roomescape.store.exception.StoreErrorCode
import roomescape.store.exception.StoreException
import roomescape.store.infrastructure.persistence.StoreRepository
import roomescape.store.web.StoreRegisterRequest
import roomescape.store.web.StoreUpdateRequest
import com.sangdol.roomescape.store.exception.StoreErrorCode
import com.sangdol.roomescape.store.exception.StoreException
import com.sangdol.roomescape.store.infrastructure.persistence.StoreRepository
import com.sangdol.roomescape.store.web.StoreRegisterRequest
import com.sangdol.roomescape.store.web.StoreUpdateRequest
private val log: KLogger = KotlinLogging.logger {}

View File

@ -1,4 +1,4 @@
package roomescape.store.docs
package com.sangdol.roomescape.store.docs
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.responses.ApiResponse
@ -8,12 +8,12 @@ import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestParam
import roomescape.admin.infrastructure.persistence.AdminType
import roomescape.admin.infrastructure.persistence.Privilege
import roomescape.auth.web.support.AdminOnly
import roomescape.auth.web.support.Public
import roomescape.common.dto.response.CommonApiResponse
import roomescape.store.web.*
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
import com.sangdol.roomescape.auth.web.support.AdminOnly
import com.sangdol.roomescape.auth.web.support.Public
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
import com.sangdol.roomescape.store.web.*
interface AdminStoreAPI {
@AdminOnly(type = AdminType.HQ, privilege = Privilege.READ_DETAIL)

View File

@ -1,8 +1,8 @@
package roomescape.store.exception
package com.sangdol.roomescape.store.exception
import org.springframework.http.HttpStatus
import roomescape.common.exception.ErrorCode
import roomescape.common.exception.RoomescapeException
import com.sangdol.roomescape.common.exception.ErrorCode
import com.sangdol.roomescape.common.exception.RoomescapeException
class StoreException(
override val errorCode: StoreErrorCode,

View File

@ -1,8 +1,8 @@
package roomescape.store.infrastructure.persistence
package com.sangdol.roomescape.store.infrastructure.persistence
import jakarta.persistence.*
import org.springframework.data.jpa.domain.support.AuditingEntityListener
import roomescape.common.entity.AuditingBaseEntity
import com.sangdol.roomescape.common.entity.AuditingBaseEntity
@Entity
@EntityListeners(AuditingEntityListener::class)

Some files were not shown because too many files have changed in this diff Show More