Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.recipe.app.src.appVersion.infra;

import com.recipe.app.src.appVersion.domain.AppVersion;

public interface AppVersionCustomRepository {

AppVersion findRecentAppVersion();
}
Original file line number Diff line number Diff line change
@@ -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<AppVersion, Long>, AppVersionCustomRepository {
Expand Down
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down
31 changes: 31 additions & 0 deletions src/main/java/com/recipe/app/src/common/config/AmazonS3Config.java
Original file line number Diff line number Diff line change
@@ -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();
}
}
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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();

Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.recipe.app.src.etc.exception;
package com.recipe.app.src.common.exception;

public class BadWordException extends RuntimeException {

Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down

This file was deleted.

28 changes: 28 additions & 0 deletions src/main/java/com/recipe/app/src/file/FileController.java
Original file line number Diff line number Diff line change
@@ -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);
}
}
37 changes: 37 additions & 0 deletions src/main/java/com/recipe/app/src/file/S3FileService.java
Original file line number Diff line number Diff line change
@@ -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();
}
}
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.recipe.app.src.etc.exception;
package com.recipe.app.src.notice.exception;

public class NotFoundNoticeException extends RuntimeException {

Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down
Loading