diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 65cf09b6..4042c2dc 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -49,13 +49,13 @@ jobs: # secret 파일 디렉토리 생성 - name: Create secret directory - run: mkdir src/main/java/com/recipe/app/src/config/secret + run: mkdir src/main/java/com/recipe/app/src/common/config/secret # Secret.java 파일 복사 - name: Copy Secret.java env: SECRET_JAVA_FILE: ${{ secrets.SECRET_JAVA }} - run: echo $SECRET_JAVA_FILE | base64 --decode > src/main/java/com/recipe/app/src/config/secret/Secret.java + run: echo $SECRET_JAVA_FILE | base64 --decode > src/main/java/com/recipe/app/src/common/config/secret/Secret.java # keystore.p12 파일 복사 - name: Copy keystore.p12 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 472891d5..dba898f8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,13 +32,13 @@ jobs: # secret 파일 디렉토리 생성 - name: Create secret directory - run: mkdir src/main/java/com/recipe/app/src/config/secret + run: mkdir src/main/java/com/recipe/app/src/common/config/secret # Secret.java 파일 복사 - name: Copy Secret.java env: SECRET_JAVA_FILE: ${{ secrets.SECRET_JAVA }} - run: echo $SECRET_JAVA_FILE | base64 --decode > src/main/java/com/recipe/app/src/config/secret/Secret.java + run: echo $SECRET_JAVA_FILE | base64 --decode > src/main/java/com/recipe/app/src/common/config/secret/Secret.java - name: Get Public IP id: publicip diff --git a/build.gradle b/build.gradle index f0263c07..0408334c 100644 --- a/build.gradle +++ b/build.gradle @@ -66,6 +66,8 @@ dependencies { implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign', version: '4.1.3' + implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' testImplementation 'org.springframework.boot:spring-boot-starter-test' diff --git a/src/main/java/com/recipe/app/src/etc/api/AppVersionController.java b/src/main/java/com/recipe/app/src/appVersion/api/AppVersionController.java similarity index 75% rename from src/main/java/com/recipe/app/src/etc/api/AppVersionController.java rename to src/main/java/com/recipe/app/src/appVersion/api/AppVersionController.java index 3a2ee45b..cb229650 100644 --- a/src/main/java/com/recipe/app/src/etc/api/AppVersionController.java +++ b/src/main/java/com/recipe/app/src/appVersion/api/AppVersionController.java @@ -1,7 +1,7 @@ -package com.recipe.app.src.etc.api; +package com.recipe.app.src.appVersion.api; -import com.recipe.app.src.etc.application.AppVersionService; -import com.recipe.app.src.etc.application.dto.AppVersionResponse; +import com.recipe.app.src.appVersion.application.AppVersionService; +import com.recipe.app.src.appVersion.application.dto.AppVersionResponse; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/com/recipe/app/src/etc/application/AppVersionService.java b/src/main/java/com/recipe/app/src/appVersion/application/AppVersionService.java similarity index 73% rename from src/main/java/com/recipe/app/src/etc/application/AppVersionService.java rename to src/main/java/com/recipe/app/src/appVersion/application/AppVersionService.java index 534f1d86..c155e5a7 100644 --- a/src/main/java/com/recipe/app/src/etc/application/AppVersionService.java +++ b/src/main/java/com/recipe/app/src/appVersion/application/AppVersionService.java @@ -1,7 +1,7 @@ -package com.recipe.app.src.etc.application; +package com.recipe.app.src.appVersion.application; -import com.recipe.app.src.etc.application.dto.AppVersionResponse; -import com.recipe.app.src.etc.infra.AppVersionRepository; +import com.recipe.app.src.appVersion.application.dto.AppVersionResponse; +import com.recipe.app.src.appVersion.infra.AppVersionRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/recipe/app/src/etc/application/dto/AppVersionResponse.java b/src/main/java/com/recipe/app/src/appVersion/application/dto/AppVersionResponse.java similarity index 65% rename from src/main/java/com/recipe/app/src/etc/application/dto/AppVersionResponse.java rename to src/main/java/com/recipe/app/src/appVersion/application/dto/AppVersionResponse.java index 1c898f6f..660c1d27 100644 --- a/src/main/java/com/recipe/app/src/etc/application/dto/AppVersionResponse.java +++ b/src/main/java/com/recipe/app/src/appVersion/application/dto/AppVersionResponse.java @@ -1,6 +1,6 @@ -package com.recipe.app.src.etc.application.dto; +package com.recipe.app.src.appVersion.application.dto; -import com.recipe.app.src.etc.domain.AppVersion; +import com.recipe.app.src.appVersion.domain.AppVersion; import lombok.Getter; @Getter diff --git a/src/main/java/com/recipe/app/src/etc/domain/AppVersion.java b/src/main/java/com/recipe/app/src/appVersion/domain/AppVersion.java similarity index 93% rename from src/main/java/com/recipe/app/src/etc/domain/AppVersion.java rename to src/main/java/com/recipe/app/src/appVersion/domain/AppVersion.java index 1f9df656..135436e5 100644 --- a/src/main/java/com/recipe/app/src/etc/domain/AppVersion.java +++ b/src/main/java/com/recipe/app/src/appVersion/domain/AppVersion.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.etc.domain; +package com.recipe.app.src.appVersion.domain; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/com/recipe/app/src/appVersion/infra/AppVersionCustomRepository.java b/src/main/java/com/recipe/app/src/appVersion/infra/AppVersionCustomRepository.java new file mode 100644 index 00000000..e61c812b --- /dev/null +++ b/src/main/java/com/recipe/app/src/appVersion/infra/AppVersionCustomRepository.java @@ -0,0 +1,8 @@ +package com.recipe.app.src.appVersion.infra; + +import com.recipe.app.src.appVersion.domain.AppVersion; + +public interface AppVersionCustomRepository { + + AppVersion findRecentAppVersion(); +} diff --git a/src/main/java/com/recipe/app/src/etc/infra/AppVersionRepository.java b/src/main/java/com/recipe/app/src/appVersion/infra/AppVersionRepository.java similarity index 63% rename from src/main/java/com/recipe/app/src/etc/infra/AppVersionRepository.java rename to src/main/java/com/recipe/app/src/appVersion/infra/AppVersionRepository.java index 73aa14a9..55904c47 100644 --- a/src/main/java/com/recipe/app/src/etc/infra/AppVersionRepository.java +++ b/src/main/java/com/recipe/app/src/appVersion/infra/AppVersionRepository.java @@ -1,6 +1,6 @@ -package com.recipe.app.src.etc.infra; +package com.recipe.app.src.appVersion.infra; -import com.recipe.app.src.etc.domain.AppVersion; +import com.recipe.app.src.appVersion.domain.AppVersion; import org.springframework.data.jpa.repository.JpaRepository; public interface AppVersionRepository extends JpaRepository, AppVersionCustomRepository { diff --git a/src/main/java/com/recipe/app/src/etc/infra/AppVersionRepositoryImpl.java b/src/main/java/com/recipe/app/src/appVersion/infra/AppVersionRepositoryImpl.java similarity index 74% rename from src/main/java/com/recipe/app/src/etc/infra/AppVersionRepositoryImpl.java rename to src/main/java/com/recipe/app/src/appVersion/infra/AppVersionRepositoryImpl.java index c228ba4e..998c781d 100644 --- a/src/main/java/com/recipe/app/src/etc/infra/AppVersionRepositoryImpl.java +++ b/src/main/java/com/recipe/app/src/appVersion/infra/AppVersionRepositoryImpl.java @@ -1,10 +1,10 @@ -package com.recipe.app.src.etc.infra; +package com.recipe.app.src.appVersion.infra; import com.recipe.app.src.common.infra.BaseRepositoryImpl; -import com.recipe.app.src.etc.domain.AppVersion; +import com.recipe.app.src.appVersion.domain.AppVersion; import jakarta.persistence.EntityManager; -import static com.recipe.app.src.etc.domain.QAppVersion.*; +import static com.recipe.app.src.appVersion.domain.QAppVersion.appVersion; public class AppVersionRepositoryImpl extends BaseRepositoryImpl implements AppVersionCustomRepository { diff --git a/src/main/java/com/recipe/app/src/common/config/AmazonS3Config.java b/src/main/java/com/recipe/app/src/common/config/AmazonS3Config.java new file mode 100644 index 00000000..a73f87a8 --- /dev/null +++ b/src/main/java/com/recipe/app/src/common/config/AmazonS3Config.java @@ -0,0 +1,31 @@ +package com.recipe.app.src.common.config; + +import com.amazonaws.auth.AWSStaticCredentialsProvider; +import com.amazonaws.auth.BasicAWSCredentials; +import com.amazonaws.services.s3.AmazonS3Client; +import com.amazonaws.services.s3.AmazonS3ClientBuilder; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class AmazonS3Config { + + @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 awsCreds = new BasicAWSCredentials(accessKey, secretKey); + return (AmazonS3Client) AmazonS3ClientBuilder.standard() + .withRegion(region) + .withCredentials(new AWSStaticCredentialsProvider(awsCreds)) + .build(); + } +} diff --git a/src/main/java/com/recipe/app/src/config/AsyncConfig.java b/src/main/java/com/recipe/app/src/common/config/AsyncConfig.java similarity index 94% rename from src/main/java/com/recipe/app/src/config/AsyncConfig.java rename to src/main/java/com/recipe/app/src/common/config/AsyncConfig.java index 312d7083..b56421ce 100644 --- a/src/main/java/com/recipe/app/src/config/AsyncConfig.java +++ b/src/main/java/com/recipe/app/src/common/config/AsyncConfig.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.config; +package com.recipe.app.src.common.config; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.AsyncConfigurer; diff --git a/src/main/java/com/recipe/app/src/config/GeneralExceptionHandler.java b/src/main/java/com/recipe/app/src/common/config/GeneralExceptionHandler.java similarity index 92% rename from src/main/java/com/recipe/app/src/config/GeneralExceptionHandler.java rename to src/main/java/com/recipe/app/src/common/config/GeneralExceptionHandler.java index b6d05bcb..bd42f57a 100644 --- a/src/main/java/com/recipe/app/src/config/GeneralExceptionHandler.java +++ b/src/main/java/com/recipe/app/src/common/config/GeneralExceptionHandler.java @@ -1,7 +1,7 @@ -package com.recipe.app.src.config; +package com.recipe.app.src.common.config; -import com.recipe.app.src.etc.exception.BadWordException; -import com.recipe.app.src.etc.exception.NotFoundNoticeException; +import com.recipe.app.src.common.exception.BadWordException; +import com.recipe.app.src.notice.exception.NotFoundNoticeException; import com.recipe.app.src.fridge.exception.NotFoundFridgeException; import com.recipe.app.src.fridgeBasket.exception.NotFoundFridgeBasketException; import com.recipe.app.src.ingredient.exception.NotFoundIngredientCategoryException; diff --git a/src/main/java/com/recipe/app/src/config/JwtFilter.java b/src/main/java/com/recipe/app/src/common/config/JwtFilter.java similarity index 95% rename from src/main/java/com/recipe/app/src/config/JwtFilter.java rename to src/main/java/com/recipe/app/src/common/config/JwtFilter.java index 9172961e..adc314c6 100644 --- a/src/main/java/com/recipe/app/src/config/JwtFilter.java +++ b/src/main/java/com/recipe/app/src/common/config/JwtFilter.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.config; +package com.recipe.app.src.common.config; import com.recipe.app.src.common.utils.JwtUtil; import jakarta.servlet.FilterChain; @@ -29,6 +29,8 @@ public class JwtFilter extends GenericFilterBean { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + System.out.println(jwtUtil.createAccessToken(18L)); + String accessToken = jwtUtil.resolveAccessToken((HttpServletRequest) request); String requestURI = ((HttpServletRequest) request).getRequestURI(); diff --git a/src/main/java/com/recipe/app/src/config/RedisConfig.java b/src/main/java/com/recipe/app/src/common/config/RedisConfig.java similarity index 95% rename from src/main/java/com/recipe/app/src/config/RedisConfig.java rename to src/main/java/com/recipe/app/src/common/config/RedisConfig.java index 53d09cf9..3d6f5ad0 100644 --- a/src/main/java/com/recipe/app/src/config/RedisConfig.java +++ b/src/main/java/com/recipe/app/src/common/config/RedisConfig.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.config; +package com.recipe.app.src.common.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/recipe/app/src/config/SwaggerConfig.java b/src/main/java/com/recipe/app/src/common/config/SwaggerConfig.java similarity index 96% rename from src/main/java/com/recipe/app/src/config/SwaggerConfig.java rename to src/main/java/com/recipe/app/src/common/config/SwaggerConfig.java index ae071b16..57fd51ad 100644 --- a/src/main/java/com/recipe/app/src/config/SwaggerConfig.java +++ b/src/main/java/com/recipe/app/src/common/config/SwaggerConfig.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.config; +package com.recipe.app.src.common.config; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; diff --git a/src/main/java/com/recipe/app/src/config/WebSecurityConfig.java b/src/main/java/com/recipe/app/src/common/config/WebSecurityConfig.java similarity index 98% rename from src/main/java/com/recipe/app/src/config/WebSecurityConfig.java rename to src/main/java/com/recipe/app/src/common/config/WebSecurityConfig.java index d8a9e985..21b3ff1b 100644 --- a/src/main/java/com/recipe/app/src/config/WebSecurityConfig.java +++ b/src/main/java/com/recipe/app/src/common/config/WebSecurityConfig.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.config; +package com.recipe.app.src.common.config; import com.recipe.app.src.common.utils.JwtUtil; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/recipe/app/src/etc/exception/BadWordException.java b/src/main/java/com/recipe/app/src/common/exception/BadWordException.java similarity index 82% rename from src/main/java/com/recipe/app/src/etc/exception/BadWordException.java rename to src/main/java/com/recipe/app/src/common/exception/BadWordException.java index 3446b3bb..c52f287d 100644 --- a/src/main/java/com/recipe/app/src/etc/exception/BadWordException.java +++ b/src/main/java/com/recipe/app/src/common/exception/BadWordException.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.etc.exception; +package com.recipe.app.src.common.exception; public class BadWordException extends RuntimeException { diff --git a/src/main/java/com/recipe/app/src/common/utils/BadWordFiltering.java b/src/main/java/com/recipe/app/src/common/utils/BadWordFiltering.java index ff61d94b..bfedb159 100644 --- a/src/main/java/com/recipe/app/src/common/utils/BadWordFiltering.java +++ b/src/main/java/com/recipe/app/src/common/utils/BadWordFiltering.java @@ -1,6 +1,6 @@ package com.recipe.app.src.common.utils; -import com.recipe.app.src.etc.exception.BadWordException; +import com.recipe.app.src.common.exception.BadWordException; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Component; import org.springframework.util.FileCopyUtils; diff --git a/src/main/java/com/recipe/app/src/etc/api/DialogController.java b/src/main/java/com/recipe/app/src/dialog/api/DialogController.java similarity index 76% rename from src/main/java/com/recipe/app/src/etc/api/DialogController.java rename to src/main/java/com/recipe/app/src/dialog/api/DialogController.java index a57e2f55..66d371cc 100644 --- a/src/main/java/com/recipe/app/src/etc/api/DialogController.java +++ b/src/main/java/com/recipe/app/src/dialog/api/DialogController.java @@ -1,7 +1,7 @@ -package com.recipe.app.src.etc.api; +package com.recipe.app.src.dialog.api; -import com.recipe.app.src.etc.application.dto.DialogResponse; -import com.recipe.app.src.etc.application.DialogService; +import com.recipe.app.src.dialog.application.dto.DialogResponse; +import com.recipe.app.src.dialog.application.DialogService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/com/recipe/app/src/etc/application/DialogService.java b/src/main/java/com/recipe/app/src/dialog/application/DialogService.java similarity index 69% rename from src/main/java/com/recipe/app/src/etc/application/DialogService.java rename to src/main/java/com/recipe/app/src/dialog/application/DialogService.java index 5d71a12b..01ebefe5 100644 --- a/src/main/java/com/recipe/app/src/etc/application/DialogService.java +++ b/src/main/java/com/recipe/app/src/dialog/application/DialogService.java @@ -1,8 +1,8 @@ -package com.recipe.app.src.etc.application; +package com.recipe.app.src.dialog.application; -import com.recipe.app.src.etc.application.dto.DialogResponse; -import com.recipe.app.src.etc.exception.NotFoundNoticeException; -import com.recipe.app.src.etc.infra.DialogRepository; +import com.recipe.app.src.dialog.application.dto.DialogResponse; +import com.recipe.app.src.notice.exception.NotFoundNoticeException; +import com.recipe.app.src.dialog.infra.DialogRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/recipe/app/src/etc/application/dto/DialogResponse.java b/src/main/java/com/recipe/app/src/dialog/application/dto/DialogResponse.java similarity index 88% rename from src/main/java/com/recipe/app/src/etc/application/dto/DialogResponse.java rename to src/main/java/com/recipe/app/src/dialog/application/dto/DialogResponse.java index b9917700..fc6bdb9d 100644 --- a/src/main/java/com/recipe/app/src/etc/application/dto/DialogResponse.java +++ b/src/main/java/com/recipe/app/src/dialog/application/dto/DialogResponse.java @@ -1,6 +1,6 @@ -package com.recipe.app.src.etc.application.dto; +package com.recipe.app.src.dialog.application.dto; -import com.recipe.app.src.etc.domain.Dialog; +import com.recipe.app.src.dialog.domain.Dialog; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/com/recipe/app/src/etc/domain/Dialog.java b/src/main/java/com/recipe/app/src/dialog/domain/Dialog.java similarity index 95% rename from src/main/java/com/recipe/app/src/etc/domain/Dialog.java rename to src/main/java/com/recipe/app/src/dialog/domain/Dialog.java index 4eebb7fa..5f1e63fb 100644 --- a/src/main/java/com/recipe/app/src/etc/domain/Dialog.java +++ b/src/main/java/com/recipe/app/src/dialog/domain/Dialog.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.etc.domain; +package com.recipe.app.src.dialog.domain; import com.recipe.app.src.common.entity.BaseEntity; import jakarta.persistence.Column; diff --git a/src/main/java/com/recipe/app/src/etc/infra/DialogRepository.java b/src/main/java/com/recipe/app/src/dialog/infra/DialogRepository.java similarity index 76% rename from src/main/java/com/recipe/app/src/etc/infra/DialogRepository.java rename to src/main/java/com/recipe/app/src/dialog/infra/DialogRepository.java index 3a73211c..4ffd039c 100644 --- a/src/main/java/com/recipe/app/src/etc/infra/DialogRepository.java +++ b/src/main/java/com/recipe/app/src/dialog/infra/DialogRepository.java @@ -1,6 +1,6 @@ -package com.recipe.app.src.etc.infra; +package com.recipe.app.src.dialog.infra; -import com.recipe.app.src.etc.domain.Dialog; +import com.recipe.app.src.dialog.domain.Dialog; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/recipe/app/src/etc/infra/AppVersionCustomRepository.java b/src/main/java/com/recipe/app/src/etc/infra/AppVersionCustomRepository.java deleted file mode 100644 index 35d876cd..00000000 --- a/src/main/java/com/recipe/app/src/etc/infra/AppVersionCustomRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.recipe.app.src.etc.infra; - -import com.recipe.app.src.etc.domain.AppVersion; - -public interface AppVersionCustomRepository { - - AppVersion findRecentAppVersion(); -} diff --git a/src/main/java/com/recipe/app/src/file/FileController.java b/src/main/java/com/recipe/app/src/file/FileController.java new file mode 100644 index 00000000..6d83b3eb --- /dev/null +++ b/src/main/java/com/recipe/app/src/file/FileController.java @@ -0,0 +1,28 @@ +package com.recipe.app.src.file; + +import com.recipe.app.src.common.aop.LoginCheck; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; + +@RestController +@RequestMapping("/file") +public class FileController { + + private final S3FileService s3FileService; + + public FileController(S3FileService s3FileService) { + this.s3FileService = s3FileService; + } + + @PostMapping("/upload") + @LoginCheck + public String uploadFile(@RequestPart("file")MultipartFile file) throws IOException { + + return s3FileService.uploadFile(file); + } +} diff --git a/src/main/java/com/recipe/app/src/file/S3FileService.java b/src/main/java/com/recipe/app/src/file/S3FileService.java new file mode 100644 index 00000000..316c4e4c --- /dev/null +++ b/src/main/java/com/recipe/app/src/file/S3FileService.java @@ -0,0 +1,37 @@ +package com.recipe.app.src.file; + +import com.amazonaws.services.s3.AmazonS3; +import com.amazonaws.services.s3.model.ObjectMetadata; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.UUID; + +@Service +public class S3FileService { + + private final AmazonS3 s3Client; + + @Value("${cloud.aws.s3.bucket}") + private String bucketName; + + private String defaultS3Url = "https://s3.amazonaws.com/"; + + public S3FileService(AmazonS3 s3Client) { + this.s3Client = s3Client; + } + + public String uploadFile(MultipartFile file) throws IOException { + + String fileName = UUID.randomUUID().toString() + "-" + file.getOriginalFilename(); + ObjectMetadata objectMetadata = new ObjectMetadata(); + objectMetadata.setContentType(file.getContentType()); + objectMetadata.setContentLength(file.getSize()); + + s3Client.putObject(bucketName, fileName, file.getInputStream(), objectMetadata); + + return s3Client.getUrl(bucketName, fileName).toString(); + } +} diff --git a/src/main/java/com/recipe/app/src/etc/api/NoticeController.java b/src/main/java/com/recipe/app/src/notice/api/NoticeController.java similarity index 76% rename from src/main/java/com/recipe/app/src/etc/api/NoticeController.java rename to src/main/java/com/recipe/app/src/notice/api/NoticeController.java index 989b1659..26008938 100644 --- a/src/main/java/com/recipe/app/src/etc/api/NoticeController.java +++ b/src/main/java/com/recipe/app/src/notice/api/NoticeController.java @@ -1,7 +1,7 @@ -package com.recipe.app.src.etc.api; +package com.recipe.app.src.notice.api; -import com.recipe.app.src.etc.application.dto.NoticeResponse; -import com.recipe.app.src.etc.application.NoticeService; +import com.recipe.app.src.notice.application.dto.NoticeResponse; +import com.recipe.app.src.notice.application.NoticeService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/com/recipe/app/src/etc/application/NoticeService.java b/src/main/java/com/recipe/app/src/notice/application/NoticeService.java similarity index 70% rename from src/main/java/com/recipe/app/src/etc/application/NoticeService.java rename to src/main/java/com/recipe/app/src/notice/application/NoticeService.java index 18a03038..d9ea17f8 100644 --- a/src/main/java/com/recipe/app/src/etc/application/NoticeService.java +++ b/src/main/java/com/recipe/app/src/notice/application/NoticeService.java @@ -1,8 +1,8 @@ -package com.recipe.app.src.etc.application; +package com.recipe.app.src.notice.application; -import com.recipe.app.src.etc.application.dto.NoticeResponse; -import com.recipe.app.src.etc.exception.NotFoundNoticeException; -import com.recipe.app.src.etc.infra.NoticeRepository; +import com.recipe.app.src.notice.application.dto.NoticeResponse; +import com.recipe.app.src.notice.exception.NotFoundNoticeException; +import com.recipe.app.src.notice.infra.NoticeRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/recipe/app/src/etc/application/dto/NoticeResponse.java b/src/main/java/com/recipe/app/src/notice/application/dto/NoticeResponse.java similarity index 86% rename from src/main/java/com/recipe/app/src/etc/application/dto/NoticeResponse.java rename to src/main/java/com/recipe/app/src/notice/application/dto/NoticeResponse.java index ea9eb56d..3b4af0df 100644 --- a/src/main/java/com/recipe/app/src/etc/application/dto/NoticeResponse.java +++ b/src/main/java/com/recipe/app/src/notice/application/dto/NoticeResponse.java @@ -1,6 +1,6 @@ -package com.recipe.app.src.etc.application.dto; +package com.recipe.app.src.notice.application.dto; -import com.recipe.app.src.etc.domain.Notice; +import com.recipe.app.src.notice.domain.Notice; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/com/recipe/app/src/etc/domain/Notice.java b/src/main/java/com/recipe/app/src/notice/domain/Notice.java similarity index 95% rename from src/main/java/com/recipe/app/src/etc/domain/Notice.java rename to src/main/java/com/recipe/app/src/notice/domain/Notice.java index 8e1d92e4..1d106785 100644 --- a/src/main/java/com/recipe/app/src/etc/domain/Notice.java +++ b/src/main/java/com/recipe/app/src/notice/domain/Notice.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.etc.domain; +package com.recipe.app.src.notice.domain; import com.recipe.app.src.common.entity.BaseEntity; import jakarta.persistence.Column; diff --git a/src/main/java/com/recipe/app/src/etc/exception/NotFoundNoticeException.java b/src/main/java/com/recipe/app/src/notice/exception/NotFoundNoticeException.java similarity index 78% rename from src/main/java/com/recipe/app/src/etc/exception/NotFoundNoticeException.java rename to src/main/java/com/recipe/app/src/notice/exception/NotFoundNoticeException.java index 992abde3..e7b6740f 100644 --- a/src/main/java/com/recipe/app/src/etc/exception/NotFoundNoticeException.java +++ b/src/main/java/com/recipe/app/src/notice/exception/NotFoundNoticeException.java @@ -1,4 +1,4 @@ -package com.recipe.app.src.etc.exception; +package com.recipe.app.src.notice.exception; public class NotFoundNoticeException extends RuntimeException { diff --git a/src/main/java/com/recipe/app/src/etc/infra/NoticeRepository.java b/src/main/java/com/recipe/app/src/notice/infra/NoticeRepository.java similarity index 76% rename from src/main/java/com/recipe/app/src/etc/infra/NoticeRepository.java rename to src/main/java/com/recipe/app/src/notice/infra/NoticeRepository.java index 5411e18a..0f1749da 100644 --- a/src/main/java/com/recipe/app/src/etc/infra/NoticeRepository.java +++ b/src/main/java/com/recipe/app/src/notice/infra/NoticeRepository.java @@ -1,6 +1,6 @@ -package com.recipe.app.src.etc.infra; +package com.recipe.app.src.notice.infra; -import com.recipe.app.src.etc.domain.Notice; +import com.recipe.app.src.notice.domain.Notice; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/test/groovy/com/recipe/app/src/common/utils/BadWordFilteringTest.groovy b/src/test/groovy/com/recipe/app/src/common/utils/BadWordFilteringTest.groovy index f02cde7b..0b096301 100644 --- a/src/test/groovy/com/recipe/app/src/common/utils/BadWordFilteringTest.groovy +++ b/src/test/groovy/com/recipe/app/src/common/utils/BadWordFilteringTest.groovy @@ -1,6 +1,6 @@ package com.recipe.app.src.common.utils -import com.recipe.app.src.etc.exception.BadWordException +import com.recipe.app.src.common.exception.BadWordException import spock.lang.Specification class BadWordFilteringTest extends Specification {