diff --git a/.github/workflows/deploy-admin.yml b/.github/workflows/deploy-admin.yml index 5d28a479..5c9889c2 100644 --- a/.github/workflows/deploy-admin.yml +++ b/.github/workflows/deploy-admin.yml @@ -5,15 +5,14 @@ on: branches: - develop paths: - - 'application-admin/**' - - 'application-config/**' - - 'common/**' - - 'domain-*/**' - - 'security-admin/**' - - 'infra-aws/**' - - 'build.gradle' - - 'settings.gradle' - - 'gradle/**' + - 'nowait-app-admin-api/**' + - 'nowait-common/**' + - 'nowait-domain/domain-core-rdb/**' + - 'nowait-domain/domain-admin-rdb/**' + - 'nowait-infra/**' + - 'build.gradle' + - 'settings.gradle' + - 'gradle/**' env: PROJECT_NAME: NoWait @@ -41,14 +40,14 @@ jobs: - name: Set YML run: | - mkdir -p application-admin/src/main/resources + mkdir -p nowait-app-admin-api/src/main/resources echo "${{ secrets.APPLICATION_DEV_ADMIN_YML }}" \ | base64 --decode \ - > application-admin/src/main/resources/application-admin.yml - find application-admin/src + > nowait-app-admin-api/src/main/resources/application-admin.yml + find nowait-app-admin-api/src - name: Build Admin JAR - run: ./gradlew clean :application-admin:bootJar -x test + run: ./gradlew clean :nowait-app-admin-api:bootJar -x test - name: Prepare deployment package run: | @@ -56,7 +55,7 @@ jobs: mkdir -p deploy/scripts cp scripts/start-admin.sh scripts/stop-admin.sh deploy/scripts/ cp appspec-admin.yml deploy/appspec.yml - cp application-admin/build/libs/application-admin-*.jar deploy/application-admin.jar + cp nowait-app-admin-api/build/libs/nowait-app-admin-api-*.jar deploy/nowait-app-admin-api.jar cd deploy zip -r ../NoWait-admin-${GITHUB_SHA}.zip . cd .. diff --git a/.github/workflows/deploy-user.yml b/.github/workflows/deploy-user.yml index f5162197..67b2f28f 100644 --- a/.github/workflows/deploy-user.yml +++ b/.github/workflows/deploy-user.yml @@ -5,15 +5,14 @@ on: branches: - develop paths: - - 'application-user/**' - - 'application-config/**' - - 'common/**' - - 'domain-*/**' - - 'security-front/**' - - 'external-oauth/**' - - 'build.gradle' - - 'settings.gradle' - - 'gradle/**' + - 'nowait-app-user-api/**' + - 'nowait-common/**' + - 'nowait-domain/domain-core-rdb/**' + - 'nowait-domain/domain-user-rdb/**' + - 'nowait-infra/**' + - 'build.gradle' + - 'settings.gradle' + - 'gradle/**' env: PROJECT_NAME: NoWait @@ -41,14 +40,14 @@ jobs: - name: Set YML run: | - mkdir -p application-user/src/main/resources + mkdir -p nowait-app-user-api/src/main/resources echo "${{ secrets.APPLICATION_DEV_USER_YML }}" \ | base64 --decode \ - > application-user/src/main/resources/application-user.yml - find application-user/src + > nowait-app-user-api/src/main/resources/nowait-app-user-api.yml + find nowait-app-user-api/src - name: Build User JAR - run: ./gradlew clean :application-user:bootJar -x test + run: ./gradlew clean :nowait-app-user-api:bootJar -x test - name: Prepare deployment package run: | @@ -56,7 +55,7 @@ jobs: mkdir -p deploy/scripts cp scripts/start-user.sh scripts/stop-user.sh deploy/scripts/ cp appspec-user.yml deploy/appspec.yml - cp application-user/build/libs/application-user-*.jar deploy/application-user.jar + cp nowait-app-user-api/build/libs/nowait-app-user-api-*.jar deploy/nowait-app-user-api.jar cd deploy zip -r ../NoWait-user-${GITHUB_SHA}.zip . cd .. diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/ApiAdminApplication.java b/application-admin/src/main/java/com/nowait/applicationadmin/ApiAdminApplication.java deleted file mode 100644 index 0e8b5c2f..00000000 --- a/application-admin/src/main/java/com/nowait/applicationadmin/ApiAdminApplication.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.nowait.applicationadmin; - -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.domain.EntityScan; -import org.springframework.data.jpa.repository.config.EnableJpaAuditing; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; - -@EnableJpaAuditing -@SpringBootApplication(scanBasePackages = { - "com.nowait.applicationadmin", - "com.nowait.infraaws", - "com.nowait.adminsecurity", - "com.nowait.config", - "com.nowait.reservation" -}) -@EntityScan(basePackages = { - "com.nowait.menu.entity", - "com.nowait.store.entity", - "com.nowait.token.entity", - "com.nowait.user.entity", - "com.nowait.reservation.entity", - "com.nowait.order.entity" -}) -@EnableJpaRepositories(basePackages = { - "com.nowait.menu.repository", - "com.nowait.user.repository", - "com.nowait.store.repository", - "com.nowait.token.repository", - "com.nowait.order.repository", - "com.nowait.reservation.repository" -}) -public class ApiAdminApplication { - public static void main(String[] args) { - org.springframework.boot.SpringApplication.run(ApiAdminApplication.class, args); - } -} - diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java b/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java deleted file mode 100644 index afb2a079..00000000 --- a/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.nowait.applicationadmin.order.dto; - -import java.time.LocalDateTime; - -import com.nowait.applicationadmin.reservation.dto.ReservationGetResponseDto; -import com.nowait.order.entity.UserOrder; -import com.nowait.order.entity.OrderStatus; -import com.nowait.reservation.entity.Reservation; - -import lombok.Builder; -import lombok.Getter; - -@Getter -@Builder -public class OrderResponseDto { - private Long id; - private Long tableId; - private String depositorName; - private Integer totalPrice; - private OrderStatus status; - private LocalDateTime createdAt; - - public static OrderResponseDto fromEntity(UserOrder userOrder) { - return OrderResponseDto.builder() - .id(userOrder.getId()) - .tableId(userOrder.getTableId()) - .depositorName(userOrder.getDepositorName()) - .totalPrice(userOrder.getTotalPrice()) - .status(userOrder.getStatus()) - .createdAt(userOrder.getCreatedAt()) - .build(); - } -} diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateRequestDto.java b/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateRequestDto.java deleted file mode 100644 index a8a78442..00000000 --- a/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateRequestDto.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.nowait.applicationadmin.order.dto; - -import com.nowait.order.entity.OrderStatus; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public class OrderStatusUpdateRequestDto { - @Schema(description = "주문 상태", example = "WAITING_FOR_PAYMENT", allowableValues = {"WAITING_FOR_PAYMENT", "COOKING", "COOKED"}) - @NotNull(message = "주문상태는 필수입니다") - private final OrderStatus orderStatus; -} diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateResponseDto.java b/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateResponseDto.java deleted file mode 100644 index 63de5b53..00000000 --- a/application-admin/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateResponseDto.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.nowait.applicationadmin.order.dto; - -import com.nowait.order.entity.OrderStatus; -import com.nowait.order.entity.UserOrder; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public class OrderStatusUpdateResponseDto { - private final OrderStatus orderStatus; - - public static OrderStatusUpdateResponseDto fromEntity(UserOrder userOrder) { - return new OrderStatusUpdateResponseDto(userOrder.getStatus()); - } -} diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java b/application-admin/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java deleted file mode 100644 index c06986cf..00000000 --- a/application-admin/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.nowait.applicationadmin.order.service; - -import java.util.List; -import java.util.stream.Collectors; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.nowait.applicationadmin.order.dto.OrderResponseDto; -import com.nowait.applicationadmin.order.dto.OrderStatusUpdateResponseDto; -import com.nowait.order.entity.OrderStatus; -import com.nowait.order.entity.UserOrder; -import com.nowait.order.repository.OrderRepository; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class OrderService { - - private final OrderRepository orderRepository; - - @Transactional(readOnly = true) - public List findAllOrders(Long storeId) { - return orderRepository.findAllByStore_StoreId(storeId).stream() - .map(OrderResponseDto::fromEntity) - .collect(Collectors.toList()); - } - - @Transactional - public OrderStatusUpdateResponseDto updateOrderStatus(Long orderId, OrderStatus newStatus) { - UserOrder userOrder = orderRepository.findById(orderId) - .orElseThrow(() -> new IllegalArgumentException("Order not found with id: " + orderId)); - userOrder.updateStatus(newStatus); - return OrderStatusUpdateResponseDto.fromEntity(userOrder); - } -} diff --git a/application-config/build.gradle b/application-config/build.gradle deleted file mode 100644 index 788a7e3f..00000000 --- a/application-config/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'org.example' -version = '0.0.1-SNAPSHOT' - -repositories { - mavenCentral() -} - -dependencies { - api 'org.springframework.boot:spring-boot-starter-web' - // SWAGGER - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' -} diff --git a/application-config/src/main/java/com/example/applicationconfig/config/AsyncConfig.java b/application-config/src/main/java/com/example/applicationconfig/config/AsyncConfig.java deleted file mode 100644 index 9c839fbb..00000000 --- a/application-config/src/main/java/com/example/applicationconfig/config/AsyncConfig.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.example.applicationconfig.config; - -import java.util.concurrent.Executor; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -@Configuration -public class AsyncConfig { - @Bean(name = "s3UploadExecutor") - public Executor s3UploadExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(5); - executor.setMaxPoolSize(10); - executor.setQueueCapacity(100); - executor.setThreadNamePrefix("S3Upload-"); - executor.initialize(); - return executor; - } -} diff --git a/application-config/src/main/java/com/example/applicationconfig/config/CorsConfig.java b/application-config/src/main/java/com/example/applicationconfig/config/CorsConfig.java deleted file mode 100644 index d8615194..00000000 --- a/application-config/src/main/java/com/example/applicationconfig/config/CorsConfig.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.example.applicationconfig.config; - -import java.util.List; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.CorsConfigurationSource; -import org.springframework.web.cors.UrlBasedCorsConfigurationSource; - -@Configuration -public class CorsConfig { - @Bean - public CorsConfigurationSource corsConfigurationSource() { - CorsConfiguration config = new CorsConfiguration(); - - config.setAllowCredentials(true); // 쿠키나 인증헤더 자격증명 허용 - config.setAllowedOrigins(List.of("http://localhost:3000")); // 허용할 출처 설정 - config.setAllowedMethods(List.of("GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS")); // 메서드 허용 - config.setAllowedHeaders(List.of("*")); //클라이언트가 보낼 수 있는 헤더 - config.setExposedHeaders(List.of("Authorization")); //클라이언트(브라우저)가 접근할 수 있는 헤더 지정 - // config.setAllowCredentials(true); // 쿠키 포함 허용 - - UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); - source.registerCorsConfiguration("/**", config); //** 뜻은 모든 URL 경로에 적용한다는 의미 - return source; - } -} diff --git a/application-user/build.gradle b/application-user/build.gradle deleted file mode 100644 index cfa67b69..00000000 --- a/application-user/build.gradle +++ /dev/null @@ -1,59 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.5.0' - id 'io.spring.dependency-management' version '1.1.7' - id 'java' -} - -group = 'com.nowaiting' -version = '0.0.1-SNAPSHOT' - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':domain-user') // 도메인 계층 의존성 - implementation project(':domain-menu') // 메뉴 관련 도메인 - implementation project(':domain-base') // 시간 관련 도메인 - implementation project(':domain-store') // 주점 관련 도메인 - implementation project(':domain-token') // 토큰 관련 도메인 - implementation project(':domain-bookmark') // 북마크 관련 도메인 - implementation project(':domain-order') // 주문 관련 도메인 - implementation project(':domain-reservation') // 예약 관련 도메인 - implementation project(':infra-aws') // 사용자 관련 도메인 - implementation project(':security-front') // 사용자 관련 도메인 - implementation project(':external-oauth') // 외부 OAuth 관련 도메인 - implementation project(':application-config') - - // Spring Boot Starter - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.boot:spring-boot-starter-validation' - - // SPRING SECURITY - implementation 'org.springframework.boot:spring-boot-starter-security' - testImplementation 'org.springframework.boot:spring-boot-starter-test' - implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' - - // DB - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - runtimeOnly 'com.mysql:mysql-connector-j' - - // SWAGGER - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' - - // 기타 필요 라이브러리 (예: Lombok) - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' -} - -test { - useJUnitPlatform() -} diff --git a/application-user/src/main/java/com/nowait/applicationuser/ApiUserApplication.java b/application-user/src/main/java/com/nowait/applicationuser/ApiUserApplication.java deleted file mode 100644 index fcfb659f..00000000 --- a/application-user/src/main/java/com/nowait/applicationuser/ApiUserApplication.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.nowait.applicationuser; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.domain.EntityScan; -import org.springframework.data.jpa.repository.config.EnableJpaAuditing; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; - -@EnableJpaAuditing -@SpringBootApplication(scanBasePackages = { - "com.nowait.applicationuser", - "com.nowait.frontsecurity", - "com.nowait.externaloauth", - "com.nowait.config" -}) -@EntityScan(basePackages = { - "com.nowait.menu.entity", - "com.nowait.store.entity", - "com.nowait.token.entity", - "com.nowait.user.entity", - "com.nowait.bookmark.entity", - "com.nowait.reservation.entity", - "com.nowait.order.entity" -}) -@EnableJpaRepositories(basePackages = { - "com.nowait.menu.repository", - "com.nowait.user.repository", - "com.nowait.store.repository", - "com.nowait.token.repository", - "com.nowait.bookmark.repository", - "com.nowait.order.repository", - "com.nowait.reservation.repository" -}) -public class ApiUserApplication { - - public static void main(String[] args) { - SpringApplication.run(ApiUserApplication.class, args); - } - -} diff --git a/build.gradle b/build.gradle index 791934ae..94b2c6d6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,46 +1,32 @@ plugins { - id 'org.springframework.boot' version '3.5.0' apply false - id 'io.spring.dependency-management' version '1.1.7' apply false + id 'org.springframework.boot' version '3.5.0' + id 'io.spring.dependency-management' version '1.1.7' } -group = 'com.nowaiting' +group = 'com.nowait' version = '0.0.1-SNAPSHOT' repositories { mavenCentral() } +allprojects { + group = 'com.nowait' + version = '0.0.1-SNAPSHOT' +} + subprojects { - apply plugin: 'java' - apply plugin: 'org.springframework.boot' - apply plugin: 'io.spring.dependency-management' - - group = rootProject.group - version = rootProject.version - - // 실행 모듈만 따로 정의 - def applicationModules = ['application-admin', 'application-user'] - - if (applicationModules.contains(project.name)) { - // 실제 Service 실행 모듈 - apply plugin: 'org.springframework.boot' - bootJar { enabled = true } - jar { enabled = false } - } else { - // 라이브러리/설정/도메인 전용 모듈 - bootJar { enabled = false } - jar { enabled = true } + apply plugin: "java" + apply plugin: 'java-library' + apply plugin: "io.spring.dependency-management" + if (project.name.startsWith('nowait-app-')) { + apply plugin: "org.springframework.boot" } repositories { mavenCentral() } - java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } - } dependencyManagement { imports { @@ -48,12 +34,6 @@ subprojects { } } - if (project.name != 'common') { - dependencies { - implementation project(':common') - } - } - test { useJUnitPlatform() } diff --git a/common/build.gradle b/common/build.gradle deleted file mode 100644 index 44e9a75f..00000000 --- a/common/build.gradle +++ /dev/null @@ -1,10 +0,0 @@ -jar { - enabled = true -} -bootJar { - enabled = false -} - - -dependencies { -} diff --git a/domain-base/.gitattributes b/domain-base/.gitattributes deleted file mode 100644 index 8af972cd..00000000 --- a/domain-base/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary diff --git a/domain-base/build.gradle b/domain-base/build.gradle deleted file mode 100644 index 6ae34bc8..00000000 --- a/domain-base/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - // JPA Auditing 및 @MappedSuperclass 를 위한 - api 'org.springframework.boot:spring-boot-starter-data-jpa' - // JPA API - api 'jakarta.persistence:jakarta.persistence-api:3.1.0' - // Lombok - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' - // Jackson - api 'com.fasterxml.jackson.core:jackson-databind:2.15.2' // Jackson 핵심 - api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.2' -} diff --git a/domain-menu/.gitattributes b/domain-menu/.gitattributes deleted file mode 100644 index 8af972cd..00000000 --- a/domain-menu/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary diff --git a/domain-menu/build.gradle b/domain-menu/build.gradle deleted file mode 100644 index 62e0b97b..00000000 --- a/domain-menu/build.gradle +++ /dev/null @@ -1,30 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':common') - implementation project(':domain-base') - - api 'org.springframework.boot:spring-boot-starter-data-jpa' - api 'jakarta.persistence:jakarta.persistence-api:3.1.0' - - compileOnly 'org.projectlombok:lombok:1.18.26' - annotationProcessor 'org.projectlombok:lombok:1.18.26' - - testImplementation 'org.junit.jupiter:junit-jupiter' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' -} diff --git a/domain-menu/gradle/wrapper/gradle-wrapper.jar b/domain-menu/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 1b33c55b..00000000 Binary files a/domain-menu/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/domain-menu/gradle/wrapper/gradle-wrapper.properties b/domain-menu/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index ff23a68d..00000000 --- a/domain-menu/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/domain-reservation/.gitignore b/domain-reservation/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/domain-reservation/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/domain-reservation/build.gradle b/domain-reservation/build.gradle deleted file mode 100644 index 20c2ae06..00000000 --- a/domain-reservation/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':common') - implementation project(':domain-base') - implementation project(':domain-store') - implementation project(':domain-user') - - api 'org.springframework.boot:spring-boot-starter-data-jpa' - api 'jakarta.persistence:jakarta.persistence-api:3.1.0' - - compileOnly 'org.projectlombok:lombok:1.18.26' - annotationProcessor 'org.projectlombok:lombok:1.18.26' - - testImplementation 'org.junit.jupiter:junit-jupiter' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' -} diff --git a/domain-store/.gitattributes b/domain-store/.gitattributes deleted file mode 100644 index 8af972cd..00000000 --- a/domain-store/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary diff --git a/domain-store/.gitignore b/domain-store/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/domain-store/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/domain-store/build.gradle b/domain-store/build.gradle deleted file mode 100644 index 62e0b97b..00000000 --- a/domain-store/build.gradle +++ /dev/null @@ -1,30 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':common') - implementation project(':domain-base') - - api 'org.springframework.boot:spring-boot-starter-data-jpa' - api 'jakarta.persistence:jakarta.persistence-api:3.1.0' - - compileOnly 'org.projectlombok:lombok:1.18.26' - annotationProcessor 'org.projectlombok:lombok:1.18.26' - - testImplementation 'org.junit.jupiter:junit-jupiter' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' -} diff --git a/domain-store/gradle/wrapper/gradle-wrapper.jar b/domain-store/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 1b33c55b..00000000 Binary files a/domain-store/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/domain-store/gradle/wrapper/gradle-wrapper.properties b/domain-store/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index ff23a68d..00000000 --- a/domain-store/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/domain-token/.gitattributes b/domain-token/.gitattributes deleted file mode 100644 index 8af972cd..00000000 --- a/domain-token/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary diff --git a/domain-token/.gitignore b/domain-token/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/domain-token/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/domain-token/build.gradle b/domain-token/build.gradle deleted file mode 100644 index 966d1748..00000000 --- a/domain-token/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':common') - implementation project(':domain-base') - implementation project(':domain-user') - - api 'org.springframework.boot:spring-boot-starter-data-jpa' - api 'jakarta.persistence:jakarta.persistence-api:3.1.0' - - compileOnly 'org.projectlombok:lombok:1.18.26' - annotationProcessor 'org.projectlombok:lombok:1.18.26' - - testImplementation 'org.junit.jupiter:junit-jupiter' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' -} diff --git a/domain-token/src/main/java/com/example/domaintoken/entity/Token.java b/domain-token/src/main/java/com/example/domaintoken/entity/Token.java deleted file mode 100644 index 3bd47167..00000000 --- a/domain-token/src/main/java/com/example/domaintoken/entity/Token.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.example.domaintoken.entity; - -import java.time.LocalDateTime; - -import com.nowait.user.entity.User; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; -import lombok.AccessLevel; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Entity -@NoArgsConstructor(access = AccessLevel.PROTECTED) -@Table(name = "token") -@Getter -public class Token { - @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long tokenId; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "user_id", nullable = false) - private User user; - - @Column - private String refreshToken; - - private LocalDateTime expiredDate; - - @Builder - public Token(User user, String refreshToken, LocalDateTime expiredDate) { - this.user = user; - this.refreshToken = refreshToken; - this.expiredDate = expiredDate; - } - - // static method로 객체를 생성 - 생성 의도 파악 쉬웁 - public static Token toEntity(User user, String refreshToken, LocalDateTime expiredDate){ - return Token.builder() - .user(user) - .refreshToken(refreshToken) - .expiredDate(expiredDate) - .build(); - } - -} diff --git a/domain-token/src/main/java/com/example/domaintoken/exception/BusinessException.java b/domain-token/src/main/java/com/example/domaintoken/exception/BusinessException.java deleted file mode 100644 index 7fe9c748..00000000 --- a/domain-token/src/main/java/com/example/domaintoken/exception/BusinessException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.domaintoken.exception; - -import com.nowait.common.exception.ErrorMessage; - -public abstract class BusinessException extends RuntimeException { - private final ErrorMessage errorMessage; - - protected BusinessException(ErrorMessage errorMessage) { - super(errorMessage.getMessage()); - this.errorMessage = errorMessage; - } - - public String getCode() { - return errorMessage.getCode(); - } -} diff --git a/domain-token/src/main/java/com/example/domaintoken/repository/TokenRepository.java b/domain-token/src/main/java/com/example/domaintoken/repository/TokenRepository.java deleted file mode 100644 index d813fd09..00000000 --- a/domain-token/src/main/java/com/example/domaintoken/repository/TokenRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.domaintoken.repository; - -import java.util.Optional; - -import org.springframework.data.jpa.repository.JpaRepository; - -import com.example.domaintoken.entity.Token; - -public interface TokenRepository extends JpaRepository { - Optional findByUserId(Long userId); -} diff --git a/domain-token/src/main/resources/application.properties b/domain-token/src/main/resources/application.properties deleted file mode 100644 index f2dcfe32..00000000 --- a/domain-token/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=domain-token diff --git a/domain-user/.gitattributes b/domain-user/.gitattributes deleted file mode 100644 index 8af972cd..00000000 --- a/domain-user/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary diff --git a/domain-user/.gitignore b/domain-user/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/domain-user/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/external-oauth/.gitignore b/external-oauth/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/external-oauth/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/external-oauth/build.gradle b/external-oauth/build.gradle deleted file mode 100644 index 8d44e560..00000000 --- a/external-oauth/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':common') - implementation project(':domain-user') - implementation project(':domain-base') - implementation project(':domain-token') - - // SPRING SECURITY - api 'org.springframework.boot:spring-boot-starter-security' - api 'org.springframework.boot:spring-boot-starter-test' - // Lombok (optional) - compileOnly 'org.projectlombok:lombok:1.18.26' - annotationProcessor 'org.projectlombok:lombok:1.18.26' - // jwt - implementation 'io.jsonwebtoken:jjwt-api:0.12.3' - implementation 'io.jsonwebtoken:jjwt-impl:0.12.3' - implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3' - // OAUTH2 - implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' - implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server' - implementation 'jakarta.servlet:jakarta.servlet-api:6.0.0' - // SWAGGER - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' -} diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/dto/KaKaoResponse.java b/external-oauth/src/main/java/com/nowait/externaloauth/dto/KaKaoResponse.java deleted file mode 100644 index 8808617b..00000000 --- a/external-oauth/src/main/java/com/nowait/externaloauth/dto/KaKaoResponse.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.nowait.externaloauth.dto; - -import java.util.Map; - -import lombok.RequiredArgsConstructor; - -// 카카오 OAuth2 응답에서 필요한 정보를 추출하는 역할 -@RequiredArgsConstructor -public class KaKaoResponse implements OAuth2Response { - private final Map attributes; - - @Override - public String getProvider() { - return "kakao"; - } - - @Override - public String getProviderId() { - return attributes.get("id").toString(); - } - - @Override - public String getEmail() { - Map kakaoAccount = (Map)attributes.get("kakao_account"); - return kakaoAccount.get("email").toString(); - } - - @Override - public String getNickName() { - Map properties = (Map)attributes.get("properties"); - return properties.get("nickname").toString(); - } - - @Override - public String getProfileImage() { - Map properties = (Map)attributes.get("properties"); - return properties.get("profile_image").toString(); - } - -} diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/jwt/JwtUtil.java b/external-oauth/src/main/java/com/nowait/externaloauth/jwt/JwtUtil.java deleted file mode 100644 index 72a17583..00000000 --- a/external-oauth/src/main/java/com/nowait/externaloauth/jwt/JwtUtil.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.nowait.externaloauth.jwt; - -import java.nio.charset.StandardCharsets; -import java.util.Date; - -import javax.crypto.SecretKey; -import javax.crypto.spec.SecretKeySpec; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import io.jsonwebtoken.Jwts; - -@Component -public class JwtUtil { - private final SecretKey secretKey; - - // 시크릿 키를 암호화하여, 키 생성 - public JwtUtil(@Value("${jwt.secret}") String secret) { - this.secretKey = new SecretKeySpec( - secret.getBytes(StandardCharsets.UTF_8), - Jwts.SIG.HS256.key().build().getAlgorithm() - ); - } - - public String createAccessToken(String tokenCategory, Long userId, String role, Long expiredMs) { - return Jwts.builder() - .claim("tokenCategory", tokenCategory) // accessToken - .claim("userId", userId) - .claim("role", role) - .issuedAt(new Date(System.currentTimeMillis())) - .expiration(new Date(System.currentTimeMillis() + expiredMs)) - .signWith(secretKey) - .compact(); - } - - public String createRefreshToken(String tokenCategory, Long userId, Long expiredMs) { - return Jwts.builder() - .claim("tokenCategory", tokenCategory) // refreshToken - .claim("userId", userId) - .issuedAt(new Date(System.currentTimeMillis())) - .expiration(new Date(System.currentTimeMillis() + expiredMs)) - .signWith(secretKey) - .compact(); - } - - public String getTokenCategory(String token) { - return Jwts.parser().verifyWith(secretKey).build() - .parseClaimsJws(token) - .getBody() - .get("tokenCategory", String.class); - } - - public String getRole(String token) { - return Jwts.parser().verifyWith(secretKey).build() - .parseClaimsJws(token) - .getBody() - .get("role", String.class); - } - - public Long getUserId(String token) { - return Jwts.parser().verifyWith(secretKey).build() - .parseClaimsJws(token) - .getBody() - .get("userId", Long.class); - } - - public Boolean isExpired(String token) { - return Jwts.parser().verifyWith(secretKey).build() - .parseSignedClaims(token) - .getPayload() - .getExpiration() - .before(new Date()); - } - -} diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/service/CustomUserDetailService.java b/external-oauth/src/main/java/com/nowait/externaloauth/service/CustomUserDetailService.java deleted file mode 100644 index 87b639e3..00000000 --- a/external-oauth/src/main/java/com/nowait/externaloauth/service/CustomUserDetailService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.nowait.externaloauth.service; - -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.stereotype.Component; - -import com.nowait.user.entity.MemberDetails; -import com.nowait.user.entity.User; -import com.nowait.user.repository.UserRepository; - -import lombok.RequiredArgsConstructor; - -@Component -@RequiredArgsConstructor -public class CustomUserDetailService implements UserDetailsService { - - private final UserRepository userRepository; - - @Override - public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { - User user = userRepository.findByEmail(email).orElseThrow(); - return MemberDetails.create(user); - } - - public UserDetails loadUserById(Long id) throws UsernameNotFoundException { - User member = userRepository.findById(id).orElseThrow(); - return MemberDetails.create(member); - } -} diff --git a/infra-aws/.gitattributes b/infra-aws/.gitattributes deleted file mode 100644 index 8af972cd..00000000 --- a/infra-aws/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary diff --git a/infra-aws/.gitignore b/infra-aws/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/infra-aws/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/infra-aws/src/main/java/com/example/infrastorage/config/AwsS3Config.java b/infra-aws/src/main/java/com/example/infrastorage/config/AwsS3Config.java deleted file mode 100644 index 4eda87c2..00000000 --- a/infra-aws/src/main/java/com/example/infrastorage/config/AwsS3Config.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.example.infrastorage.config; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import com.amazonaws.auth.AWSStaticCredentialsProvider; -import com.amazonaws.auth.BasicAWSCredentials; -import com.amazonaws.services.s3.AmazonS3Client; -import com.amazonaws.services.s3.AmazonS3ClientBuilder; - -@Configuration -public class AwsS3Config { - - @Value("${cloud.aws.credentials.access-key}") - private String accessKey; - - @Value("${cloud.aws.credentials.secret-key}") - private String secretKey; - - @Value("${cloud.aws.region.static}") - private String region; - - @Bean - public AmazonS3Client amazonS3Client() { - BasicAWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey); - return (AmazonS3Client)AmazonS3ClientBuilder.standard() - .withRegion(region) - .withCredentials(new AWSStaticCredentialsProvider(awsCredentials)) - .build(); - } - -} diff --git a/infra-aws/src/main/java/com/example/infrastorage/s3/S3Service.java b/infra-aws/src/main/java/com/example/infrastorage/s3/S3Service.java deleted file mode 100644 index 20d9abf0..00000000 --- a/infra-aws/src/main/java/com/example/infrastorage/s3/S3Service.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.example.infrastorage.s3; - -import java.io.InputStream; -import java.util.UUID; -import java.util.concurrent.CompletableFuture; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - -import com.amazonaws.services.s3.AmazonS3Client; -import com.amazonaws.services.s3.model.ObjectMetadata; - -import io.github.resilience4j.bulkhead.annotation.Bulkhead; -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class S3Service { - private final AmazonS3Client amazonS3Client; - - @Value("${cloud.aws.s3.bucket}") - private String bucket; - - public record S3UploadResult(String key, String url) { - } - - @Bulkhead(name = "s3UploadBulkhead", type = Bulkhead.Type.THREADPOOL) - @Async("s3UploadExecutor") - public CompletableFuture upload(String type, Long refId, MultipartFile file) { // TODO MultipartFile 분리 필요 (Spring에 의존하면 안 됨) - try (InputStream inputStream = file.getInputStream()) { - String key = createFileKey(type, refId, file.getOriginalFilename()); - ObjectMetadata metadata = new ObjectMetadata(); - metadata.setContentLength(file.getSize()); - - amazonS3Client.putObject(bucket, key, inputStream, metadata); - String url = amazonS3Client.getUrl(bucket, key).toString(); - - return CompletableFuture.completedFuture(new S3UploadResult(key, url)); - } catch (Exception e) { - throw new RuntimeException("S3 업로드 실패", e); - } - } - - public void delete(String filename) { - try { - amazonS3Client.deleteObject(bucket, filename); - } catch (Exception e) { - throw new RuntimeException("S3 파일 삭제 실패", e); - } - } - - private String createFileKey(String type, Long refId, String filename) { - return type + "/" + refId + "/" + UUID.randomUUID() + "-" + filename; - } -} diff --git a/application-admin/.gitattributes b/nowait-app-admin-api/.gitattributes similarity index 100% rename from application-admin/.gitattributes rename to nowait-app-admin-api/.gitattributes diff --git a/application-admin/.gitignore b/nowait-app-admin-api/.gitignore similarity index 100% rename from application-admin/.gitignore rename to nowait-app-admin-api/.gitignore diff --git a/application-admin/build.gradle b/nowait-app-admin-api/build.gradle similarity index 53% rename from application-admin/build.gradle rename to nowait-app-admin-api/build.gradle index 43708f07..f6f6a509 100644 --- a/application-admin/build.gradle +++ b/nowait-app-admin-api/build.gradle @@ -1,34 +1,26 @@ plugins { - id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'java' } -group = 'com.nowaiting' -version = '0.0.1-SNAPSHOT' - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } +jar { + enabled = false +} +bootJar { + enabled = true } +group = 'com.nowait' +version = '0.0.1-SNAPSHOT' + repositories { mavenCentral() } -// api-admin에서 사용하는 도메인, 인프라 모듈만 추가 dependencies { - implementation project(':domain-menu') // 메뉴 관련 도메인 - implementation project(':domain-base') // 시간 관련 도메인 - implementation project(':domain-store') // 주점 관련 도메인 - implementation project(':domain-user') - implementation project(':domain-token') - implementation project(':domain-order') - implementation project(':domain-reservation') // 예약 관련 도메인 - implementation project(':security-admin') // 인증 관련 도메인 - implementation project(':infra-aws') // aws 관련 도메인 - implementation project(':application-config') + implementation project(':nowait-common') + implementation project(':nowait-infra') + implementation project(':nowait-domain:domain-admin-rdb') + implementation project(':nowait-domain:domain-core-rdb') // Spring Boot Starter implementation 'org.springframework.boot:spring-boot-starter-web' @@ -39,6 +31,11 @@ dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' + // jwt + implementation 'io.jsonwebtoken:jjwt-api:0.12.3' + implementation 'io.jsonwebtoken:jjwt-impl:0.12.3' + implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3' + // SWAGGER implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' diff --git a/nowait-app-admin-api/src/main/java/com/nowait/ApiAdminApplication.java b/nowait-app-admin-api/src/main/java/com/nowait/ApiAdminApplication.java new file mode 100644 index 00000000..363e737d --- /dev/null +++ b/nowait-app-admin-api/src/main/java/com/nowait/ApiAdminApplication.java @@ -0,0 +1,13 @@ +package com.nowait; + +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.data.jpa.repository.config.EnableJpaAuditing; + +@EnableJpaAuditing +@SpringBootApplication +public class ApiAdminApplication { + public static void main(String[] args) { + org.springframework.boot.SpringApplication.run(ApiAdminApplication.class, args); + } +} + diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/SwaggerConfig.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/SwaggerConfig.java new file mode 100644 index 00000000..0bc46aad --- /dev/null +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/SwaggerConfig.java @@ -0,0 +1,29 @@ +package com.nowait.applicationadmin.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.security.SecurityRequirement; +import io.swagger.v3.oas.models.security.SecurityScheme; + +@Configuration +public class SwaggerConfig { + @Bean + public OpenAPI openAPI() { + return new OpenAPI() + .addSecurityItem(new SecurityRequirement().addList("JWT")) + .components(new Components() + .addSecuritySchemes("JWT", new SecurityScheme() + .name("Authorization") + .type(SecurityScheme.Type.HTTP) + .scheme("bearer") + .bearerFormat("JWT") + .in(SecurityScheme.In.HEADER))) + .info(new Info().title("NOWAIT API") + .description("NOWAIT API Specification") + .version("v0.0.1")); + } +} diff --git a/security-front/src/main/java/com/nowait/auth/config/CorsConfig.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/security/CorsConfig.java similarity index 87% rename from security-front/src/main/java/com/nowait/auth/config/CorsConfig.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/security/CorsConfig.java index 34b293b5..c0c27282 100644 --- a/security-front/src/main/java/com/nowait/auth/config/CorsConfig.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/security/CorsConfig.java @@ -1,4 +1,4 @@ -package com.nowait.auth.config; +package com.nowait.applicationadmin.config.security; import java.util.List; @@ -15,7 +15,7 @@ public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); // 쿠키나 인증헤더 자격증명 허용 - config.setAllowedOrigins(List.of("http://localhost:3000", "http://localhost:8083")); // 허용할 출처 설정 + config.setAllowedOrigins(List.of("http://localhost:5173","http://localhost:63342")); // 허용할 출처 설정 config.setAllowedMethods(List.of("GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS")); // 메서드 허용 config.setAllowedHeaders(List.of("*")); //클라이언트가 보낼 수 있는 헤더 config.setExposedHeaders(List.of("Authorization")); //클라이언트(브라우저)가 접근할 수 있는 헤더 지정 diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/auth/config/SecurityConfig.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/security/SecurityConfig.java similarity index 91% rename from security-admin/src/main/java/com/nowait/adminsecurity/auth/config/SecurityConfig.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/security/SecurityConfig.java index f41b4913..e7fa71d5 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/auth/config/SecurityConfig.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/config/security/SecurityConfig.java @@ -1,4 +1,4 @@ -package com.nowait.adminsecurity.auth.config; +package com.nowait.applicationadmin.config.security; import org.springframework.context.annotation.Bean; @@ -15,9 +15,9 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfigurationSource; -import com.nowait.adminsecurity.auth.jwt.JwtAuthorizationFilter; -import com.nowait.adminsecurity.auth.jwt.JwtUtil; -import com.nowait.adminsecurity.auth.service.CustomUserDetailService; +import com.nowait.applicationadmin.security.jwt.JwtAuthorizationFilter; +import com.nowait.applicationadmin.security.jwt.JwtUtil; +import com.nowait.applicationadmin.security.service.CustomUserDetailService; import lombok.RequiredArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/exception/GlobalExceptionHandler.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/exception/GlobalExceptionHandler.java similarity index 90% rename from application-admin/src/main/java/com/nowait/applicationadmin/exception/GlobalExceptionHandler.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/exception/GlobalExceptionHandler.java index 86667a64..68487e07 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/exception/GlobalExceptionHandler.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/exception/GlobalExceptionHandler.java @@ -17,16 +17,16 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.multipart.MultipartException; -import com.nowait.reservation.exception.ReservationNotFoundException; -import com.nowait.token.exception.BusinessException; -import com.nowait.adminsecurity.exception.ResourceNotFoundException; -import com.nowait.adminsecurity.exception.UnauthorizedException; -import com.nowait.order.exception.DuplicateOrderException; -import com.nowait.order.exception.OrderItemsEmptyException; -import com.nowait.order.exception.OrderParameterEmptyException; +import com.nowait.applicationadmin.security.exception.ResourceNotFoundException; +import com.nowait.applicationadmin.security.exception.UnauthorizedException; import com.nowait.common.exception.ErrorMessage; import com.nowait.common.exception.ErrorResponse; -import com.nowait.user.exception.UserNotFoundException; +import com.nowait.domaincorerdb.order.exception.DuplicateOrderException; +import com.nowait.domaincorerdb.order.exception.OrderItemsEmptyException; +import com.nowait.domaincorerdb.order.exception.OrderParameterEmptyException; +import com.nowait.domaincorerdb.reservation.exception.ReservationNotFoundException; +import com.nowait.domaincorerdb.token.exception.BusinessException; +import com.nowait.domaincorerdb.user.exception.UserNotFoundException; import io.swagger.v3.oas.annotations.Hidden; import lombok.extern.slf4j.Slf4j; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/controller/MenuController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/controller/MenuController.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/controller/MenuController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/controller/MenuController.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/controller/MenuImageController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/controller/MenuImageController.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/controller/MenuImageController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/controller/MenuImageController.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateRequest.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateRequest.java similarity index 92% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateRequest.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateRequest.java index 7ac4bfe8..0a303176 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateRequest.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateRequest.java @@ -1,7 +1,7 @@ package com.nowait.applicationadmin.menu.dto; -import com.nowait.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.Menu; import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateResponse.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateResponse.java similarity index 94% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateResponse.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateResponse.java index 35700684..bef0ce8d 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateResponse.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuCreateResponse.java @@ -2,7 +2,7 @@ import java.time.LocalDateTime; -import com.nowait.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.Menu; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuImageUploadResponse.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuImageUploadResponse.java similarity index 88% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuImageUploadResponse.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuImageUploadResponse.java index b73755ed..edb4b0ca 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuImageUploadResponse.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuImageUploadResponse.java @@ -1,6 +1,6 @@ package com.nowait.applicationadmin.menu.dto; -import com.nowait.menu.entity.MenuImage; +import com.nowait.domaincorerdb.menu.entity.MenuImage; import lombok.Builder; import lombok.Getter; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadDto.java similarity index 94% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadDto.java index c4e89b08..53fffd71 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadDto.java @@ -2,7 +2,7 @@ import java.util.List; -import com.nowait.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.Menu; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadResponse.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadResponse.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadResponse.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuReadResponse.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuUpdateRequest.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuUpdateRequest.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/dto/MenuUpdateRequest.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/dto/MenuUpdateRequest.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java similarity index 74% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java index ba1a7b77..6cf6f394 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java @@ -5,14 +5,14 @@ import org.springframework.web.multipart.MultipartFile; import com.nowait.applicationadmin.menu.dto.MenuImageUploadResponse; -import com.nowait.infraaws.s3.S3Service; -import com.nowait.menu.entity.Menu; -import com.nowait.menu.entity.MenuImage; -import com.nowait.menu.exception.MenuImageEmptyException; -import com.nowait.menu.exception.MenuImageNotFoundException; -import com.nowait.menu.exception.MenuNotFoundException; -import com.nowait.menu.repository.MenuImageRepository; -import com.nowait.menu.repository.MenuRepository; +import com.nowait.domaincorerdb.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.MenuImage; +import com.nowait.domaincorerdb.menu.exception.MenuImageEmptyException; +import com.nowait.domaincorerdb.menu.exception.MenuImageNotFoundException; +import com.nowait.domaincorerdb.menu.exception.MenuNotFoundException; +import com.nowait.domaincorerdb.menu.repository.MenuImageRepository; +import com.nowait.domaincorerdb.menu.repository.MenuRepository; +import com.nowait.infraaws.aws.s3.S3Service; import lombok.RequiredArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/menu/service/MenuService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuService.java similarity index 89% rename from application-admin/src/main/java/com/nowait/applicationadmin/menu/service/MenuService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuService.java index a0c25374..2ea282bf 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/menu/service/MenuService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuService.java @@ -11,12 +11,12 @@ import com.nowait.applicationadmin.menu.dto.MenuReadDto; import com.nowait.applicationadmin.menu.dto.MenuReadResponse; import com.nowait.applicationadmin.menu.dto.MenuUpdateRequest; -import com.nowait.menu.entity.Menu; -import com.nowait.menu.entity.MenuImage; -import com.nowait.menu.exception.MenuNotFoundException; -import com.nowait.menu.repository.MenuImageRepository; -import com.nowait.menu.repository.MenuRepository; -import com.nowait.order.exception.OrderParameterEmptyException; +import com.nowait.domaincorerdb.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.MenuImage; +import com.nowait.domaincorerdb.menu.exception.MenuNotFoundException; +import com.nowait.domaincorerdb.menu.repository.MenuImageRepository; +import com.nowait.domaincorerdb.menu.repository.MenuRepository; +import com.nowait.domaincorerdb.order.exception.OrderParameterEmptyException; import lombok.RequiredArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/order/controller/OrderController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/controller/OrderController.java similarity index 98% rename from application-admin/src/main/java/com/nowait/applicationadmin/order/controller/OrderController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/controller/OrderController.java index 775306e8..dfc03619 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/order/controller/OrderController.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/controller/OrderController.java @@ -25,7 +25,7 @@ @Tag(name = "Order API", description = "주문 API") @RestController -@RequestMapping("admin/orders") +@RequestMapping("/admin/orders") @RequiredArgsConstructor public class OrderController { diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java new file mode 100644 index 00000000..f5e93610 --- /dev/null +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java @@ -0,0 +1,31 @@ +package com.nowait.applicationadmin.order.dto; + +import java.time.LocalDateTime; + +import com.nowait.domaincorerdb.order.entity.OrderStatus; +import com.nowait.domaincorerdb.order.entity.UserOrder; + +import lombok.Builder; +import lombok.Getter; + +@Getter +@Builder +public class OrderResponseDto { + private Long id; + private Long tableId; + private String depositorName; + private Integer totalPrice; + private OrderStatus status; + private LocalDateTime createdAt; + + public static OrderResponseDto fromEntity(UserOrder userOrder) { + return OrderResponseDto.builder() + .id(userOrder.getId()) + .tableId(userOrder.getTableId()) + .depositorName(userOrder.getDepositorName()) + .totalPrice(userOrder.getTotalPrice()) + .status(userOrder.getStatus()) + .createdAt(userOrder.getCreatedAt()) + .build(); + } +} diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateRequestDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateRequestDto.java new file mode 100644 index 00000000..a28f0434 --- /dev/null +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateRequestDto.java @@ -0,0 +1,16 @@ +package com.nowait.applicationadmin.order.dto; + +import com.nowait.domaincorerdb.order.entity.OrderStatus; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public class OrderStatusUpdateRequestDto { + @Schema(description = "주문 상태", example = "WAITING_FOR_PAYMENT", allowableValues = {"WAITING_FOR_PAYMENT", "COOKING", "COOKED"}) + @NotNull(message = "주문상태는 필수입니다") + private final OrderStatus orderStatus; +} diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateResponseDto.java new file mode 100644 index 00000000..dfcec919 --- /dev/null +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderStatusUpdateResponseDto.java @@ -0,0 +1,17 @@ +package com.nowait.applicationadmin.order.dto; + +import com.nowait.domaincorerdb.order.entity.OrderStatus; +import com.nowait.domaincorerdb.order.entity.UserOrder; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public class OrderStatusUpdateResponseDto { + private final OrderStatus orderStatus; + + public static OrderStatusUpdateResponseDto fromEntity(UserOrder userOrder) { + return new OrderStatusUpdateResponseDto(userOrder.getStatus()); + } +} diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java new file mode 100644 index 00000000..41418531 --- /dev/null +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java @@ -0,0 +1,36 @@ +package com.nowait.applicationadmin.order.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.nowait.applicationadmin.order.dto.OrderResponseDto; +import com.nowait.applicationadmin.order.dto.OrderStatusUpdateResponseDto; +import com.nowait.domaincorerdb.order.entity.OrderStatus; +import com.nowait.domaincorerdb.order.entity.UserOrder; +import com.nowait.domaincorerdb.order.repository.OrderRepository; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class OrderService { + private final OrderRepository orderRepository; + + @Transactional(readOnly = true) + public List findAllOrders(Long storeId) { + return orderRepository.findAllByStore_StoreId(storeId).stream() + .map(OrderResponseDto::fromEntity) + .collect(Collectors.toList()); + } + + @Transactional + public OrderStatusUpdateResponseDto updateOrderStatus(Long orderId, OrderStatus newStatus) { + UserOrder userOrder = orderRepository.findById(orderId) + .orElseThrow(() -> new IllegalArgumentException("Order not found with id: " + orderId)); + userOrder.updateStatus(newStatus); + return OrderStatusUpdateResponseDto.fromEntity(userOrder); + } +} diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/controller/ReservationController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/controller/ReservationController.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/reservation/controller/ReservationController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/controller/ReservationController.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/CallGetResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/CallGetResponseDto.java similarity index 91% rename from application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/CallGetResponseDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/CallGetResponseDto.java index 6d366830..a8100975 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/CallGetResponseDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/CallGetResponseDto.java @@ -2,7 +2,7 @@ import java.time.LocalDateTime; -import com.nowait.reservation.entity.Reservation; +import com.nowait.domaincorerdb.reservation.entity.Reservation; import lombok.Builder; import lombok.Getter; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationGetResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationGetResponseDto.java similarity index 92% rename from application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationGetResponseDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationGetResponseDto.java index 00022384..6bb7e5af 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationGetResponseDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationGetResponseDto.java @@ -2,7 +2,7 @@ import java.time.LocalDateTime; -import com.nowait.reservation.entity.Reservation; +import com.nowait.domaincorerdb.reservation.entity.Reservation; import lombok.Builder; import lombok.Getter; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusSummaryDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusSummaryDto.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusSummaryDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusSummaryDto.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusUpdateRequestDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusUpdateRequestDto.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusUpdateRequestDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/dto/ReservationStatusUpdateRequestDto.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/service/ReservationService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/service/ReservationService.java similarity index 90% rename from application-admin/src/main/java/com/nowait/applicationadmin/reservation/service/ReservationService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/service/ReservationService.java index 79b891d7..249f6b3f 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/reservation/service/ReservationService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/reservation/service/ReservationService.java @@ -11,9 +11,9 @@ import com.nowait.applicationadmin.reservation.dto.ReservationStatusSummaryDto; import com.nowait.applicationadmin.reservation.dto.ReservationStatusUpdateRequestDto; import com.nowait.common.enums.ReservationStatus; -import com.nowait.reservation.entity.Reservation; -import com.nowait.reservation.exception.ReservationNotFoundException; -import com.nowait.reservation.repository.ReservationRepository; +import com.nowait.domaincorerdb.reservation.entity.Reservation; +import com.nowait.domaincorerdb.reservation.exception.ReservationNotFoundException; +import com.nowait.domaincorerdb.reservation.repository.ReservationRepository; import lombok.RequiredArgsConstructor; diff --git a/security-front/src/main/java/com/nowait/frontsecurity/exception/RefreshTokenNotFoundException.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/RefreshTokenNotFoundException.java similarity index 80% rename from security-front/src/main/java/com/nowait/frontsecurity/exception/RefreshTokenNotFoundException.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/RefreshTokenNotFoundException.java index 409fe133..8a2dbe2d 100644 --- a/security-front/src/main/java/com/nowait/frontsecurity/exception/RefreshTokenNotFoundException.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/RefreshTokenNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.frontsecurity.exception; +package com.nowait.applicationadmin.security.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/exception/ResourceNotFoundException.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/ResourceNotFoundException.java similarity index 87% rename from security-admin/src/main/java/com/nowait/adminsecurity/exception/ResourceNotFoundException.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/ResourceNotFoundException.java index 9b26d0ca..251c6fd4 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/exception/ResourceNotFoundException.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/ResourceNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.adminsecurity.exception; +package com.nowait.applicationadmin.security.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/exception/TokenBadRequestException.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/TokenBadRequestException.java similarity index 63% rename from security-admin/src/main/java/com/nowait/adminsecurity/exception/TokenBadRequestException.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/TokenBadRequestException.java index 483b2193..3048219c 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/exception/TokenBadRequestException.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/TokenBadRequestException.java @@ -1,7 +1,7 @@ -package com.nowait.adminsecurity.exception; +package com.nowait.applicationadmin.security.exception; -import com.nowait.token.exception.BusinessException; import com.nowait.common.exception.ErrorMessage; +import com.nowait.domaincorerdb.token.exception.BusinessException; public class TokenBadRequestException extends BusinessException { public TokenBadRequestException() { diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/exception/UnauthorizedException.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/UnauthorizedException.java similarity index 89% rename from security-admin/src/main/java/com/nowait/adminsecurity/exception/UnauthorizedException.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/UnauthorizedException.java index c65b3bc6..53a1d78a 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/exception/UnauthorizedException.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/exception/UnauthorizedException.java @@ -1,4 +1,4 @@ -package com.nowait.adminsecurity.exception; +package com.nowait.applicationadmin.security.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/auth/jwt/JwtAuthorizationFilter.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/jwt/JwtAuthorizationFilter.java similarity index 94% rename from security-admin/src/main/java/com/nowait/adminsecurity/auth/jwt/JwtAuthorizationFilter.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/jwt/JwtAuthorizationFilter.java index 7aed61b9..a126d366 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/auth/jwt/JwtAuthorizationFilter.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/jwt/JwtAuthorizationFilter.java @@ -1,4 +1,4 @@ -package com.nowait.adminsecurity.auth.jwt; +package com.nowait.applicationadmin.security.jwt; import java.io.IOException; @@ -6,7 +6,7 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.filter.OncePerRequestFilter; -import com.nowait.adminsecurity.auth.service.CustomUserDetailService; +import com.nowait.applicationadmin.security.service.CustomUserDetailService; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; diff --git a/security-front/src/main/java/com/nowait/auth/jwt/JwtUtil.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/jwt/JwtUtil.java similarity index 97% rename from security-front/src/main/java/com/nowait/auth/jwt/JwtUtil.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/jwt/JwtUtil.java index fd0620e9..d4b17e3d 100644 --- a/security-front/src/main/java/com/nowait/auth/jwt/JwtUtil.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/jwt/JwtUtil.java @@ -1,4 +1,4 @@ -package com.nowait.auth.jwt; +package com.nowait.applicationadmin.security.jwt; import java.nio.charset.StandardCharsets; import java.util.Date; diff --git a/security-front/src/main/java/com/nowait/auth/service/CustomUserDetailService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/service/CustomUserDetailService.java similarity index 78% rename from security-front/src/main/java/com/nowait/auth/service/CustomUserDetailService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/service/CustomUserDetailService.java index 4476c9c4..6af0ae5b 100644 --- a/security-front/src/main/java/com/nowait/auth/service/CustomUserDetailService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/security/service/CustomUserDetailService.java @@ -1,13 +1,13 @@ -package com.nowait.auth.service; +package com.nowait.applicationadmin.security.service; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Component; -import com.nowait.user.entity.MemberDetails; -import com.nowait.user.entity.User; -import com.nowait.user.repository.UserRepository; +import com.nowait.domaincorerdb.user.entity.MemberDetails; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domaincorerdb.user.repository.UserRepository; import lombok.RequiredArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/controller/StoreController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/controller/StoreController.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/controller/StoreController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/controller/StoreController.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/controller/StoreImageController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/controller/StoreImageController.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/controller/StoreImageController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/controller/StoreImageController.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateRequest.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateRequest.java similarity index 92% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateRequest.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateRequest.java index fb4f58a4..4fa8c3e9 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateRequest.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateRequest.java @@ -1,6 +1,6 @@ package com.nowait.applicationadmin.store.dto; -import com.nowait.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.Store; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateResponse.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateResponse.java similarity index 94% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateResponse.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateResponse.java index 2356d469..cc76f894 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateResponse.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreCreateResponse.java @@ -2,7 +2,7 @@ import java.time.LocalDateTime; -import com.nowait.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.Store; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreImageUploadResponse.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreImageUploadResponse.java similarity index 87% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreImageUploadResponse.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreImageUploadResponse.java index 9e2abe7d..a34ca422 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreImageUploadResponse.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreImageUploadResponse.java @@ -1,6 +1,6 @@ package com.nowait.applicationadmin.store.dto; -import com.nowait.store.entity.StoreImage; +import com.nowait.domaincorerdb.store.entity.StoreImage; import lombok.Builder; import lombok.Getter; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreReadDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreReadDto.java similarity index 94% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreReadDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreReadDto.java index 00e1a234..b0497dd1 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreReadDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreReadDto.java @@ -3,7 +3,7 @@ import java.time.LocalDateTime; import java.util.List; -import com.nowait.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.Store; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreUpdateRequest.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreUpdateRequest.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/dto/StoreUpdateRequest.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/dto/StoreUpdateRequest.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreImageService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreImageService.java similarity index 81% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreImageService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreImageService.java index 8cb92dde..aef083e2 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreImageService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreImageService.java @@ -9,17 +9,16 @@ import org.springframework.web.multipart.MultipartFile; import com.nowait.applicationadmin.store.dto.StoreImageUploadResponse; -import com.nowait.store.entity.Store; -import com.nowait.store.entity.StoreImage; -import com.nowait.store.exception.StoreImageEmptyException; -import com.nowait.store.exception.StoreImageNotFoundException; -import com.nowait.store.exception.StoreNotFoundException; -import com.nowait.store.repository.StoreImageRepository; -import com.nowait.store.repository.StoreRepository; -import com.nowait.infraaws.s3.S3Service; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.StoreImage; +import com.nowait.domaincorerdb.store.exception.StoreImageEmptyException; +import com.nowait.domaincorerdb.store.exception.StoreImageNotFoundException; +import com.nowait.domaincorerdb.store.exception.StoreNotFoundException; +import com.nowait.domaincorerdb.store.repository.StoreImageRepository; +import com.nowait.domaincorerdb.store.repository.StoreRepository; +import com.nowait.infraaws.aws.s3.S3Service; -import jakarta.persistence.EntityNotFoundException; import lombok.RequiredArgsConstructor; @Service diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreService.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreService.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreServiceImpl.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreServiceImpl.java similarity index 88% rename from application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreServiceImpl.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreServiceImpl.java index 196f634f..ce4f65da 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/store/service/StoreServiceImpl.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/store/service/StoreServiceImpl.java @@ -10,12 +10,13 @@ import com.nowait.applicationadmin.store.dto.StoreImageUploadResponse; import com.nowait.applicationadmin.store.dto.StoreReadDto; import com.nowait.applicationadmin.store.dto.StoreUpdateRequest; -import com.nowait.store.entity.Store; -import com.nowait.store.entity.StoreImage; -import com.nowait.store.exception.StoreNotFoundException; -import com.nowait.store.exception.StoreParamEmptyException; -import com.nowait.store.repository.StoreImageRepository; -import com.nowait.store.repository.StoreRepository; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.StoreImage; +import com.nowait.domaincorerdb.store.exception.StoreNotFoundException; +import com.nowait.domaincorerdb.store.exception.StoreParamEmptyException; +import com.nowait.domaincorerdb.store.repository.StoreImageRepository; +import com.nowait.domaincorerdb.store.repository.StoreRepository; + import jakarta.persistence.EntityNotFoundException; import lombok.RequiredArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/token/controller/TokenController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/controller/TokenController.java similarity index 97% rename from application-admin/src/main/java/com/nowait/applicationadmin/token/controller/TokenController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/controller/TokenController.java index be84678e..5b07ce24 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/token/controller/TokenController.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/controller/TokenController.java @@ -8,10 +8,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.nowait.applicationadmin.security.jwt.JwtUtil; import com.nowait.applicationadmin.token.dto.AuthenticationResponse; import com.nowait.applicationadmin.token.dto.RefreshTokenRequest; import com.nowait.applicationadmin.token.service.TokenService; -import com.nowait.adminsecurity.auth.jwt.JwtUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/token/dto/AuthenticationResponse.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/dto/AuthenticationResponse.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/token/dto/AuthenticationResponse.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/dto/AuthenticationResponse.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/token/dto/RefreshTokenRequest.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/dto/RefreshTokenRequest.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/token/dto/RefreshTokenRequest.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/dto/RefreshTokenRequest.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/token/service/TokenService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/service/TokenService.java similarity index 87% rename from application-admin/src/main/java/com/nowait/applicationadmin/token/service/TokenService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/service/TokenService.java index 746b86cb..86364d92 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/token/service/TokenService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/token/service/TokenService.java @@ -6,11 +6,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.nowait.token.entity.Token; -import com.nowait.token.repository.TokenRepository; -import com.nowait.adminsecurity.auth.jwt.JwtUtil; -import com.nowait.adminsecurity.exception.RefreshTokenNotFoundException; -import com.nowait.adminsecurity.exception.TokenBadRequestException; +import com.nowait.applicationadmin.security.exception.RefreshTokenNotFoundException; +import com.nowait.applicationadmin.security.exception.TokenBadRequestException; +import com.nowait.applicationadmin.security.jwt.JwtUtil; +import com.nowait.domaincorerdb.token.entity.Token; +import com.nowait.domaincorerdb.token.repository.TokenRepository; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/user/controller/UserController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/controller/UserController.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/user/controller/UserController.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/controller/UserController.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginRequestDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginRequestDto.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginRequestDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginRequestDto.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginResponseDto.java similarity index 95% rename from application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginResponseDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginResponseDto.java index 48acf335..d6c1ebdf 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginResponseDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerLoginResponseDto.java @@ -1,6 +1,6 @@ package com.nowait.applicationadmin.user.dto; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.user.entity.User; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupRequestDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupRequestDto.java similarity index 96% rename from application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupRequestDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupRequestDto.java index 3d89c41a..cece8edd 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupRequestDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupRequestDto.java @@ -2,7 +2,7 @@ import com.nowait.common.enums.Role; import com.nowait.common.enums.SocialType; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.user.entity.User; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Email; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupResponseDto.java similarity index 94% rename from application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupResponseDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupResponseDto.java index 46e8a1e4..4c48e981 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupResponseDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/ManagerSignupResponseDto.java @@ -1,7 +1,7 @@ package com.nowait.applicationadmin.user.dto; import com.nowait.common.enums.Role; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.user.entity.User; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/user/dto/UserResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/UserResponseDto.java similarity index 100% rename from application-admin/src/main/java/com/nowait/applicationadmin/user/dto/UserResponseDto.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/dto/UserResponseDto.java diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/user/serivce/UserService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/serivce/UserService.java similarity index 92% rename from application-admin/src/main/java/com/nowait/applicationadmin/user/serivce/UserService.java rename to nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/serivce/UserService.java index 7a797a9b..669a202b 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/user/serivce/UserService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/user/serivce/UserService.java @@ -8,14 +8,14 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.nowait.applicationadmin.security.jwt.JwtUtil; import com.nowait.applicationadmin.user.dto.ManagerLoginRequestDto; import com.nowait.applicationadmin.user.dto.ManagerLoginResponseDto; import com.nowait.applicationadmin.user.dto.ManagerSignupRequestDto; import com.nowait.applicationadmin.user.dto.ManagerSignupResponseDto; -import com.nowait.adminsecurity.auth.jwt.JwtUtil; -import com.nowait.user.entity.MemberDetails; -import com.nowait.user.entity.User; -import com.nowait.user.repository.UserRepository; +import com.nowait.domaincorerdb.user.entity.MemberDetails; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domaincorerdb.user.repository.UserRepository; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/application-config/.gitattributes b/nowait-app-user-api/.gitattributes similarity index 100% rename from application-config/.gitattributes rename to nowait-app-user-api/.gitattributes diff --git a/application-user/.gitignore b/nowait-app-user-api/.gitignore similarity index 100% rename from application-user/.gitignore rename to nowait-app-user-api/.gitignore diff --git a/nowait-app-user-api/build.gradle b/nowait-app-user-api/build.gradle new file mode 100644 index 00000000..6e3a1302 --- /dev/null +++ b/nowait-app-user-api/build.gradle @@ -0,0 +1,60 @@ +plugins { + id 'java' +} + +jar { + enabled = false +} +bootJar { + enabled = true +} + +group = 'com.nowait' +version = '0.0.1-SNAPSHOT' + + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':nowait-common') + implementation project(':nowait-infra') // 사용자 관련 도메인 + implementation project(':nowait-domain:domain-user-rdb') + implementation project(':nowait-domain:domain-core-rdb') + + // Spring Boot Starter + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-validation' + + // SPRING SECURITY + implementation 'org.springframework.boot:spring-boot-starter-security' + testImplementation 'org.springframework.boot:spring-boot-starter-test' + + // jwt + implementation 'io.jsonwebtoken:jjwt-api:0.12.3' + implementation 'io.jsonwebtoken:jjwt-impl:0.12.3' + implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3' + + // OAUTH2 + implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' + implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server' + implementation 'jakarta.servlet:jakarta.servlet-api:6.0.0' + + // DB + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + runtimeOnly 'com.mysql:mysql-connector-j' + + // SWAGGER + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' + + // 기타 필요 라이브러리 (예: Lombok) + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +test { + useJUnitPlatform() +} diff --git a/application-user/gradle/wrapper/gradle-wrapper.jar b/nowait-app-user-api/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from application-user/gradle/wrapper/gradle-wrapper.jar rename to nowait-app-user-api/gradle/wrapper/gradle-wrapper.jar diff --git a/application-user/gradle/wrapper/gradle-wrapper.properties b/nowait-app-user-api/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from application-user/gradle/wrapper/gradle-wrapper.properties rename to nowait-app-user-api/gradle/wrapper/gradle-wrapper.properties diff --git a/nowait-app-user-api/src/main/java/com/nowait/ApiUserApplication.java b/nowait-app-user-api/src/main/java/com/nowait/ApiUserApplication.java new file mode 100644 index 00000000..0c0207e5 --- /dev/null +++ b/nowait-app-user-api/src/main/java/com/nowait/ApiUserApplication.java @@ -0,0 +1,15 @@ +package com.nowait; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.data.jpa.repository.config.EnableJpaAuditing; + +@EnableJpaAuditing +@SpringBootApplication +public class ApiUserApplication { + + public static void main(String[] args) { + SpringApplication.run(ApiUserApplication.class, args); + } + +} diff --git a/application-user/src/main/java/com/nowait/applicationuser/bookmark/controller/BookmarkController.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/controller/BookmarkController.java similarity index 97% rename from application-user/src/main/java/com/nowait/applicationuser/bookmark/controller/BookmarkController.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/controller/BookmarkController.java index 14d47d7e..2aab9ca0 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/bookmark/controller/BookmarkController.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/controller/BookmarkController.java @@ -13,7 +13,7 @@ import com.nowait.applicationuser.bookmark.dto.BookmarkCreateResponse; import com.nowait.applicationuser.bookmark.service.BookmarkService; import com.nowait.common.api.ApiUtils; -import com.nowait.externaloauth.dto.CustomOAuth2User; +import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; diff --git a/application-user/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkCreateResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkCreateResponse.java similarity index 90% rename from application-user/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkCreateResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkCreateResponse.java index 3f0d03e2..e596b75a 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkCreateResponse.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkCreateResponse.java @@ -1,6 +1,6 @@ package com.nowait.applicationuser.bookmark.dto; -import com.nowait.bookmark.entity.Bookmark; +import com.nowait.domainuserrdb.bookmark.entity.Bookmark; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-user/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkGetResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkGetResponse.java similarity index 89% rename from application-user/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkGetResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkGetResponse.java index 8caf5c55..a7f100de 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkGetResponse.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/dto/BookmarkGetResponse.java @@ -1,6 +1,6 @@ package com.nowait.applicationuser.bookmark.dto; -import com.nowait.bookmark.entity.Bookmark; +import com.nowait.domainuserrdb.bookmark.entity.Bookmark; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-user/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java similarity index 86% rename from application-user/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java index 31fdc89e..615bf00b 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java @@ -8,13 +8,13 @@ import com.nowait.applicationuser.bookmark.dto.BookmarkCreateResponse; import com.nowait.applicationuser.bookmark.dto.BookmarkGetResponse; -import com.nowait.externaloauth.dto.CustomOAuth2User; -import com.nowait.store.entity.Store; -import com.nowait.store.repository.StoreRepository; -import com.nowait.bookmark.entity.Bookmark; -import com.nowait.bookmark.repository.BookmarkRepository; -import com.nowait.user.entity.User; -import com.nowait.user.repository.UserRepository; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.repository.StoreRepository; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domaincorerdb.user.repository.UserRepository; +import com.nowait.domainuserrdb.bookmark.entity.Bookmark; +import com.nowait.domainuserrdb.bookmark.repository.BookmarkRepository; +import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; import jakarta.persistence.EntityNotFoundException; import lombok.RequiredArgsConstructor; diff --git a/application-config/src/main/java/com/nowait/config/config/SwaggerConfig.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/SwaggerConfig.java similarity index 95% rename from application-config/src/main/java/com/nowait/config/config/SwaggerConfig.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/SwaggerConfig.java index 7c6454c0..c821b028 100644 --- a/application-config/src/main/java/com/nowait/config/config/SwaggerConfig.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/SwaggerConfig.java @@ -1,4 +1,4 @@ -package com.nowait.config.config; +package com.nowait.applicationuser.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -11,7 +11,6 @@ @Configuration public class SwaggerConfig { - @Bean public OpenAPI openAPI() { return new OpenAPI() diff --git a/application-config/src/main/java/com/nowait/config/config/CorsConfig.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/CorsConfig.java similarity index 96% rename from application-config/src/main/java/com/nowait/config/config/CorsConfig.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/CorsConfig.java index f86c679d..3390ff00 100644 --- a/application-config/src/main/java/com/nowait/config/config/CorsConfig.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/CorsConfig.java @@ -1,4 +1,4 @@ -package com.nowait.config.config; +package com.nowait.applicationuser.config.security; import java.util.List; diff --git a/security-front/src/main/java/com/nowait/frontsecurity/auth/config/SecurityConfig.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/SecurityConfig.java similarity index 89% rename from security-front/src/main/java/com/nowait/frontsecurity/auth/config/SecurityConfig.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/SecurityConfig.java index 9d354478..e9d48ee9 100644 --- a/security-front/src/main/java/com/nowait/frontsecurity/auth/config/SecurityConfig.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/SecurityConfig.java @@ -1,4 +1,4 @@ -package com.nowait.frontsecurity.auth.config; +package com.nowait.applicationuser.config.security; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -14,11 +14,11 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfigurationSource; -import com.nowait.externaloauth.jwt.JwtAuthorizationFilter; -import com.nowait.externaloauth.jwt.JwtUtil; -import com.nowait.externaloauth.oauth2.CustomOAuth2UserService; -import com.nowait.externaloauth.oauth2.OAuth2LoginSuccessHandler; -import com.nowait.externaloauth.service.CustomUserDetailService; +import com.nowait.applicationuser.oauth.oauth2.CustomOAuth2UserService; +import com.nowait.applicationuser.oauth.oauth2.OAuth2LoginSuccessHandler; +import com.nowait.applicationuser.security.jwt.JwtAuthorizationFilter; +import com.nowait.applicationuser.security.jwt.JwtUtil; +import com.nowait.applicationuser.security.service.CustomUserDetailService; import lombok.RequiredArgsConstructor; diff --git a/application-user/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java similarity index 89% rename from application-user/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java index 20d346c1..116ade92 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java @@ -17,19 +17,20 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.multipart.MultipartException; -import com.nowait.bookmark.exception.BookmarkOwnerMismatchException; -import com.nowait.bookmark.exception.DuplicateBookmarkException; + +import com.nowait.applicationuser.security.exception.ResourceNotFoundException; +import com.nowait.applicationuser.security.exception.UnauthorizedException; import com.nowait.common.exception.ErrorMessage; import com.nowait.common.exception.ErrorResponse; -import com.nowait.frontsecurity.exception.ResourceNotFoundException; -import com.nowait.frontsecurity.exception.UnauthorizedException; -import com.nowait.order.exception.DepositorNameTooLongException; -import com.nowait.order.exception.DuplicateOrderException; -import com.nowait.order.exception.OrderItemsEmptyException; -import com.nowait.order.exception.OrderParameterEmptyException; -import com.nowait.reservation.exception.ReservationNotFoundException; -import com.nowait.token.exception.BusinessException; -import com.nowait.user.exception.UserNotFoundException; +import com.nowait.domaincorerdb.order.exception.DepositorNameTooLongException; +import com.nowait.domaincorerdb.order.exception.DuplicateOrderException; +import com.nowait.domaincorerdb.order.exception.OrderItemsEmptyException; +import com.nowait.domaincorerdb.order.exception.OrderParameterEmptyException; +import com.nowait.domaincorerdb.reservation.exception.ReservationNotFoundException; +import com.nowait.domaincorerdb.token.exception.BusinessException; +import com.nowait.domaincorerdb.user.exception.UserNotFoundException; +import com.nowait.domainuserrdb.bookmark.exception.BookmarkOwnerMismatchException; +import com.nowait.domainuserrdb.bookmark.exception.DuplicateBookmarkException; import io.swagger.v3.oas.annotations.Hidden; import lombok.extern.slf4j.Slf4j; diff --git a/application-user/src/main/java/com/nowait/applicationuser/menu/controller/MenuController.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/controller/MenuController.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/menu/controller/MenuController.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/controller/MenuController.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuImageUploadResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuImageUploadResponse.java similarity index 88% rename from application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuImageUploadResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuImageUploadResponse.java index b7e24a85..b8250451 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuImageUploadResponse.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuImageUploadResponse.java @@ -1,6 +1,6 @@ package com.nowait.applicationuser.menu.dto; -import com.nowait.menu.entity.MenuImage; +import com.nowait.domaincorerdb.menu.entity.MenuImage; import lombok.Builder; import lombok.Getter; diff --git a/application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadDto.java similarity index 94% rename from application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadDto.java index e0fcad93..cf013289 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadDto.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadDto.java @@ -2,7 +2,7 @@ import java.util.List; -import com.nowait.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.Menu; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadResponse.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/dto/MenuReadResponse.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/menu/service/MenuService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/service/MenuService.java similarity index 82% rename from application-user/src/main/java/com/nowait/applicationuser/menu/service/MenuService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/service/MenuService.java index f9309c3e..2fc43c90 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/menu/service/MenuService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/menu/service/MenuService.java @@ -8,12 +8,12 @@ import com.nowait.applicationuser.menu.dto.MenuImageUploadResponse; import com.nowait.applicationuser.menu.dto.MenuReadDto; import com.nowait.applicationuser.menu.dto.MenuReadResponse; -import com.nowait.menu.entity.Menu; -import com.nowait.menu.entity.MenuImage; -import com.nowait.menu.exception.MenuNotFoundException; -import com.nowait.menu.exception.MenuParamEmptyException; -import com.nowait.menu.repository.MenuImageRepository; -import com.nowait.menu.repository.MenuRepository; +import com.nowait.domaincorerdb.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.MenuImage; +import com.nowait.domaincorerdb.menu.exception.MenuNotFoundException; +import com.nowait.domaincorerdb.menu.exception.MenuParamEmptyException; +import com.nowait.domaincorerdb.menu.repository.MenuImageRepository; +import com.nowait.domaincorerdb.menu.repository.MenuRepository; import lombok.RequiredArgsConstructor; diff --git a/security-front/src/main/java/com/nowait/auth/dto/KaKaoResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/dto/KaKaoResponse.java similarity index 95% rename from security-front/src/main/java/com/nowait/auth/dto/KaKaoResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/dto/KaKaoResponse.java index e745bd26..9456be8e 100644 --- a/security-front/src/main/java/com/nowait/auth/dto/KaKaoResponse.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/dto/KaKaoResponse.java @@ -1,4 +1,4 @@ -package com.nowait.auth.dto; +package com.nowait.applicationuser.oauth.dto; import java.util.Map; diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/dto/OAuth2Response.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/dto/OAuth2Response.java similarity index 90% rename from external-oauth/src/main/java/com/nowait/externaloauth/dto/OAuth2Response.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/dto/OAuth2Response.java index 99cb1932..fb07ec78 100644 --- a/external-oauth/src/main/java/com/nowait/externaloauth/dto/OAuth2Response.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/dto/OAuth2Response.java @@ -1,4 +1,4 @@ -package com.nowait.externaloauth.dto; +package com.nowait.applicationuser.oauth.dto; public interface OAuth2Response { // 제공자 (ex. naver, kakao) diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/oauth2/CustomOAuth2UserService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/oauth2/CustomOAuth2UserService.java similarity index 86% rename from external-oauth/src/main/java/com/nowait/externaloauth/oauth2/CustomOAuth2UserService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/oauth2/CustomOAuth2UserService.java index 475ff257..dd5e7855 100644 --- a/external-oauth/src/main/java/com/nowait/externaloauth/oauth2/CustomOAuth2UserService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/oauth2/CustomOAuth2UserService.java @@ -1,4 +1,4 @@ -package com.nowait.externaloauth.oauth2; +package com.nowait.applicationuser.oauth.oauth2; import java.util.Optional; @@ -8,13 +8,13 @@ import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.stereotype.Service; -import com.nowait.externaloauth.dto.CustomOAuth2User; -import com.nowait.externaloauth.dto.KaKaoResponse; -import com.nowait.externaloauth.dto.OAuth2Response; +import com.nowait.applicationuser.oauth.dto.KaKaoResponse; +import com.nowait.applicationuser.oauth.dto.OAuth2Response; import com.nowait.common.enums.Role; import com.nowait.common.enums.SocialType; -import com.nowait.user.entity.User; -import com.nowait.user.repository.UserRepository; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domaincorerdb.user.repository.UserRepository; +import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/oauth2/OAuth2LoginSuccessHandler.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/oauth2/OAuth2LoginSuccessHandler.java similarity index 88% rename from external-oauth/src/main/java/com/nowait/externaloauth/oauth2/OAuth2LoginSuccessHandler.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/oauth2/OAuth2LoginSuccessHandler.java index 68206c61..0417d1c9 100644 --- a/external-oauth/src/main/java/com/nowait/externaloauth/oauth2/OAuth2LoginSuccessHandler.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/oauth/oauth2/OAuth2LoginSuccessHandler.java @@ -1,4 +1,4 @@ -package com.nowait.externaloauth.oauth2; +package com.nowait.applicationuser.oauth.oauth2; import java.io.IOException; import java.time.LocalDateTime; @@ -11,13 +11,12 @@ import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler; import org.springframework.stereotype.Component; -import com.nowait.token.entity.Token; -import com.nowait.token.repository.TokenRepository; import com.fasterxml.jackson.databind.ObjectMapper; - -import com.nowait.externaloauth.dto.CustomOAuth2User; -import com.nowait.externaloauth.jwt.JwtUtil; -import com.nowait.user.entity.User; +import com.nowait.applicationuser.security.jwt.JwtUtil; +import com.nowait.domaincorerdb.token.entity.Token; +import com.nowait.domaincorerdb.token.repository.TokenRepository; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; diff --git a/application-user/src/main/java/com/nowait/applicationuser/order/controller/OrderController.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/controller/OrderController.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/order/controller/OrderController.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/controller/OrderController.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/order/dto/CartItemDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/CartItemDto.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/order/dto/CartItemDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/CartItemDto.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateRequestDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateRequestDto.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateRequestDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateRequestDto.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateResponseDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateResponseDto.java similarity index 90% rename from application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateResponseDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateResponseDto.java index 6044303e..a11a863d 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateResponseDto.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderCreateResponseDto.java @@ -2,8 +2,8 @@ import java.util.List; -import com.nowait.order.entity.OrderStatus; -import com.nowait.order.entity.UserOrder; +import com.nowait.domaincorerdb.order.entity.UserOrder; +import com.nowait.domaincorerdb.order.entity.OrderStatus; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderItemListGetResponseDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderItemListGetResponseDto.java similarity index 92% rename from application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderItemListGetResponseDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderItemListGetResponseDto.java index ef6bb13e..3df52b94 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderItemListGetResponseDto.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderItemListGetResponseDto.java @@ -1,6 +1,7 @@ package com.nowait.applicationuser.order.dto; -import com.nowait.order.entity.OrderItem; + +import com.nowait.domaincorerdb.order.entity.OrderItem; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderItemResponseDTO.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderItemResponseDTO.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/order/dto/OrderItemResponseDTO.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/dto/OrderItemResponseDTO.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/order/service/OrderService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/service/OrderService.java similarity index 86% rename from application-user/src/main/java/com/nowait/applicationuser/order/service/OrderService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/service/OrderService.java index a4835e61..1f0ed53c 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/order/service/OrderService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/order/service/OrderService.java @@ -15,18 +15,18 @@ import com.nowait.applicationuser.order.dto.OrderCreateRequestDto; import com.nowait.applicationuser.order.dto.OrderCreateResponseDto; import com.nowait.applicationuser.order.dto.OrderItemListGetResponseDto; -import com.nowait.order.entity.OrderStatus; -import com.nowait.store.entity.Store; -import com.nowait.store.repository.StoreRepository; -import com.nowait.menu.entity.Menu; -import com.nowait.menu.repository.MenuRepository; -import com.nowait.order.entity.OrderItem; -import com.nowait.order.entity.UserOrder; -import com.nowait.order.exception.DuplicateOrderException; -import com.nowait.order.exception.OrderItemsEmptyException; -import com.nowait.order.exception.OrderParameterEmptyException; -import com.nowait.order.repository.OrderItemRepository; -import com.nowait.order.repository.OrderRepository; +import com.nowait.domaincorerdb.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.repository.MenuRepository; +import com.nowait.domaincorerdb.order.entity.OrderItem; +import com.nowait.domaincorerdb.order.entity.OrderStatus; +import com.nowait.domaincorerdb.order.entity.UserOrder; +import com.nowait.domaincorerdb.order.exception.DuplicateOrderException; +import com.nowait.domaincorerdb.order.exception.OrderItemsEmptyException; +import com.nowait.domaincorerdb.order.exception.OrderParameterEmptyException; +import com.nowait.domaincorerdb.order.repository.OrderItemRepository; +import com.nowait.domaincorerdb.order.repository.OrderRepository; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.repository.StoreRepository; import lombok.RequiredArgsConstructor; diff --git a/application-user/src/main/java/com/nowait/applicationuser/reservation/controller/ReservationController.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/controller/ReservationController.java similarity index 96% rename from application-user/src/main/java/com/nowait/applicationuser/reservation/controller/ReservationController.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/controller/ReservationController.java index dd3176e8..60c32009 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/reservation/controller/ReservationController.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/controller/ReservationController.java @@ -13,7 +13,7 @@ import com.nowait.applicationuser.reservation.dto.ReservationCreateResponseDto; import com.nowait.applicationuser.reservation.service.ReservationService; import com.nowait.common.api.ApiUtils; -import com.nowait.externaloauth.dto.CustomOAuth2User; +import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; diff --git a/application-user/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateRequestDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateRequestDto.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateRequestDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateRequestDto.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateResponseDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateResponseDto.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateResponseDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/dto/ReservationCreateResponseDto.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/reservation/service/ReservationService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/service/ReservationService.java similarity index 76% rename from application-user/src/main/java/com/nowait/applicationuser/reservation/service/ReservationService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/service/ReservationService.java index e4c3ed4d..2e79bbda 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/reservation/service/ReservationService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/reservation/service/ReservationService.java @@ -7,15 +7,15 @@ import com.nowait.applicationuser.reservation.dto.ReservationCreateRequestDto; import com.nowait.applicationuser.reservation.dto.ReservationCreateResponseDto; -import com.nowait.externaloauth.dto.CustomOAuth2User; -import com.nowait.store.entity.Store; -import com.nowait.store.repository.StoreRepository; -import com.nowait.reservation.entity.Reservation; -import com.nowait.reservation.repository.ReservationRepository; import com.nowait.common.enums.ReservationStatus; -import com.nowait.user.entity.User; -import com.nowait.user.exception.UserNotFoundException; -import com.nowait.user.repository.UserRepository; +import com.nowait.domaincorerdb.reservation.entity.Reservation; +import com.nowait.domaincorerdb.reservation.repository.ReservationRepository; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.repository.StoreRepository; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domaincorerdb.user.exception.UserNotFoundException; +import com.nowait.domaincorerdb.user.repository.UserRepository; +import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; import lombok.RequiredArgsConstructor; diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/exception/RefreshTokenNotFoundException.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/RefreshTokenNotFoundException.java similarity index 80% rename from security-admin/src/main/java/com/nowait/adminsecurity/exception/RefreshTokenNotFoundException.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/RefreshTokenNotFoundException.java index eda367d5..bae58c83 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/exception/RefreshTokenNotFoundException.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/RefreshTokenNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.adminsecurity.exception; +package com.nowait.applicationuser.security.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/security-front/src/main/java/com/nowait/frontsecurity/exception/ResourceNotFoundException.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/ResourceNotFoundException.java similarity index 87% rename from security-front/src/main/java/com/nowait/frontsecurity/exception/ResourceNotFoundException.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/ResourceNotFoundException.java index 75c05b16..5615e137 100644 --- a/security-front/src/main/java/com/nowait/frontsecurity/exception/ResourceNotFoundException.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/ResourceNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.frontsecurity.exception; +package com.nowait.applicationuser.security.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/security-front/src/main/java/com/nowait/frontsecurity/exception/TokenBadRequestException.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/TokenBadRequestException.java similarity index 63% rename from security-front/src/main/java/com/nowait/frontsecurity/exception/TokenBadRequestException.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/TokenBadRequestException.java index 95a00a18..7c2faeaa 100644 --- a/security-front/src/main/java/com/nowait/frontsecurity/exception/TokenBadRequestException.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/TokenBadRequestException.java @@ -1,7 +1,7 @@ -package com.nowait.frontsecurity.exception; +package com.nowait.applicationuser.security.exception; import com.nowait.common.exception.ErrorMessage; -import com.nowait.token.exception.BusinessException; +import com.nowait.domaincorerdb.token.exception.BusinessException; public class TokenBadRequestException extends BusinessException { public TokenBadRequestException() { diff --git a/security-front/src/main/java/com/nowait/frontsecurity/exception/UnauthorizedException.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/UnauthorizedException.java similarity index 89% rename from security-front/src/main/java/com/nowait/frontsecurity/exception/UnauthorizedException.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/UnauthorizedException.java index 8ccedea3..1ebd7bcc 100644 --- a/security-front/src/main/java/com/nowait/frontsecurity/exception/UnauthorizedException.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/exception/UnauthorizedException.java @@ -1,4 +1,4 @@ -package com.nowait.frontsecurity.exception; +package com.nowait.applicationuser.security.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/jwt/JwtAuthorizationFilter.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtAuthorizationFilter.java similarity index 95% rename from external-oauth/src/main/java/com/nowait/externaloauth/jwt/JwtAuthorizationFilter.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtAuthorizationFilter.java index 8494a235..099f1cc2 100644 --- a/external-oauth/src/main/java/com/nowait/externaloauth/jwt/JwtAuthorizationFilter.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtAuthorizationFilter.java @@ -1,4 +1,4 @@ -package com.nowait.externaloauth.jwt; +package com.nowait.applicationuser.security.jwt; import java.io.IOException; @@ -6,11 +6,10 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.filter.OncePerRequestFilter; -import com.nowait.externaloauth.dto.CustomOAuth2User; import com.nowait.common.enums.Role; import com.nowait.common.enums.SocialType; -import com.nowait.user.entity.User; - +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; import io.jsonwebtoken.ExpiredJwtException; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/auth/jwt/JwtUtil.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtUtil.java similarity index 97% rename from security-admin/src/main/java/com/nowait/adminsecurity/auth/jwt/JwtUtil.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtUtil.java index 18dd2e02..763c320a 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/auth/jwt/JwtUtil.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtUtil.java @@ -1,4 +1,4 @@ -package com.nowait.adminsecurity.auth.jwt; +package com.nowait.applicationuser.security.jwt; import java.nio.charset.StandardCharsets; import java.util.Date; diff --git a/security-admin/src/main/java/com/nowait/adminsecurity/auth/service/CustomUserDetailService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/service/CustomUserDetailService.java similarity index 78% rename from security-admin/src/main/java/com/nowait/adminsecurity/auth/service/CustomUserDetailService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/service/CustomUserDetailService.java index 6f1bd303..d6445229 100644 --- a/security-admin/src/main/java/com/nowait/adminsecurity/auth/service/CustomUserDetailService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/service/CustomUserDetailService.java @@ -1,13 +1,13 @@ -package com.nowait.adminsecurity.auth.service; +package com.nowait.applicationuser.security.service; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Component; -import com.nowait.user.entity.MemberDetails; -import com.nowait.user.entity.User; -import com.nowait.user.repository.UserRepository; +import com.nowait.domaincorerdb.user.entity.MemberDetails; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domaincorerdb.user.repository.UserRepository; import lombok.RequiredArgsConstructor; diff --git a/application-user/src/main/java/com/nowait/applicationuser/store/controller/StoreController.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/controller/StoreController.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/store/controller/StoreController.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/controller/StoreController.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreImageUploadResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreImageUploadResponse.java similarity index 87% rename from application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreImageUploadResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreImageUploadResponse.java index 8f5612d0..5ff57643 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreImageUploadResponse.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreImageUploadResponse.java @@ -1,6 +1,6 @@ package com.nowait.applicationuser.store.dto; -import com.nowait.store.entity.StoreImage; +import com.nowait.domaincorerdb.store.entity.StoreImage; import lombok.Builder; import lombok.Getter; diff --git a/application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreReadDto.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreReadDto.java similarity index 94% rename from application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreReadDto.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreReadDto.java index b13cb220..f3316013 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreReadDto.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreReadDto.java @@ -3,7 +3,7 @@ import java.time.LocalDateTime; import java.util.List; -import com.nowait.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.Store; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreReadResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreReadResponse.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/store/dto/StoreReadResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreReadResponse.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/store/service/StoreService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreService.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/store/service/StoreService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreService.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java similarity index 88% rename from application-user/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java index 14cb28fe..39e94c03 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java @@ -6,17 +6,17 @@ import org.springframework.data.domain.Slice; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import com.nowait.applicationuser.store.dto.StoreImageUploadResponse; import com.nowait.applicationuser.store.dto.StoreReadDto; import com.nowait.applicationuser.store.dto.StoreReadResponse; -import com.nowait.store.entity.Store; -import com.nowait.store.entity.StoreImage; -import com.nowait.store.exception.StoreNotFoundException; -import com.nowait.store.exception.StoreParamEmptyException; -import com.nowait.store.repository.StoreImageRepository; -import com.nowait.store.repository.StoreRepository; - -import jakarta.persistence.EntityNotFoundException; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.StoreImage; +import com.nowait.domaincorerdb.store.exception.StoreNotFoundException; +import com.nowait.domaincorerdb.store.exception.StoreParamEmptyException; +import com.nowait.domaincorerdb.store.repository.StoreImageRepository; +import com.nowait.domaincorerdb.store.repository.StoreRepository; + import lombok.RequiredArgsConstructor; @Service diff --git a/application-user/src/main/java/com/nowait/applicationuser/token/controller/TokenController.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/controller/TokenController.java similarity index 98% rename from application-user/src/main/java/com/nowait/applicationuser/token/controller/TokenController.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/controller/TokenController.java index 009fafe4..9a4be370 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/token/controller/TokenController.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/controller/TokenController.java @@ -8,10 +8,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.nowait.applicationuser.security.jwt.JwtUtil; import com.nowait.applicationuser.token.dto.AuthenticationResponse; import com.nowait.applicationuser.token.dto.RefreshTokenRequest; import com.nowait.applicationuser.token.service.TokenService; -import com.nowait.externaloauth.jwt.JwtUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; diff --git a/application-user/src/main/java/com/nowait/applicationuser/token/dto/AuthenticationResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/dto/AuthenticationResponse.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/token/dto/AuthenticationResponse.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/dto/AuthenticationResponse.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/token/dto/RefreshTokenRequest.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/dto/RefreshTokenRequest.java similarity index 100% rename from application-user/src/main/java/com/nowait/applicationuser/token/dto/RefreshTokenRequest.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/dto/RefreshTokenRequest.java diff --git a/application-user/src/main/java/com/nowait/applicationuser/token/service/TokenService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/service/TokenService.java similarity index 86% rename from application-user/src/main/java/com/nowait/applicationuser/token/service/TokenService.java rename to nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/service/TokenService.java index a3acfee8..4752de8e 100644 --- a/application-user/src/main/java/com/nowait/applicationuser/token/service/TokenService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/service/TokenService.java @@ -6,12 +6,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.nowait.externaloauth.jwt.JwtUtil; -import com.nowait.token.entity.Token; -import com.nowait.token.repository.TokenRepository; -import com.nowait.frontsecurity.exception.RefreshTokenNotFoundException; -import com.nowait.frontsecurity.exception.TokenBadRequestException; - +import com.nowait.applicationuser.security.exception.RefreshTokenNotFoundException; +import com.nowait.applicationuser.security.exception.TokenBadRequestException; +import com.nowait.applicationuser.security.jwt.JwtUtil; +import com.nowait.domaincorerdb.token.entity.Token; +import com.nowait.domaincorerdb.token.repository.TokenRepository; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/application-user/.gitattributes b/nowait-common/.gitattributes similarity index 100% rename from application-user/.gitattributes rename to nowait-common/.gitattributes diff --git a/application-config/.gitignore b/nowait-common/.gitignore similarity index 100% rename from application-config/.gitignore rename to nowait-common/.gitignore diff --git a/nowait-common/build.gradle b/nowait-common/build.gradle new file mode 100644 index 00000000..c2f76e1b --- /dev/null +++ b/nowait-common/build.gradle @@ -0,0 +1,12 @@ +jar { + enabled = true +} + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +dependencies { +} diff --git a/common/src/main/java/com/nowait/common/api/ApiError.java b/nowait-common/src/main/java/com/nowait/common/api/ApiError.java similarity index 100% rename from common/src/main/java/com/nowait/common/api/ApiError.java rename to nowait-common/src/main/java/com/nowait/common/api/ApiError.java diff --git a/common/src/main/java/com/nowait/common/api/ApiResult.java b/nowait-common/src/main/java/com/nowait/common/api/ApiResult.java similarity index 100% rename from common/src/main/java/com/nowait/common/api/ApiResult.java rename to nowait-common/src/main/java/com/nowait/common/api/ApiResult.java diff --git a/common/src/main/java/com/nowait/common/api/ApiUtils.java b/nowait-common/src/main/java/com/nowait/common/api/ApiUtils.java similarity index 100% rename from common/src/main/java/com/nowait/common/api/ApiUtils.java rename to nowait-common/src/main/java/com/nowait/common/api/ApiUtils.java diff --git a/common/src/main/java/com/nowait/common/enums/HttpStatusCode.java b/nowait-common/src/main/java/com/nowait/common/enums/HttpStatusCode.java similarity index 100% rename from common/src/main/java/com/nowait/common/enums/HttpStatusCode.java rename to nowait-common/src/main/java/com/nowait/common/enums/HttpStatusCode.java diff --git a/common/src/main/java/com/nowait/common/enums/ReservationStatus.java b/nowait-common/src/main/java/com/nowait/common/enums/ReservationStatus.java similarity index 100% rename from common/src/main/java/com/nowait/common/enums/ReservationStatus.java rename to nowait-common/src/main/java/com/nowait/common/enums/ReservationStatus.java diff --git a/common/src/main/java/com/nowait/common/enums/Role.java b/nowait-common/src/main/java/com/nowait/common/enums/Role.java similarity index 100% rename from common/src/main/java/com/nowait/common/enums/Role.java rename to nowait-common/src/main/java/com/nowait/common/enums/Role.java diff --git a/common/src/main/java/com/nowait/common/enums/SocialType.java b/nowait-common/src/main/java/com/nowait/common/enums/SocialType.java similarity index 100% rename from common/src/main/java/com/nowait/common/enums/SocialType.java rename to nowait-common/src/main/java/com/nowait/common/enums/SocialType.java diff --git a/common/src/main/java/com/nowait/common/exception/ErrorMessage.java b/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java similarity index 100% rename from common/src/main/java/com/nowait/common/exception/ErrorMessage.java rename to nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java diff --git a/common/src/main/java/com/nowait/common/exception/ErrorResponse.java b/nowait-common/src/main/java/com/nowait/common/exception/ErrorResponse.java similarity index 100% rename from common/src/main/java/com/nowait/common/exception/ErrorResponse.java rename to nowait-common/src/main/java/com/nowait/common/exception/ErrorResponse.java diff --git a/common/.gitignore b/nowait-domain/.gitignore similarity index 100% rename from common/.gitignore rename to nowait-domain/.gitignore diff --git a/domain-user/build.gradle b/nowait-domain/build.gradle similarity index 85% rename from domain-user/build.gradle rename to nowait-domain/build.gradle index 3825b4d1..9ce9a13f 100644 --- a/domain-user/build.gradle +++ b/nowait-domain/build.gradle @@ -2,6 +2,11 @@ plugins { id 'java-library' } +jar { + enabled = true +} + + group = 'com.nowaiting' version = rootProject.version @@ -17,18 +22,18 @@ repositories { dependencies { // 순수 common 코드 - implementation project(':common') - // BaseTimeEntity - implementation project(':domain-base') + implementation project(':nowait-common') + // JPA API api 'org.springframework.boot:spring-boot-starter-data-jpa' api 'jakarta.persistence:jakarta.persistence-api:3.1.0' // SPRING SECURITY api 'org.springframework.boot:spring-boot-starter-security' - api 'org.springframework.boot:spring-boot-starter-test' // Lombok (optional) compileOnly 'org.projectlombok:lombok:1.18.26' annotationProcessor 'org.projectlombok:lombok:1.18.26' + // SWAGGER + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' // Test testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' diff --git a/domain-base/.gitignore b/nowait-domain/domain-admin-rdb/.gitignore similarity index 100% rename from domain-base/.gitignore rename to nowait-domain/domain-admin-rdb/.gitignore diff --git a/domain-order/build.gradle b/nowait-domain/domain-admin-rdb/build.gradle similarity index 77% rename from domain-order/build.gradle rename to nowait-domain/domain-admin-rdb/build.gradle index 7c7124e7..bf111954 100644 --- a/domain-order/build.gradle +++ b/nowait-domain/domain-admin-rdb/build.gradle @@ -2,7 +2,12 @@ plugins { id 'java-library' } -group = 'com.nowaiting' +jar { + enabled = true +} + + +group = 'com.nowait' version = rootProject.version java { @@ -16,10 +21,8 @@ repositories { } dependencies { - implementation project(':common') - implementation project(':domain-base') - implementation project(':domain-store') - implementation project(':domain-menu') + implementation project(':nowait-common') + implementation project(':nowait-domain:domain-core-rdb') api 'org.springframework.boot:spring-boot-starter-data-jpa' api 'jakarta.persistence:jakarta.persistence-api:3.1.0' diff --git a/domain-bookmark/.gitignore b/nowait-domain/domain-core-rdb/.gitignore similarity index 100% rename from domain-bookmark/.gitignore rename to nowait-domain/domain-core-rdb/.gitignore diff --git a/nowait-domain/domain-core-rdb/build.gradle b/nowait-domain/domain-core-rdb/build.gradle new file mode 100644 index 00000000..01bc023b --- /dev/null +++ b/nowait-domain/domain-core-rdb/build.gradle @@ -0,0 +1,46 @@ +plugins { + id 'java-library' +} + +jar { + enabled = true +} + + +group = 'com.nowait' +version = rootProject.version + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':nowait-common') + + api 'org.springframework.boot:spring-boot-starter-data-jpa' + api 'jakarta.persistence:jakarta.persistence-api:3.1.0' + + // SPRING SECURITY + implementation 'org.springframework.boot:spring-boot-starter-security' + testImplementation 'org.springframework.boot:spring-boot-starter-test' + implementation 'org.springframework.boot:spring-boot-starter-validation' + + // SWAGGER + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' + + compileOnly 'org.projectlombok:lombok:1.18.26' + annotationProcessor 'org.projectlombok:lombok:1.18.26' + + // Jackson + api 'com.fasterxml.jackson.core:jackson-databind:2.15.2' // Jackson 핵심 + api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.2' + + testImplementation 'org.junit.jupiter:junit-jupiter' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' +} diff --git a/domain-base/src/main/java/com/nowait/base/BaseTimeEntity.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/base/entity/BaseTimeEntity.java similarity index 95% rename from domain-base/src/main/java/com/nowait/base/BaseTimeEntity.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/base/entity/BaseTimeEntity.java index 85b3a15d..1d5ce5e9 100644 --- a/domain-base/src/main/java/com/nowait/base/BaseTimeEntity.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/base/entity/BaseTimeEntity.java @@ -1,4 +1,4 @@ -package com.nowait.base; +package com.nowait.domaincorerdb.base.entity; import java.time.LocalDateTime; diff --git a/domain-menu/src/main/java/com/nowait/menu/entity/Menu.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/entity/Menu.java similarity index 94% rename from domain-menu/src/main/java/com/nowait/menu/entity/Menu.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/entity/Menu.java index f1145543..0c7fdae8 100644 --- a/domain-menu/src/main/java/com/nowait/menu/entity/Menu.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/entity/Menu.java @@ -1,7 +1,8 @@ -package com.nowait.menu.entity; +package com.nowait.domaincorerdb.menu.entity; import java.time.LocalDateTime; -import com.nowait.base.BaseTimeEntity; + +import com.nowait.domaincorerdb.base.entity.BaseTimeEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/domain-menu/src/main/java/com/nowait/menu/entity/MenuImage.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/entity/MenuImage.java similarity index 89% rename from domain-menu/src/main/java/com/nowait/menu/entity/MenuImage.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/entity/MenuImage.java index 21b312af..cdeb0fbf 100644 --- a/domain-menu/src/main/java/com/nowait/menu/entity/MenuImage.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/entity/MenuImage.java @@ -1,6 +1,6 @@ -package com.nowait.menu.entity; +package com.nowait.domaincorerdb.menu.entity; -import com.nowait.base.BaseTimeEntity; +import com.nowait.domaincorerdb.base.entity.BaseTimeEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/domain-menu/src/main/java/com/nowait/menu/exception/MenuImageEmptyException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuImageEmptyException.java similarity index 81% rename from domain-menu/src/main/java/com/nowait/menu/exception/MenuImageEmptyException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuImageEmptyException.java index bd0c146f..e7a82c8d 100644 --- a/domain-menu/src/main/java/com/nowait/menu/exception/MenuImageEmptyException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuImageEmptyException.java @@ -1,4 +1,4 @@ -package com.nowait.menu.exception; +package com.nowait.domaincorerdb.menu.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-menu/src/main/java/com/nowait/menu/exception/MenuImageNotFoundException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuImageNotFoundException.java similarity index 81% rename from domain-menu/src/main/java/com/nowait/menu/exception/MenuImageNotFoundException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuImageNotFoundException.java index 87726f72..9791b7fe 100644 --- a/domain-menu/src/main/java/com/nowait/menu/exception/MenuImageNotFoundException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuImageNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.menu.exception; +package com.nowait.domaincorerdb.menu.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-menu/src/main/java/com/nowait/menu/exception/MenuNotFoundException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuNotFoundException.java similarity index 80% rename from domain-menu/src/main/java/com/nowait/menu/exception/MenuNotFoundException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuNotFoundException.java index b119fe65..5753e00c 100644 --- a/domain-menu/src/main/java/com/nowait/menu/exception/MenuNotFoundException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.menu.exception; +package com.nowait.domaincorerdb.menu.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-menu/src/main/java/com/nowait/menu/exception/MenuParamEmptyException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuParamEmptyException.java similarity index 81% rename from domain-menu/src/main/java/com/nowait/menu/exception/MenuParamEmptyException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuParamEmptyException.java index d743cd6c..e052d339 100644 --- a/domain-menu/src/main/java/com/nowait/menu/exception/MenuParamEmptyException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/exception/MenuParamEmptyException.java @@ -1,4 +1,4 @@ -package com.nowait.menu.exception; +package com.nowait.domaincorerdb.menu.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-menu/src/main/java/com/nowait/menu/repository/MenuImageRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuImageRepository.java similarity index 63% rename from domain-menu/src/main/java/com/nowait/menu/repository/MenuImageRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuImageRepository.java index 11615149..471464cb 100644 --- a/domain-menu/src/main/java/com/nowait/menu/repository/MenuImageRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuImageRepository.java @@ -1,12 +1,12 @@ -package com.nowait.menu.repository; +package com.nowait.domaincorerdb.menu.repository; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import com.nowait.menu.entity.Menu; -import com.nowait.menu.entity.MenuImage; +import com.nowait.domaincorerdb.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.MenuImage; @Repository public interface MenuImageRepository extends JpaRepository { diff --git a/domain-menu/src/main/java/com/nowait/menu/repository/MenuRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuRepository.java similarity index 81% rename from domain-menu/src/main/java/com/nowait/menu/repository/MenuRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuRepository.java index fbe2282b..80f07c95 100644 --- a/domain-menu/src/main/java/com/nowait/menu/repository/MenuRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuRepository.java @@ -1,4 +1,4 @@ -package com.nowait.menu.repository; +package com.nowait.domaincorerdb.menu.repository; import java.util.List; import java.util.Optional; @@ -6,7 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import com.nowait.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.entity.Menu; @Repository public interface MenuRepository extends JpaRepository { diff --git a/domain-order/src/main/java/com/nowait/order/entity/OrderItem.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderItem.java similarity index 84% rename from domain-order/src/main/java/com/nowait/order/entity/OrderItem.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderItem.java index a979933a..e23f943c 100644 --- a/domain-order/src/main/java/com/nowait/order/entity/OrderItem.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderItem.java @@ -1,7 +1,7 @@ -package com.nowait.order.entity; +package com.nowait.domaincorerdb.order.entity; -import com.nowait.menu.entity.Menu; -import com.nowait.base.BaseTimeEntity; +import com.nowait.domaincorerdb.base.entity.BaseTimeEntity; +import com.nowait.domaincorerdb.menu.entity.Menu; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/domain-order/src/main/java/com/nowait/order/entity/OrderStatus.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderStatus.java similarity index 90% rename from domain-order/src/main/java/com/nowait/order/entity/OrderStatus.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderStatus.java index 7a111111..98b50744 100644 --- a/domain-order/src/main/java/com/nowait/order/entity/OrderStatus.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderStatus.java @@ -1,4 +1,4 @@ -package com.nowait.order.entity; +package com.nowait.domaincorerdb.order.entity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; diff --git a/domain-order/src/main/java/com/nowait/order/entity/UserOrder.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/UserOrder.java similarity index 91% rename from domain-order/src/main/java/com/nowait/order/entity/UserOrder.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/UserOrder.java index c5e4639a..5dbd0295 100644 --- a/domain-order/src/main/java/com/nowait/order/entity/UserOrder.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/UserOrder.java @@ -1,10 +1,10 @@ -package com.nowait.order.entity; +package com.nowait.domaincorerdb.order.entity; import java.util.ArrayList; import java.util.List; -import com.nowait.store.entity.Store; -import com.nowait.base.BaseTimeEntity; +import com.nowait.domaincorerdb.base.entity.BaseTimeEntity; +import com.nowait.domaincorerdb.store.entity.Store; import jakarta.persistence.CascadeType; import jakarta.persistence.Column; diff --git a/domain-order/src/main/java/com/nowait/order/exception/DepositorNameTooLongException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/DepositorNameTooLongException.java similarity index 82% rename from domain-order/src/main/java/com/nowait/order/exception/DepositorNameTooLongException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/DepositorNameTooLongException.java index b5da206e..2767804f 100644 --- a/domain-order/src/main/java/com/nowait/order/exception/DepositorNameTooLongException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/DepositorNameTooLongException.java @@ -1,4 +1,4 @@ -package com.nowait.order.exception; +package com.nowait.domaincorerdb.order.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-order/src/main/java/com/nowait/order/exception/DuplicateOrderException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/DuplicateOrderException.java similarity index 80% rename from domain-order/src/main/java/com/nowait/order/exception/DuplicateOrderException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/DuplicateOrderException.java index aee663cd..c9311def 100644 --- a/domain-order/src/main/java/com/nowait/order/exception/DuplicateOrderException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/DuplicateOrderException.java @@ -1,4 +1,4 @@ -package com.nowait.order.exception; +package com.nowait.domaincorerdb.order.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-order/src/main/java/com/nowait/order/exception/OrderItemsEmptyException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/OrderItemsEmptyException.java similarity index 80% rename from domain-order/src/main/java/com/nowait/order/exception/OrderItemsEmptyException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/OrderItemsEmptyException.java index 416e101f..e3f6f730 100644 --- a/domain-order/src/main/java/com/nowait/order/exception/OrderItemsEmptyException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/OrderItemsEmptyException.java @@ -1,4 +1,4 @@ -package com.nowait.order.exception; +package com.nowait.domaincorerdb.order.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-order/src/main/java/com/nowait/order/exception/OrderParameterEmptyException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/OrderParameterEmptyException.java similarity index 81% rename from domain-order/src/main/java/com/nowait/order/exception/OrderParameterEmptyException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/OrderParameterEmptyException.java index 197814c4..b50ccece 100644 --- a/domain-order/src/main/java/com/nowait/order/exception/OrderParameterEmptyException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/exception/OrderParameterEmptyException.java @@ -1,4 +1,4 @@ -package com.nowait.order.exception; +package com.nowait.domaincorerdb.order.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-order/src/main/java/com/nowait/order/repository/OrderItemRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/repository/OrderItemRepository.java similarity index 65% rename from domain-order/src/main/java/com/nowait/order/repository/OrderItemRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/repository/OrderItemRepository.java index 7544e3d0..b7cbc6cf 100644 --- a/domain-order/src/main/java/com/nowait/order/repository/OrderItemRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/repository/OrderItemRepository.java @@ -1,9 +1,9 @@ -package com.nowait.order.repository; +package com.nowait.domaincorerdb.order.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import com.nowait.order.entity.OrderItem; +import com.nowait.domaincorerdb.order.entity.OrderItem; @Repository public interface OrderItemRepository extends JpaRepository { diff --git a/domain-order/src/main/java/com/nowait/order/repository/OrderRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/repository/OrderRepository.java similarity index 82% rename from domain-order/src/main/java/com/nowait/order/repository/OrderRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/repository/OrderRepository.java index 48ca22d4..96db42c4 100644 --- a/domain-order/src/main/java/com/nowait/order/repository/OrderRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/repository/OrderRepository.java @@ -1,4 +1,4 @@ -package com.nowait.order.repository; +package com.nowait.domaincorerdb.order.repository; import java.time.LocalDateTime; import java.util.List; @@ -6,8 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import com.nowait.order.entity.UserOrder; - +import com.nowait.domaincorerdb.order.entity.UserOrder; @Repository public interface OrderRepository extends JpaRepository { boolean existsBySignatureAndCreatedAtAfter(String signature, LocalDateTime createdAt); diff --git a/domain-reservation/src/main/java/com/nowait/reservation/entity/Reservation.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/entity/Reservation.java similarity index 90% rename from domain-reservation/src/main/java/com/nowait/reservation/entity/Reservation.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/entity/Reservation.java index 67463687..219f002d 100644 --- a/domain-reservation/src/main/java/com/nowait/reservation/entity/Reservation.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/entity/Reservation.java @@ -1,10 +1,10 @@ -package com.nowait.reservation.entity; +package com.nowait.domaincorerdb.reservation.entity; import java.time.LocalDateTime; -import com.nowait.store.entity.Store; import com.nowait.common.enums.ReservationStatus; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.user.entity.User; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/domain-reservation/src/main/java/com/nowait/reservation/exception/ReservationNotFoundException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/exception/ReservationNotFoundException.java similarity index 80% rename from domain-reservation/src/main/java/com/nowait/reservation/exception/ReservationNotFoundException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/exception/ReservationNotFoundException.java index 3f65976f..4ce91721 100644 --- a/domain-reservation/src/main/java/com/nowait/reservation/exception/ReservationNotFoundException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/exception/ReservationNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.reservation.exception; +package com.nowait.domaincorerdb.reservation.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-reservation/src/main/java/com/nowait/reservation/repository/ReservationRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/repository/ReservationRepository.java similarity index 57% rename from domain-reservation/src/main/java/com/nowait/reservation/repository/ReservationRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/repository/ReservationRepository.java index e564ff78..874469c8 100644 --- a/domain-reservation/src/main/java/com/nowait/reservation/repository/ReservationRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/reservation/repository/ReservationRepository.java @@ -1,11 +1,13 @@ -package com.nowait.reservation.repository; +package com.nowait.domaincorerdb.reservation.repository; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; -import com.nowait.reservation.entity.Reservation; +import com.nowait.domaincorerdb.reservation.entity.Reservation; +@Repository public interface ReservationRepository extends JpaRepository { List findAllByStore_StoreIdOrderByRequestedAtAsc(Long storeId); } diff --git a/domain-store/src/main/java/com/nowait/store/entity/Store.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/entity/Store.java similarity index 94% rename from domain-store/src/main/java/com/nowait/store/entity/Store.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/entity/Store.java index c1458feb..08175e48 100644 --- a/domain-store/src/main/java/com/nowait/store/entity/Store.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/entity/Store.java @@ -1,8 +1,8 @@ -package com.nowait.store.entity; +package com.nowait.domaincorerdb.store.entity; import java.time.LocalDateTime; -import com.nowait.base.BaseTimeEntity; +import com.nowait.domaincorerdb.base.entity.BaseTimeEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -12,7 +12,6 @@ import jakarta.persistence.Table; import lombok.AccessLevel; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; diff --git a/domain-store/src/main/java/com/nowait/store/entity/StoreImage.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/entity/StoreImage.java similarity index 89% rename from domain-store/src/main/java/com/nowait/store/entity/StoreImage.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/entity/StoreImage.java index d657bd7b..e8c5d270 100644 --- a/domain-store/src/main/java/com/nowait/store/entity/StoreImage.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/entity/StoreImage.java @@ -1,6 +1,6 @@ -package com.nowait.store.entity; +package com.nowait.domaincorerdb.store.entity; -import com.nowait.base.BaseTimeEntity; +import com.nowait.domaincorerdb.base.entity.BaseTimeEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/domain-store/src/main/java/com/nowait/store/exception/StoreImageEmptyException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreImageEmptyException.java similarity index 80% rename from domain-store/src/main/java/com/nowait/store/exception/StoreImageEmptyException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreImageEmptyException.java index 0f65bb1e..174cb8d0 100644 --- a/domain-store/src/main/java/com/nowait/store/exception/StoreImageEmptyException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreImageEmptyException.java @@ -1,4 +1,4 @@ -package com.nowait.store.exception; +package com.nowait.domaincorerdb.store.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-store/src/main/java/com/nowait/store/exception/StoreImageNotFoundException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreImageNotFoundException.java similarity index 81% rename from domain-store/src/main/java/com/nowait/store/exception/StoreImageNotFoundException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreImageNotFoundException.java index aff9e0c0..f1b49fd1 100644 --- a/domain-store/src/main/java/com/nowait/store/exception/StoreImageNotFoundException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreImageNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.store.exception; +package com.nowait.domaincorerdb.store.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-store/src/main/java/com/nowait/store/exception/StoreKeywordEmptyException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreKeywordEmptyException.java similarity index 81% rename from domain-store/src/main/java/com/nowait/store/exception/StoreKeywordEmptyException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreKeywordEmptyException.java index 2b1fecc7..e69ad30b 100644 --- a/domain-store/src/main/java/com/nowait/store/exception/StoreKeywordEmptyException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreKeywordEmptyException.java @@ -1,4 +1,4 @@ -package com.nowait.store.exception; +package com.nowait.domaincorerdb.store.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-store/src/main/java/com/nowait/store/exception/StoreNotFoundException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreNotFoundException.java similarity index 80% rename from domain-store/src/main/java/com/nowait/store/exception/StoreNotFoundException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreNotFoundException.java index 15d485db..ded420e0 100644 --- a/domain-store/src/main/java/com/nowait/store/exception/StoreNotFoundException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.store.exception; +package com.nowait.domaincorerdb.store.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-store/src/main/java/com/nowait/store/exception/StoreParamEmptyException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreParamEmptyException.java similarity index 81% rename from domain-store/src/main/java/com/nowait/store/exception/StoreParamEmptyException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreParamEmptyException.java index 5dc0bf13..c33bc1bb 100644 --- a/domain-store/src/main/java/com/nowait/store/exception/StoreParamEmptyException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/exception/StoreParamEmptyException.java @@ -1,4 +1,4 @@ -package com.nowait.store.exception; +package com.nowait.domaincorerdb.store.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-store/src/main/java/com/nowait/store/repository/StoreImageRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreImageRepository.java similarity index 63% rename from domain-store/src/main/java/com/nowait/store/repository/StoreImageRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreImageRepository.java index 0617122e..80448ab8 100644 --- a/domain-store/src/main/java/com/nowait/store/repository/StoreImageRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreImageRepository.java @@ -1,12 +1,12 @@ -package com.nowait.store.repository; +package com.nowait.domaincorerdb.store.repository; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import com.nowait.store.entity.Store; -import com.nowait.store.entity.StoreImage; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.StoreImage; @Repository public interface StoreImageRepository extends JpaRepository { diff --git a/domain-store/src/main/java/com/nowait/store/repository/StoreRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreRepository.java similarity index 85% rename from domain-store/src/main/java/com/nowait/store/repository/StoreRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreRepository.java index a0d04ffb..efeec3ca 100644 --- a/domain-store/src/main/java/com/nowait/store/repository/StoreRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreRepository.java @@ -1,4 +1,5 @@ -package com.nowait.store.repository; +package com.nowait.domaincorerdb.store.repository; + import java.util.List; import java.util.Optional; @@ -8,7 +9,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import com.nowait.store.entity.Store; +import com.nowait.domaincorerdb.store.entity.Store; @Repository public interface StoreRepository extends JpaRepository { diff --git a/domain-token/src/main/java/com/nowait/token/entity/Token.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/entity/Token.java similarity index 89% rename from domain-token/src/main/java/com/nowait/token/entity/Token.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/entity/Token.java index 16311bfa..14378dd6 100644 --- a/domain-token/src/main/java/com/nowait/token/entity/Token.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/entity/Token.java @@ -1,8 +1,8 @@ -package com.nowait.token.entity; +package com.nowait.domaincorerdb.token.entity; import java.time.LocalDateTime; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.user.entity.User; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -23,7 +23,8 @@ @Table(name = "token") @Getter public class Token { - @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long tokenId; @ManyToOne(fetch = FetchType.LAZY) diff --git a/domain-token/src/main/java/com/nowait/token/exception/BusinessException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/exception/BusinessException.java similarity index 87% rename from domain-token/src/main/java/com/nowait/token/exception/BusinessException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/exception/BusinessException.java index b9df2243..86886330 100644 --- a/domain-token/src/main/java/com/nowait/token/exception/BusinessException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/exception/BusinessException.java @@ -1,4 +1,4 @@ -package com.nowait.token.exception; +package com.nowait.domaincorerdb.token.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-token/src/main/java/com/nowait/token/repository/TokenRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/repository/TokenRepository.java similarity index 56% rename from domain-token/src/main/java/com/nowait/token/repository/TokenRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/repository/TokenRepository.java index 53d49d76..ab74bc46 100644 --- a/domain-token/src/main/java/com/nowait/token/repository/TokenRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/token/repository/TokenRepository.java @@ -1,11 +1,13 @@ -package com.nowait.token.repository; +package com.nowait.domaincorerdb.token.repository; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; -import com.nowait.token.entity.Token; +import com.nowait.domaincorerdb.token.entity.Token; +@Repository public interface TokenRepository extends JpaRepository { Optional findByUserId(Long userId); } diff --git a/domain-user/src/main/java/com/nowait/user/entity/MemberDetails.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/entity/MemberDetails.java similarity index 96% rename from domain-user/src/main/java/com/nowait/user/entity/MemberDetails.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/entity/MemberDetails.java index 247b5ae8..f9bc7b3f 100644 --- a/domain-user/src/main/java/com/nowait/user/entity/MemberDetails.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/entity/MemberDetails.java @@ -1,4 +1,4 @@ -package com.nowait.user.entity; +package com.nowait.domaincorerdb.user.entity; import java.util.Collection; import java.util.List; diff --git a/domain-user/src/main/java/com/nowait/user/entity/User.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/entity/User.java similarity index 97% rename from domain-user/src/main/java/com/nowait/user/entity/User.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/entity/User.java index 71e68ecb..0bb965f4 100644 --- a/domain-user/src/main/java/com/nowait/user/entity/User.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/entity/User.java @@ -1,4 +1,4 @@ -package com.nowait.user.entity; +package com.nowait.domaincorerdb.user.entity; import org.springframework.security.crypto.password.PasswordEncoder; diff --git a/domain-user/src/main/java/com/nowait/user/exception/UserNotFoundException.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/exception/UserNotFoundException.java similarity index 80% rename from domain-user/src/main/java/com/nowait/user/exception/UserNotFoundException.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/exception/UserNotFoundException.java index 74788aa9..aef89ab3 100644 --- a/domain-user/src/main/java/com/nowait/user/exception/UserNotFoundException.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/exception/UserNotFoundException.java @@ -1,4 +1,4 @@ -package com.nowait.user.exception; +package com.nowait.domaincorerdb.user.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-user/src/main/java/com/nowait/user/repository/UserRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/repository/UserRepository.java similarity index 61% rename from domain-user/src/main/java/com/nowait/user/repository/UserRepository.java rename to nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/repository/UserRepository.java index 331264a3..b22b9fc9 100644 --- a/domain-user/src/main/java/com/nowait/user/repository/UserRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/user/repository/UserRepository.java @@ -1,11 +1,13 @@ -package com.nowait.user.repository; +package com.nowait.domaincorerdb.user.repository; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.user.entity.User; +@Repository public interface UserRepository extends JpaRepository { Optional findByEmail(String email); Optional findByNickname(String nickName); diff --git a/domain-menu/.gitignore b/nowait-domain/domain-user-rdb/.gitignore similarity index 100% rename from domain-menu/.gitignore rename to nowait-domain/domain-user-rdb/.gitignore diff --git a/domain-bookmark/build.gradle b/nowait-domain/domain-user-rdb/build.gradle similarity index 55% rename from domain-bookmark/build.gradle rename to nowait-domain/domain-user-rdb/build.gradle index 82ebe024..5a14ae53 100644 --- a/domain-bookmark/build.gradle +++ b/nowait-domain/domain-user-rdb/build.gradle @@ -2,6 +2,11 @@ plugins { id 'java-library' } +jar { + enabled = true +} + + group = 'com.nowaiting' version = rootProject.version @@ -16,14 +21,20 @@ repositories { } dependencies { - implementation project(':common') - implementation project(':domain-base') - implementation project(':domain-user') - implementation project(':domain-store') + implementation project(':nowait-common') + implementation project(':nowait-domain:domain-core-rdb') api 'org.springframework.boot:spring-boot-starter-data-jpa' api 'jakarta.persistence:jakarta.persistence-api:3.1.0' + // OAuth + implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' + implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server' + implementation 'jakarta.servlet:jakarta.servlet-api:6.0.0' + + // SWAGGER + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' + compileOnly 'org.projectlombok:lombok:1.18.26' annotationProcessor 'org.projectlombok:lombok:1.18.26' diff --git a/domain-bookmark/src/main/java/com/nowait/bookmark/entity/Bookmark.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/entity/Bookmark.java similarity index 84% rename from domain-bookmark/src/main/java/com/nowait/bookmark/entity/Bookmark.java rename to nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/entity/Bookmark.java index d1808277..1f5b3fa2 100644 --- a/domain-bookmark/src/main/java/com/nowait/bookmark/entity/Bookmark.java +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/entity/Bookmark.java @@ -1,8 +1,8 @@ -package com.nowait.bookmark.entity; +package com.nowait.domainuserrdb.bookmark.entity; -import com.nowait.store.entity.Store; -import com.nowait.base.BaseTimeEntity; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.base.entity.BaseTimeEntity; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.user.entity.User; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/domain-bookmark/src/main/java/com/nowait/bookmark/exception/BookmarkOwnerMismatchException.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/BookmarkOwnerMismatchException.java similarity index 80% rename from domain-bookmark/src/main/java/com/nowait/bookmark/exception/BookmarkOwnerMismatchException.java rename to nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/BookmarkOwnerMismatchException.java index dcb2549a..0f7cdd9f 100644 --- a/domain-bookmark/src/main/java/com/nowait/bookmark/exception/BookmarkOwnerMismatchException.java +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/BookmarkOwnerMismatchException.java @@ -1,4 +1,4 @@ -package com.nowait.bookmark.exception; +package com.nowait.domainuserrdb.bookmark.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-bookmark/src/main/java/com/nowait/bookmark/exception/DuplicateBookmarkException.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/DuplicateBookmarkException.java similarity index 80% rename from domain-bookmark/src/main/java/com/nowait/bookmark/exception/DuplicateBookmarkException.java rename to nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/DuplicateBookmarkException.java index d18b4371..7b9ef268 100644 --- a/domain-bookmark/src/main/java/com/nowait/bookmark/exception/DuplicateBookmarkException.java +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/DuplicateBookmarkException.java @@ -1,4 +1,4 @@ -package com.nowait.bookmark.exception; +package com.nowait.domainuserrdb.bookmark.exception; import com.nowait.common.exception.ErrorMessage; diff --git a/domain-bookmark/src/main/java/com/nowait/bookmark/repository/BookmarkRepository.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/repository/BookmarkRepository.java similarity index 61% rename from domain-bookmark/src/main/java/com/nowait/bookmark/repository/BookmarkRepository.java rename to nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/repository/BookmarkRepository.java index e5a2a10d..69526299 100644 --- a/domain-bookmark/src/main/java/com/nowait/bookmark/repository/BookmarkRepository.java +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/repository/BookmarkRepository.java @@ -1,13 +1,13 @@ -package com.nowait.bookmark.repository; +package com.nowait.domainuserrdb.bookmark.repository; import java.util.Collection; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import com.nowait.store.entity.Store; -import com.nowait.bookmark.entity.Bookmark; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.user.entity.User; +import com.nowait.domainuserrdb.bookmark.entity.Bookmark; @Repository public interface BookmarkRepository extends JpaRepository { diff --git a/external-oauth/src/main/java/com/nowait/externaloauth/dto/CustomOAuth2User.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/oauth/dto/CustomOAuth2User.java similarity index 92% rename from external-oauth/src/main/java/com/nowait/externaloauth/dto/CustomOAuth2User.java rename to nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/oauth/dto/CustomOAuth2User.java index 41a5b1b1..f163bca7 100644 --- a/external-oauth/src/main/java/com/nowait/externaloauth/dto/CustomOAuth2User.java +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/oauth/dto/CustomOAuth2User.java @@ -1,4 +1,4 @@ -package com.nowait.externaloauth.dto; +package com.nowait.domainuserrdb.oauth.dto; import java.util.ArrayList; import java.util.Collection; @@ -7,7 +7,7 @@ import org.springframework.security.core.GrantedAuthority; import org.springframework.security.oauth2.core.user.OAuth2User; -import com.nowait.user.entity.User; +import com.nowait.domaincorerdb.user.entity.User; import lombok.RequiredArgsConstructor; diff --git a/common/.gitattributes b/nowait-infra/.gitattributes similarity index 100% rename from common/.gitattributes rename to nowait-infra/.gitattributes diff --git a/domain-order/.gitignore b/nowait-infra/.gitignore similarity index 100% rename from domain-order/.gitignore rename to nowait-infra/.gitignore diff --git a/infra-aws/build.gradle b/nowait-infra/build.gradle similarity index 96% rename from infra-aws/build.gradle rename to nowait-infra/build.gradle index c4a109cf..5cbc1f17 100644 --- a/infra-aws/build.gradle +++ b/nowait-infra/build.gradle @@ -2,6 +2,11 @@ plugins { id 'java' } +jar { + enabled = true +} + + group = 'com.nowaiting' version = rootProject.version @@ -19,13 +24,13 @@ dependencies { // Multipart File Upload // 추후 분리 필요 implementation 'org.springframework.boot:spring-boot-starter-web' + // 비동기 실행 + implementation 'org.springframework.boot:spring-boot-starter-aop' // S3 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' // Resilience4j implementation 'io.github.resilience4j:resilience4j-spring-boot3:2.2.0' implementation 'io.github.resilience4j:resilience4j-bulkhead:2.3.0' - // 비동기 실행 - implementation 'org.springframework.boot:spring-boot-starter-aop' // lombok compileOnly 'org.projectlombok:lombok:1.18.30' annotationProcessor 'org.projectlombok:lombok:1.18.30' diff --git a/infra-aws/src/main/java/com/nowait/infraaws/s3/S3Service.java b/nowait-infra/src/main/java/com/nowait/infraaws/aws/s3/S3Service.java similarity index 98% rename from infra-aws/src/main/java/com/nowait/infraaws/s3/S3Service.java rename to nowait-infra/src/main/java/com/nowait/infraaws/aws/s3/S3Service.java index a2c586fc..18416c32 100644 --- a/infra-aws/src/main/java/com/nowait/infraaws/s3/S3Service.java +++ b/nowait-infra/src/main/java/com/nowait/infraaws/aws/s3/S3Service.java @@ -1,4 +1,4 @@ -package com.nowait.infraaws.s3; +package com.nowait.infraaws.aws.s3; import java.io.InputStream; import java.util.UUID; diff --git a/application-config/src/main/java/com/nowait/config/config/AsyncConfig.java b/nowait-infra/src/main/java/com/nowait/infraaws/config/AsyncConfig.java similarity index 94% rename from application-config/src/main/java/com/nowait/config/config/AsyncConfig.java rename to nowait-infra/src/main/java/com/nowait/infraaws/config/AsyncConfig.java index 0d63871f..78ea0dbe 100644 --- a/application-config/src/main/java/com/nowait/config/config/AsyncConfig.java +++ b/nowait-infra/src/main/java/com/nowait/infraaws/config/AsyncConfig.java @@ -1,4 +1,4 @@ -package com.nowait.config.config; +package com.nowait.infraaws.config; import java.util.concurrent.Executor; diff --git a/infra-aws/src/main/java/com/nowait/infraaws/config/AwsS3Config.java b/nowait-infra/src/main/java/com/nowait/infraaws/config/AwsS3Config.java similarity index 100% rename from infra-aws/src/main/java/com/nowait/infraaws/config/AwsS3Config.java rename to nowait-infra/src/main/java/com/nowait/infraaws/config/AwsS3Config.java diff --git a/security-admin/.gitattributes b/security-admin/.gitattributes deleted file mode 100644 index 8af972cd..00000000 --- a/security-admin/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary diff --git a/security-admin/.gitignore b/security-admin/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/security-admin/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/security-admin/build.gradle b/security-admin/build.gradle deleted file mode 100644 index 9c9de646..00000000 --- a/security-admin/build.gradle +++ /dev/null @@ -1,38 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':common') - implementation project(':domain-user') - implementation project(':domain-base') - implementation project(':domain-token') - implementation project(':application-config') - // SPRING SECURITY - api 'org.springframework.boot:spring-boot-starter-security' - api 'org.springframework.boot:spring-boot-starter-test' - // Lombok (optional) - compileOnly 'org.projectlombok:lombok:1.18.26' - annotationProcessor 'org.projectlombok:lombok:1.18.26' - // jwt - implementation 'io.jsonwebtoken:jjwt-api:0.12.3' - implementation 'io.jsonwebtoken:jjwt-impl:0.12.3' - implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3' - implementation 'jakarta.servlet:jakarta.servlet-api:6.0.0' - implementation 'com.auth0:java-jwt:4.4.0' - // SWAGGER - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' -} diff --git a/security-front/.gitignore b/security-front/.gitignore deleted file mode 100644 index c2065bc2..00000000 --- a/security-front/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/security-front/build.gradle b/security-front/build.gradle deleted file mode 100644 index 6201e438..00000000 --- a/security-front/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - id 'java-library' -} - -group = 'com.nowaiting' -version = rootProject.version - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':common') - implementation project(':domain-user') - implementation project(':domain-base') - implementation project(':domain-token') - implementation project(':external-oauth') - implementation project(':application-config') - // SPRING SECURITY - api 'org.springframework.boot:spring-boot-starter-security' - api 'org.springframework.boot:spring-boot-starter-test' - // Lombok (optional) - compileOnly 'org.projectlombok:lombok:1.18.26' - annotationProcessor 'org.projectlombok:lombok:1.18.26' - // jwt - implementation 'io.jsonwebtoken:jjwt-api:0.12.3' - implementation 'io.jsonwebtoken:jjwt-impl:0.12.3' - implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3' - // OAUTH2 - implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' - implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server' - implementation 'jakarta.servlet:jakarta.servlet-api:6.0.0' - // SWAGGER - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' -} diff --git a/security-front/src/main/java/com/nowait/auth/config/SecurityConfig.java b/security-front/src/main/java/com/nowait/auth/config/SecurityConfig.java deleted file mode 100644 index c4ebb970..00000000 --- a/security-front/src/main/java/com/nowait/auth/config/SecurityConfig.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.nowait.auth.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.authentication.AuthenticationProvider; -import org.springframework.security.authentication.dao.DaoAuthenticationProvider; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.web.SecurityFilterChain; -import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; -import org.springframework.web.cors.CorsConfigurationSource; - -import com.nowait.auth.jwt.JwtAuthorizationFilter; -import com.nowait.auth.jwt.JwtUtil; -import com.nowait.auth.oauth2.CustomOAuth2UserService; -import com.nowait.auth.oauth2.OAuth2LoginSuccessHandler; -import com.nowait.auth.service.CustomUserDetailService; - -import lombok.RequiredArgsConstructor; - -@Configuration -@EnableWebSecurity // security 활성화 어노테이션 -@RequiredArgsConstructor -public class SecurityConfig { - private final CustomOAuth2UserService customOAuth2UserService; - private final OAuth2LoginSuccessHandler OAuth2LoginSuccessHandler; - private final JwtUtil jwtUtil; - private final CustomUserDetailService userDetailsService; - - @Bean - public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { - http - // CSRF 방어 기능 비활성화 (jwt 토큰을 사용할 것이기에 필요없음) - .csrf(AbstractHttpConfigurer::disable) - // 시큐리티 폼 로그인 비활성화 - .formLogin(AbstractHttpConfigurer::disable) - // HTTP Basic 인증 비활성화 - .httpBasic(AbstractHttpConfigurer::disable) - // oauth2 로그인 - // - userInfoEndPoint에서 사용자 정보 불러오고, - // - successHandler에서 로그인 성공 시 JWT 생성 및 반환로직 - .oauth2Login(oauth2 -> - oauth2.userInfoEndpoint(userInfoEndpoint -> - userInfoEndpoint.userService(customOAuth2UserService) - ).successHandler(OAuth2LoginSuccessHandler) - ) - // 세션 사용하지 않음 - .sessionManagement(session -> - session.sessionCreationPolicy(SessionCreationPolicy.STATELESS) - ) - .authorizeHttpRequests(auth -> auth - .requestMatchers( - "/oauth2/authorization/kakao", // 카카오 로그인 요청 - "/login/oauth2/code/**", // 카카오 인증 콜백 - "/api/refresh-token", // refresh token (토큰 갱신) - "/orders/**", // 주문 관련 API - "/v1/menus/**", - "/v1/stores/**", - "/api/users/signup", - "/api/users/login", - "/swagger-ui/**", - "/v3/api-docs/**", - "/v3/api-docs.json", - "/api-docs/**", - "/swagger-resources/**", - "/webjars/**", - "/demo-ui.html" - ) - .permitAll() - .anyRequest().authenticated() // 그외 요청은 허가된 사람만 인가 - ) - // JWTFiler - .addFilterBefore(new JwtAuthorizationFilter(jwtUtil), UsernamePasswordAuthenticationFilter.class); - - return http.build(); - } - @Bean - public PasswordEncoder passwordEncoder() { - return new BCryptPasswordEncoder(); - } - @Bean - public AuthenticationProvider authenticationProvider() { - DaoAuthenticationProvider authenticationProvider = new DaoAuthenticationProvider(); - authenticationProvider.setUserDetailsService(userDetailsService); - authenticationProvider.setPasswordEncoder(passwordEncoder()); - return authenticationProvider; - } - -} diff --git a/security-front/src/main/java/com/nowait/auth/dto/CustomOAuth2User.java b/security-front/src/main/java/com/nowait/auth/dto/CustomOAuth2User.java deleted file mode 100644 index 61432393..00000000 --- a/security-front/src/main/java/com/nowait/auth/dto/CustomOAuth2User.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.nowait.auth.dto; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Map; - -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.oauth2.core.user.OAuth2User; - -import com.nowait.user.entity.User; - -import lombok.RequiredArgsConstructor; - -@RequiredArgsConstructor -public class CustomOAuth2User implements OAuth2User { - private final User user; - - @Override - public Map getAttributes() { - return Map.of("email", user.getEmail(), "nickname", user.getNickname()); - } - - // 사용자가 가지는 권한 설정 - @Override - public Collection getAuthorities() { - Collection authorities = new ArrayList<>(); - - authorities.add(new GrantedAuthority() { - @Override - public String getAuthority() { - return user.getRole().getName(); // 유저의 권한 리턴 - } - }); - - return authorities; - } - - @Override - public String getName() { - return user.getEmail(); - } - - public User getUser() { - return user; - } - - public Long getUserId() { - return user.getId(); - } - - public String getNickname() { - return user.getNickname(); - } - -} diff --git a/security-front/src/main/java/com/nowait/auth/dto/OAuth2Response.java b/security-front/src/main/java/com/nowait/auth/dto/OAuth2Response.java deleted file mode 100644 index de987480..00000000 --- a/security-front/src/main/java/com/nowait/auth/dto/OAuth2Response.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.nowait.auth.dto; - -public interface OAuth2Response { - // 제공자 (ex. naver, kakao) - String getProvider(); - - // 제공자에서 발급해주는 아이디 (번호) - String getProviderId(); - - // 아래 이메일, 닉네임, 프로필이미지는 내가 카카오 developers에서 발급받겠다고 신청한 정보들이다 - // 이메일 - String getEmail(); - - // 닉네임 - String getNickName(); - - // 프로필이미지 - String getProfileImage(); -} diff --git a/security-front/src/main/java/com/nowait/auth/jwt/JwtAuthorizationFilter.java b/security-front/src/main/java/com/nowait/auth/jwt/JwtAuthorizationFilter.java deleted file mode 100644 index dcbbd985..00000000 --- a/security-front/src/main/java/com/nowait/auth/jwt/JwtAuthorizationFilter.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.nowait.auth.jwt; - -import java.io.IOException; - -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.web.filter.OncePerRequestFilter; - -import com.nowait.auth.dto.CustomOAuth2User; -import com.nowait.common.enums.Role; -import com.nowait.common.enums.SocialType; -import com.nowait.user.entity.User; - -import io.jsonwebtoken.ExpiredJwtException; -import jakarta.servlet.FilterChain; -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -// JWT 검증 필터 -// 1. 헤더에서 accessToken 추출, 2. 토큰 검증, 3. 유효하면 사용자정보를 SecurityContextHolder에 세팅 -// 그러면, 이후 컨트롤러에서 @AuthenticationPrincipal에서 저장했던 사용자 정보를 꺼내쓸 수 있음 -@RequiredArgsConstructor -@Slf4j -public class JwtAuthorizationFilter extends OncePerRequestFilter { - private final JwtUtil jwtUtil; - - @Override - protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) - throws ServletException, IOException { - String header = request.getHeader("Authorization"); - - // 인증헤더 Bearer가 없다면, 다음 필터로 넘김 - if (header == null || !header.startsWith("Bearer ")) { - filterChain.doFilter(request, response); - - log.debug("JwtAuthorizationFilter: Authorization 헤더가 없거나 Bearer 토큰 형식이 아님. JWT 인증 필터를 건너뜁니다. [header={}] ", header); - return; - } - - log.info("header :: {}, header.substring(7) :: {}", header, header.substring(7)); - String accessToken = header.substring(7); - - // 토큰 만료 여부 확인, 만료 시 다음 필터로 넘기지 않음 - try { - jwtUtil.isExpired(accessToken); - } catch (ExpiredJwtException e) { - - // response status code + msg - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - response.getWriter().print("access token expired"); - - log.warn("JwtAuthorizationFilter: 만료된 AccessToken입니다. 토큰 인증 거부, URI: {}", request.getRequestURI()); - return; - } - - // 토큰이 accessToken 종류인지 확인 - String tokenCategory = jwtUtil.getTokenCategory(accessToken); - - if (!tokenCategory.equals("accessToken")) { - //response status code - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - response.getWriter().print("invalid access token"); - - log.warn("JwtAuthorizationFilter: 잘못된 토큰 유형(accessToken 아님)으로 인증 요청. URI: {}, tokenCategory: {}", request.getRequestURI(), tokenCategory); - return; - } - - // userId와 role 값 추출 - Long userId = jwtUtil.getUserId(accessToken); - String roleString = jwtUtil.getRole(accessToken); - if (userId == null || roleString == null) { - log.warn("JwtAuthorizationFilter: JWT에서 userId 또는 role 추출 실패. 토큰: {}", accessToken); - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - response.getWriter().print("invalid token"); - return; - } - User user = User.createUserWithId(userId, "sampleEmail", "sampleNickname", "sampleProfileImg" - , SocialType.KAKAO, Role.fromString(roleString)); - - CustomOAuth2User customOAuth2User = new CustomOAuth2User(user); - - // 스프링 시큐리티 인증 토큰 생성 - UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken( - customOAuth2User, null, customOAuth2User.getAuthorities()); - - // 생성한 인증 정보를 SecurityContext에 설정 - SecurityContextHolder.getContext().setAuthentication(usernamePasswordAuthenticationToken); - - log.info("JwtAuthorizationFilter: 인증 성공. userId={}, role={}, URI={}", userId, roleString, request.getRequestURI()); - - filterChain.doFilter(request, response); - - } - -} diff --git a/security-front/src/main/java/com/nowait/auth/oauth2/CustomOAuth2UserService.java b/security-front/src/main/java/com/nowait/auth/oauth2/CustomOAuth2UserService.java deleted file mode 100644 index b51577f7..00000000 --- a/security-front/src/main/java/com/nowait/auth/oauth2/CustomOAuth2UserService.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.nowait.auth.oauth2; - -import java.util.Optional; - -import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService; -import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest; -import org.springframework.security.oauth2.core.OAuth2AuthenticationException; -import org.springframework.security.oauth2.core.user.OAuth2User; -import org.springframework.stereotype.Service; - -import com.nowait.auth.dto.CustomOAuth2User; -import com.nowait.auth.dto.KaKaoResponse; -import com.nowait.auth.dto.OAuth2Response; -import com.nowait.common.enums.Role; -import com.nowait.common.enums.SocialType; -import com.nowait.user.entity.User; -import com.nowait.user.repository.UserRepository; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -// OAuth2 제공자(카카오)로부터 제공받은 사용자 정보를, 우리 서비스에 맞게 가공, 변환 -@Service -@RequiredArgsConstructor -@Slf4j -public class CustomOAuth2UserService extends DefaultOAuth2UserService { - private final UserRepository userRepository; - - @Override - public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException { - OAuth2User oAuth2User = super.loadUser(userRequest); - - log.info("CustomOAuth2UserService :: {}", oAuth2User); - log.info("oAuthUser.getAttributes :: {}", oAuth2User.getAttributes()); - - String registrationId = userRequest.getClientRegistration().getRegistrationId(); - OAuth2Response oAuth2Response = null; - - if (registrationId.equals("kakao")) { - oAuth2Response = new KaKaoResponse(oAuth2User.getAttributes()); - } else { - throw new OAuth2AuthenticationException("지원하지 않는 OAuth2 Provider 입니다."); - } - - // DB에 유저가 있는지 판단 - Optional foundUser = userRepository.findByEmail(oAuth2Response.getEmail()); - - // DB에 유저 없으면 - 회원가입 - if (foundUser.isEmpty()) { - - User user = User.builder() - .email(oAuth2Response.getEmail()) - .nickname(oAuth2Response.getNickName()) - .profileImage(oAuth2Response.getProfileImage()) - .socialType(SocialType.KAKAO) - .role(Role.USER) // 일반 유저 설정 - .build(); - - userRepository.save(user); - - return new CustomOAuth2User(user); - } else { - // DB에 유저 존재하면 - 로그인 진행 (이때 로그인 처리는 안하고, OAuth2LoginSuccessHandler에서 담당함) - User user = foundUser.get(); - - return new CustomOAuth2User(user); - } - } - -} diff --git a/security-front/src/main/java/com/nowait/auth/oauth2/OAuth2LoginSuccessHandler.java b/security-front/src/main/java/com/nowait/auth/oauth2/OAuth2LoginSuccessHandler.java deleted file mode 100644 index 9364e1cc..00000000 --- a/security-front/src/main/java/com/nowait/auth/oauth2/OAuth2LoginSuccessHandler.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.nowait.auth.oauth2; - -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.Collection; -import java.util.Iterator; -import java.util.Map; - -import org.springframework.security.core.Authentication; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler; -import org.springframework.stereotype.Component; - -import com.example.domaintoken.entity.Token; -import com.example.domaintoken.repository.TokenRepository; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.nowait.auth.dto.CustomOAuth2User; -import com.nowait.auth.jwt.JwtUtil; -import com.nowait.user.entity.User; - -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -// 카카오 로그인 성공 시, 콜백 핸들러 -// 1. JWT 토큰 발급 -// - 이때, JWT payload는 보안상 최소한의 정보(userId, role)만 담겠다 -// 2. refreshToken만 DB에 저장 -// 3. JSON 응답으로, accessToken과 refreshToken 을 반환해준다. -@Component -@RequiredArgsConstructor -@Slf4j -public class OAuth2LoginSuccessHandler extends SimpleUrlAuthenticationSuccessHandler { - private final JwtUtil jwtUtil; - private final TokenRepository tokenRepository; - - @Override - public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, - Authentication authentication) throws IOException { - - // 1. CustomOAuth2UserService에서 설정한 OAuth2User 정보 가져오기 - CustomOAuth2User customUserDetails = (CustomOAuth2User)authentication.getPrincipal(); - - User user = customUserDetails.getUser(); - Long userId = customUserDetails.getUserId(); - String email = customUserDetails.getName(); - - Collection authorities = authentication.getAuthorities(); - Iterator iterator = authorities.iterator(); - GrantedAuthority auth = iterator.next(); - - String role = auth.getAuthority(); - - log.info("user, userId, email, role :: {} {} {} {}", user, userId, email, role); - - // 2. 1)의 사용자 정보를 담아, accessToken과 refreshToken 발행 - String accessToken = jwtUtil.createAccessToken("accessToken", userId, role, 60 * 60 * 1000L); // 유효기간 1시간 - String refreshToken = jwtUtil.createRefreshToken("refreshToken", userId, - 30 * 24 * 60 * 60 * 1000L); // 유효기간 30일 - - // 3. refreshToken을 DB에 저장 - Token refreshTokenEntity = Token.toEntity(user, refreshToken, LocalDateTime.now().plusDays(30)); - tokenRepository.save(refreshTokenEntity); - - // 4. JSON 응답으로, accessToken과 refreshToken 을 반환해준다. - response.setContentType("application/json"); - response.setCharacterEncoding("utf-8"); - - ObjectMapper objectMapper = new ObjectMapper(); // 객체 -> json 문자열로 변환 - String body = objectMapper.writeValueAsString( - Map.of( - "accessToken", accessToken, - "refreshToken", refreshToken - ) - ); - response.getWriter().write(body); - } - -} diff --git a/security-front/src/main/java/com/nowait/exception/BusinessException.java b/security-front/src/main/java/com/nowait/exception/BusinessException.java deleted file mode 100644 index 60eec165..00000000 --- a/security-front/src/main/java/com/nowait/exception/BusinessException.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.nowait.exception; - -public abstract class BusinessException extends RuntimeException { - private final ErrorMessage errorMessage; - - protected BusinessException(ErrorMessage errorMessage) { - super(errorMessage.getMessage()); - this.errorMessage = errorMessage; - } - - public String getCode() { - return errorMessage.getCode(); - } -} diff --git a/security-front/src/main/java/com/nowait/exception/ErrorMessage.java b/security-front/src/main/java/com/nowait/exception/ErrorMessage.java deleted file mode 100644 index c365a92e..00000000 --- a/security-front/src/main/java/com/nowait/exception/ErrorMessage.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.nowait.exception; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public enum ErrorMessage { - // global - INVALID_INPUT_VALUE("입력값이 올바르지 않습니다.", "global001"), - - // auth - UNAUTHORIZED("권한이 없습니다", "auth001"), - - // token - REFRESH_TOKEN_NOT_FOUND("기존 리프레시 토큰을 찾을 수 없습니다.", "token001"), - DOES_NOT_MATCH_REFRESH_TOKEN("기존 리프레시 토큰이 일치하지 않습니다.", "token002"); - - private final String message; - private final String code; - -} diff --git a/security-front/src/main/java/com/nowait/exception/ErrorResponse.java b/security-front/src/main/java/com/nowait/exception/ErrorResponse.java deleted file mode 100644 index a15935e8..00000000 --- a/security-front/src/main/java/com/nowait/exception/ErrorResponse.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.nowait.exception; - -import java.util.HashMap; -import java.util.Map; - -import lombok.Getter; - -@Getter -public class ErrorResponse { - private final String message; - private final String code; - private final Map errors; - - public ErrorResponse(String message, String code) { - this.message = message; - this.code = code; - errors = new HashMap<>(); - } - - public ErrorResponse(String message, String code, Map errors) { - this.message = message; - this.code = code; - this.errors = errors; - } - -} diff --git a/security-front/src/main/java/com/nowait/exception/GlobalExceptionHandler.java b/security-front/src/main/java/com/nowait/exception/GlobalExceptionHandler.java deleted file mode 100644 index b9f7c1e2..00000000 --- a/security-front/src/main/java/com/nowait/exception/GlobalExceptionHandler.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.nowait.exception; - -import static com.nowait.exception.ErrorMessage.*; -import static org.springframework.http.HttpStatus.*; -import static org.springframework.http.HttpStatus.UNAUTHORIZED; - -import java.util.Map; -import java.util.stream.Collectors; - -import org.springframework.http.converter.HttpMessageNotReadableException; -import org.springframework.security.oauth2.core.OAuth2AuthenticationException; -import org.springframework.validation.FieldError; -import org.springframework.validation.ObjectError; -import org.springframework.web.bind.MethodArgumentNotValidException; -import org.springframework.web.bind.MissingRequestValueException; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.bind.annotation.RestControllerAdvice; -import org.springframework.web.multipart.MultipartException; - -import io.swagger.v3.oas.annotations.Hidden; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Hidden -@RestControllerAdvice -public class GlobalExceptionHandler { - - // OAUTH 인증 실패 에러처리 메서드 - @ResponseStatus(value = BAD_REQUEST) - @ExceptionHandler(OAuth2AuthenticationException.class) - public ErrorResponse handlerOAuth2AuthenticationException(OAuth2AuthenticationException e) { - log.error("handleOAuth2AuthenticationException", e); - - return new ErrorResponse("OAuth 인증 실패 : " + e.getMessage(), INVALID_INPUT_VALUE.getCode()); - } - - @ResponseStatus(value = BAD_REQUEST) - @ExceptionHandler(BusinessException.class) - public ErrorResponse handleBusinessException(BusinessException e) { - log.error("handleBusinessException", e); - return new ErrorResponse(e.getMessage(), e.getCode()); - } - - @ResponseStatus(value = BAD_REQUEST) - @ExceptionHandler(MethodArgumentNotValidException.class) - public ErrorResponse handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { - log.error("handleMethodArgumentNotValidException", e); - Map errors = getErrors(e); - return new ErrorResponse(INVALID_INPUT_VALUE.getMessage(), INVALID_INPUT_VALUE.getCode(), errors); - } - - @ResponseStatus(value = BAD_REQUEST) - @ExceptionHandler(HttpMessageNotReadableException.class) - public ErrorResponse handleHttpMessageNotReadableException(HttpMessageNotReadableException e) { - log.error("handleHttpMessageNotReadableException", e); - return new ErrorResponse(INVALID_INPUT_VALUE.getMessage(), INVALID_INPUT_VALUE.getCode()); - } - - @ResponseStatus(value = BAD_REQUEST) - @ExceptionHandler(IllegalArgumentException.class) - public ErrorResponse handleIllegalArgumentException(IllegalArgumentException e) { - log.error("handleIllegalArgumentException", e); - return new ErrorResponse(e.getMessage(), INVALID_INPUT_VALUE.getCode()); - } - - @ResponseStatus(value = BAD_REQUEST) - @ExceptionHandler(MissingRequestValueException.class) - public ErrorResponse handleMissingRequestValueException(MissingRequestValueException e) { - log.error("handleMissingRequestValueExceptionException", e); - return new ErrorResponse(INVALID_INPUT_VALUE.getMessage(), INVALID_INPUT_VALUE.getCode()); - } - - @ResponseStatus(value = UNAUTHORIZED) - @ExceptionHandler(UnauthorizedException.class) - public ErrorResponse handleUnauthorizedException(UnauthorizedException e) { - log.error("handleUnauthorizedExceptionException", e); - return new ErrorResponse(e.getMessage(), e.getCode()); - } - - @ResponseStatus(value = NOT_FOUND) - @ExceptionHandler(ResourceNotFoundException.class) - public ErrorResponse handleResourceNotFoundException(ResourceNotFoundException e) { - log.error("handleResourceNotFoundExceptionException", e); - return new ErrorResponse(e.getMessage(), e.getCode()); - } - - @ResponseStatus(value = BAD_REQUEST) - @ExceptionHandler(MultipartException.class) - public ErrorResponse handleMultipartException(MultipartException e) { - log.error("handleMultipartException", e); - return new ErrorResponse(e.getMessage(), INVALID_INPUT_VALUE.getCode()); - } - - - private static Map getErrors(MethodArgumentNotValidException e) { - return e.getBindingResult() - .getAllErrors() - .stream() - .filter(ObjectError.class::isInstance) - .collect(Collectors.toMap( - error -> error instanceof FieldError ? ((FieldError)error).getField() : error.getObjectName(), - ObjectError::getDefaultMessage, - (msg1, msg2) -> msg1 + ";" + msg2 - )); - } - -} diff --git a/security-front/src/main/java/com/nowait/exception/RefreshTokenNotFoundException.java b/security-front/src/main/java/com/nowait/exception/RefreshTokenNotFoundException.java deleted file mode 100644 index 5365ef52..00000000 --- a/security-front/src/main/java/com/nowait/exception/RefreshTokenNotFoundException.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.nowait.exception; - -public class RefreshTokenNotFoundException extends ResourceNotFoundException { - - public RefreshTokenNotFoundException() { - super(ErrorMessage.REFRESH_TOKEN_NOT_FOUND); - } - -} diff --git a/security-front/src/main/java/com/nowait/exception/ResourceNotFoundException.java b/security-front/src/main/java/com/nowait/exception/ResourceNotFoundException.java deleted file mode 100644 index ae4e4b7b..00000000 --- a/security-front/src/main/java/com/nowait/exception/ResourceNotFoundException.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.nowait.exception; - -public abstract class ResourceNotFoundException extends RuntimeException { - private final ErrorMessage errorMessage; - - protected ResourceNotFoundException(ErrorMessage errorMessage) { - super(errorMessage.getMessage()); - this.errorMessage = errorMessage; - } - - public String getCode() { - return errorMessage.getCode(); - } -} diff --git a/security-front/src/main/java/com/nowait/exception/TokenBadRequestException.java b/security-front/src/main/java/com/nowait/exception/TokenBadRequestException.java deleted file mode 100644 index 504852ee..00000000 --- a/security-front/src/main/java/com/nowait/exception/TokenBadRequestException.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.nowait.exception; - -public class TokenBadRequestException extends BusinessException { - public TokenBadRequestException() { - super(ErrorMessage.DOES_NOT_MATCH_REFRESH_TOKEN); - } - -} diff --git a/security-front/src/main/java/com/nowait/exception/UnauthorizedException.java b/security-front/src/main/java/com/nowait/exception/UnauthorizedException.java deleted file mode 100644 index 65a8fd0a..00000000 --- a/security-front/src/main/java/com/nowait/exception/UnauthorizedException.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.nowait.exception; - -public class UnauthorizedException extends RuntimeException { - private final ErrorMessage errorMessage; - - public UnauthorizedException() { - super(ErrorMessage.UNAUTHORIZED.getMessage()); - this.errorMessage = ErrorMessage.UNAUTHORIZED; - } - - public UnauthorizedException(ErrorMessage errorMessage) { - super(errorMessage.getMessage()); - this.errorMessage = errorMessage; - } - - public String getCode() { - return errorMessage.getCode(); - } -} diff --git a/settings.gradle b/settings.gradle index 4984deb9..24f20718 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,19 +1,9 @@ rootProject.name = 'nowait' -include 'common' -include 'domain-base' -include 'domain-user' -include 'domain-menu' -include 'domain-store' -include 'domain-token' -include 'domain-bookmark' -include 'domain-order' -include 'domain-reservation' -include 'security-admin' -include 'security-front' -include 'external-oauth' -include 'infra-aws' -include 'application-config' -include 'application-user' -include 'application-admin' - +include 'nowait-app-user-api' +include 'nowait-app-admin-api' +include 'nowait-common' +include 'nowait-domain:domain-core-rdb' +include 'nowait-domain:domain-admin-rdb' +include 'nowait-domain:domain-user-rdb' +include 'nowait-infra'