[#5]: 공통 기능 코틀린 마이그레이션 및 패키지 분리 #6

Merged
pricelees merged 20 commits from refactor/#5 into main 2025-07-14 05:05:48 +00:00
31 changed files with 48 additions and 50 deletions
Showing only changes of commit 06977fb29c - Show all commits

View File

@ -1,7 +1,7 @@
package roomescape.common.dto.response;
import io.swagger.v3.oas.annotations.media.Schema;
import roomescape.system.exception.ErrorType;
import roomescape.common.exception.ErrorType;
@Schema(name = "예외 응답", description = "예외 발생 시 응답에 사용됩니다.")
public record ErrorResponse(

View File

@ -1,4 +1,4 @@
package roomescape.system.exception;
package roomescape.common.exception;
public enum ErrorType {

View File

@ -1,4 +1,4 @@
package roomescape.system.exception;
package roomescape.common.exception;
import java.util.stream.Collectors;

View File

@ -1,4 +1,4 @@
package roomescape.system.exception;
package roomescape.common.exception;
import java.util.Optional;

View File

@ -8,8 +8,8 @@ import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.member.web.MembersResponse
import roomescape.member.web.toResponse
import roomescape.system.exception.ErrorType
import roomescape.system.exception.RoomEscapeException
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomEscapeException
@Service
@Transactional(readOnly = true)

View File

@ -19,8 +19,8 @@ import roomescape.payment.dto.request.PaymentRequest;
import roomescape.payment.dto.response.PaymentCancelResponse;
import roomescape.payment.dto.response.PaymentResponse;
import roomescape.payment.dto.response.TossPaymentErrorResponse;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@Component
public class TossPaymentClient {

View File

@ -8,8 +8,8 @@ import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@Entity
public class CanceledPayment {

View File

@ -13,8 +13,8 @@ import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import roomescape.reservation.domain.Reservation;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@Entity
public class Payment {

View File

@ -16,8 +16,8 @@ import roomescape.payment.dto.response.PaymentCancelResponse;
import roomescape.payment.dto.response.PaymentResponse;
import roomescape.payment.dto.response.ReservationPaymentResponse;
import roomescape.reservation.domain.Reservation;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@Service
@Transactional

View File

@ -42,7 +42,7 @@ import roomescape.system.auth.web.support.LoginRequired;
import roomescape.system.auth.web.support.MemberId;
import roomescape.common.dto.response.ErrorResponse;
import roomescape.common.dto.response.RoomEscapeApiResponse;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
@RestController
@Tag(name = "3. 예약 API", description = "예약 및 대기 정보를 추가 / 조회 / 삭제할 때 사용합니다.")

View File

@ -16,8 +16,8 @@ import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
@Entity

View File

@ -8,8 +8,8 @@ import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@Entity
public class ReservationTime {

View File

@ -8,8 +8,8 @@ import io.micrometer.common.util.StringUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import roomescape.reservation.domain.ReservationTime;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@Schema(name = "예약 시간 저장 요청", description = "예약 시간 저장 요청시 사용됩니다.")
public record ReservationTimeRequest(

View File

@ -22,8 +22,8 @@ import roomescape.reservation.dto.request.WaitingRequest;
import roomescape.reservation.dto.response.MyReservationsResponse;
import roomescape.reservation.dto.response.ReservationResponse;
import roomescape.reservation.dto.response.ReservationsResponse;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.service.ThemeService;

View File

@ -16,8 +16,8 @@ import roomescape.reservation.dto.response.ReservationTimeInfoResponse;
import roomescape.reservation.dto.response.ReservationTimeInfosResponse;
import roomescape.reservation.dto.response.ReservationTimeResponse;
import roomescape.reservation.dto.response.ReservationTimesResponse;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@Service
@Transactional

View File

@ -4,8 +4,8 @@ import io.jsonwebtoken.*
import org.springframework.beans.factory.annotation.Value
import org.springframework.http.HttpStatus
import org.springframework.stereotype.Component
import roomescape.system.exception.ErrorType
import roomescape.system.exception.RoomEscapeException
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomEscapeException
import java.util.*
@Component

View File

@ -9,8 +9,8 @@ import org.springframework.web.servlet.HandlerInterceptor
import roomescape.member.business.MemberService
import roomescape.member.infrastructure.persistence.Member
import roomescape.system.auth.infrastructure.jwt.JwtHandler
import roomescape.system.exception.ErrorType
import roomescape.system.exception.RoomEscapeException
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomEscapeException
private fun Any.isIrrelevantWith(annotationType: Class<out Annotation>): Boolean {
if (this !is HandlerMethod) {

View File

@ -8,8 +8,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.dto.ThemeRequest;

View File

@ -1,8 +1,6 @@
package roomescape.payment.client;
import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.AssertionsForClassTypes.*;
import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy;
import static org.springframework.test.web.client.match.MockRestRequestMatchers.*;
import static org.springframework.test.web.client.response.MockRestResponseCreators.*;
@ -22,8 +20,8 @@ import roomescape.payment.dto.request.PaymentCancelRequest;
import roomescape.payment.dto.request.PaymentRequest;
import roomescape.payment.dto.response.PaymentCancelResponse;
import roomescape.payment.dto.response.PaymentResponse;
import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomEscapeException;
@RestClientTest(TossPaymentClient.class)
class TossPaymentClientTest {

View File

@ -7,7 +7,7 @@ import java.time.OffsetDateTime;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
class CanceledPaymentTest {

View File

@ -18,7 +18,7 @@ import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
class PaymentTest {

View File

@ -25,7 +25,7 @@ import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime;
import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;

View File

@ -12,7 +12,7 @@ import org.junit.jupiter.params.provider.MethodSource;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
public class ReservationTest {

View File

@ -4,7 +4,7 @@ import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
class ReservationTimeTest {

View File

@ -26,7 +26,7 @@ import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.reservation.dto.request.ReservationRequest;
import roomescape.reservation.dto.request.WaitingRequest;
import roomescape.reservation.dto.response.ReservationResponse;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.service.ThemeService;

View File

@ -22,7 +22,7 @@ import roomescape.reservation.domain.ReservationTime;
import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.reservation.dto.request.ReservationTimeRequest;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;

View File

@ -14,8 +14,8 @@ import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.system.auth.infrastructure.jwt.JwtHandler
import roomescape.system.auth.service.AuthService
import roomescape.system.exception.ErrorType
import roomescape.system.exception.RoomEscapeException
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomEscapeException
class AuthServiceTest : BehaviorSpec({

View File

@ -6,8 +6,8 @@ import io.kotest.assertions.throwables.shouldThrow
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.shouldBe
import roomescape.util.JwtFixture
import roomescape.system.exception.ErrorType
import roomescape.system.exception.RoomEscapeException
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomEscapeException
import java.util.*
import kotlin.random.Random

View File

@ -6,7 +6,7 @@ import org.hamcrest.Matchers.`is`
import org.springframework.data.repository.findByIdOrNull
import roomescape.util.MemberFixture
import roomescape.util.RoomescapeApiTest
import roomescape.system.exception.ErrorType
import roomescape.common.exception.ErrorType
class AuthControllerTest : RoomescapeApiTest() {

View File

@ -22,7 +22,7 @@ import roomescape.reservation.dto.request.ReservationTimeRequest;
import roomescape.reservation.dto.response.ReservationTimeResponse;
import roomescape.reservation.service.ReservationService;
import roomescape.reservation.service.ReservationTimeService;
import roomescape.system.exception.RoomEscapeException;
import roomescape.common.exception.RoomEscapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.dto.ThemeRequest;

View File

@ -15,8 +15,8 @@ import org.springframework.http.HttpStatus
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.system.auth.infrastructure.jwt.JwtHandler
import roomescape.system.exception.ErrorType
import roomescape.system.exception.RoomEscapeException
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomEscapeException
const val NOT_LOGGED_IN_USERID: Long = 0;