Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

패키지 구조 개선 및 리팩토링 예시 코드 작성 #527

Open
wants to merge 2 commits into
base: develop-backend
Choose a base branch
from
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import mouda.backend.darakbangmember.domain.DarakbangMember;
import mouda.backend.member.domain.Member;
import mouda.backend.core.domain.darakbang.DarakbangMember;
import mouda.backend.core.domain.member.Member;

@Aspect
@Component
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.auth.Infrastructure;
package mouda.backend.api.auth.Infrastructure;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
Expand All @@ -11,9 +11,9 @@
import org.springframework.web.client.ResourceAccessException;
import org.springframework.web.client.RestClient;

import mouda.backend.auth.presentation.response.OauthResponse;
import mouda.backend.auth.exception.AuthErrorMessage;
import mouda.backend.auth.exception.AuthException;
import mouda.backend.api.auth.exception.AuthErrorMessage;
import mouda.backend.api.auth.exception.AuthException;
import mouda.backend.core.dto.auth.response.OauthResponse;

@Component
public class KakaoOauthClient {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
package mouda.backend.auth.business;
package mouda.backend.api.auth.business;

import java.util.Map;

import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;

import lombok.RequiredArgsConstructor;
import mouda.backend.auth.Infrastructure.KakaoOauthClient;
import mouda.backend.auth.exception.AuthErrorMessage;
import mouda.backend.auth.exception.AuthException;
import mouda.backend.auth.presentation.request.OauthRequest;
import mouda.backend.auth.presentation.response.LoginResponse;
import mouda.backend.auth.util.JwtProvider;
import mouda.backend.auth.util.TokenDecoder;
import mouda.backend.darakbang.infrastructure.DarakbangRepository;
import mouda.backend.darakbangmember.domain.DarakbangMember;
import mouda.backend.darakbangmember.infrastructure.DarakbangMemberRepository;
import mouda.backend.member.domain.Member;
import mouda.backend.member.infrastructure.MemberRepository;
import mouda.backend.api.auth.Infrastructure.KakaoOauthClient;
import mouda.backend.api.auth.exception.AuthErrorMessage;
import mouda.backend.api.auth.exception.AuthException;
import mouda.backend.core.dto.auth.request.OauthRequest;
import mouda.backend.core.dto.auth.response.LoginResponse;
import mouda.backend.api.auth.util.JwtProvider;
import mouda.backend.api.auth.util.TokenDecoder;
import mouda.backend.api.darakbang.infrastructure.DarakbangRepository;
import mouda.backend.core.domain.darakbang.DarakbangMember;
import mouda.backend.api.darakbangmember.infrastructure.DarakbangMemberRepository;
import mouda.backend.core.domain.member.Member;
import mouda.backend.api.member.infrastructure.MemberRepository;

@Service
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.auth.exception;
package mouda.backend.api.auth.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package mouda.backend.api.auth.exception;

import org.springframework.http.HttpStatus;

import mouda.backend.api.common.exception.MoudaException;

public class AuthException extends MoudaException {

public AuthException(HttpStatus httpStatus, AuthErrorMessage authErrorMessage) {
super(httpStatus, authErrorMessage.getMessage());
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.auth.presentation.controller;
package mouda.backend.api.auth.presentation.controller;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
Expand All @@ -7,11 +7,11 @@
import org.springframework.web.bind.annotation.RestController;

import lombok.RequiredArgsConstructor;
import mouda.backend.auth.business.AuthService;
import mouda.backend.auth.presentation.controller.swagger.AuthSwagger;
import mouda.backend.auth.presentation.request.OauthRequest;
import mouda.backend.auth.presentation.response.LoginResponse;
import mouda.backend.common.response.RestResponse;
import mouda.backend.api.auth.business.AuthService;
import mouda.backend.api.auth.presentation.controller.swagger.AuthSwagger;
import mouda.backend.core.dto.auth.request.OauthRequest;
import mouda.backend.core.dto.auth.response.LoginResponse;
import mouda.backend.api.common.response.RestResponse;

@RestController
@RequestMapping("/v1/auth")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package mouda.backend.auth.presentation.controller.swagger;
package mouda.backend.api.auth.presentation.controller.swagger;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import mouda.backend.auth.presentation.request.OauthRequest;
import mouda.backend.auth.presentation.response.LoginResponse;
import mouda.backend.common.response.RestResponse;
import mouda.backend.core.dto.auth.request.OauthRequest;
import mouda.backend.core.dto.auth.response.LoginResponse;
import mouda.backend.api.common.response.RestResponse;

public interface AuthSwagger {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.auth.util;
package mouda.backend.api.auth.util;

import java.util.Date;

Expand All @@ -10,9 +10,9 @@
import io.jsonwebtoken.JwtException;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import mouda.backend.auth.exception.AuthErrorMessage;
import mouda.backend.auth.exception.AuthException;
import mouda.backend.member.domain.Member;
import mouda.backend.api.auth.exception.AuthErrorMessage;
import mouda.backend.api.auth.exception.AuthException;
import mouda.backend.core.domain.member.Member;

@Component
public class JwtProvider {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.auth.util;
package mouda.backend.api.auth.util;

import java.util.Base64;
import java.util.Map;
Expand All @@ -7,11 +7,11 @@

import com.fasterxml.jackson.databind.ObjectMapper;

import mouda.backend.auth.exception.AuthErrorMessage;
import mouda.backend.auth.exception.AuthException;
import mouda.backend.api.auth.exception.AuthErrorMessage;
import mouda.backend.api.auth.exception.AuthException;

public class TokenDecoder {

public static Map<String, String> parseKakaoToken(String kakaoIdToken) {
try {
String[] parts = kakaoIdToken.split("\\.");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config;
package mouda.backend.api.common.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config;
package mouda.backend.api.common.config;

import java.io.InputStream;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config;
package mouda.backend.api.common.config;

import java.time.LocalDate;
import java.time.LocalTime;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config;
package mouda.backend.api.common.config;

import java.io.IOException;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config;
package mouda.backend.api.common.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config;
package mouda.backend.api.common.config;

import org.springdoc.core.utils.SpringDocUtils;
import org.springframework.context.annotation.Bean;
Expand All @@ -8,8 +8,8 @@
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import mouda.backend.common.config.argumentresolver.LoginDarakbangMember;
import mouda.backend.common.config.argumentresolver.LoginMember;
import mouda.backend.api.common.config.argumentresolver.LoginDarakbangMember;
import mouda.backend.api.common.config.argumentresolver.LoginMember;

@Configuration
public class SwaggerConfig {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config;
package mouda.backend.api.common.config;

import java.util.List;

Expand All @@ -9,10 +9,10 @@
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import lombok.RequiredArgsConstructor;
import mouda.backend.common.config.argumentresolver.LoginDarakbangMemberArgumentResolver;
import mouda.backend.common.config.argumentresolver.LoginMemberArgumentResolver;
import mouda.backend.common.config.converter.FilterTypeConverter;
import mouda.backend.common.config.interceptor.AuthenticationCheckInterceptor;
import mouda.backend.api.common.config.argumentresolver.LoginDarakbangMemberArgumentResolver;
import mouda.backend.api.common.config.argumentresolver.LoginMemberArgumentResolver;
import mouda.backend.api.common.config.converter.FilterTypeConverter;
import mouda.backend.api.common.config.interceptor.AuthenticationCheckInterceptor;

@Configuration
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config.argumentresolver;
package mouda.backend.api.common.config.argumentresolver;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config.argumentresolver;
package mouda.backend.api.common.config.argumentresolver;

import java.util.Map;

Expand All @@ -12,8 +12,8 @@

import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import mouda.backend.auth.business.AuthService;
import mouda.backend.member.domain.Member;
import mouda.backend.api.auth.business.AuthService;
import mouda.backend.core.domain.member.Member;

@Component
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config.argumentresolver;
package mouda.backend.api.common.config.argumentresolver;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package mouda.backend.api.common.config.argumentresolver;

import org.springframework.core.MethodParameter;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.support.WebDataBinderFactory;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;

import lombok.RequiredArgsConstructor;
import mouda.backend.api.auth.business.AuthService;

@Component
@RequiredArgsConstructor
public class LoginMemberArgumentResolver implements HandlerMethodArgumentResolver {

private final AuthService authService;

@Override
public boolean supportsParameter(MethodParameter parameter) {
return parameter.hasParameterAnnotation(LoginMember.class);
}

@Override
public Object resolveArgument(
MethodParameter parameter, ModelAndViewContainer mavContainer,
NativeWebRequest webRequest, WebDataBinderFactory binderFactory
) throws Exception {
String authorizationHeader = webRequest.getHeader("Authorization");

String token = extractToken(authorizationHeader);
return authService.findMember(token);
}

private String extractToken(String authorizationHeader) {
return authorizationHeader.substring(7);
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package mouda.backend.common.config.converter;
package mouda.backend.api.common.config.converter;

import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import mouda.backend.moim.domain.FilterType;
import mouda.backend.core.domain.moim.FilterType;

@Component
public class FilterTypeConverter implements Converter<String, FilterType> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.config.interceptor;
package mouda.backend.api.common.config.interceptor;

import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
Expand All @@ -8,9 +8,9 @@
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import mouda.backend.auth.exception.AuthErrorMessage;
import mouda.backend.auth.exception.AuthException;
import mouda.backend.auth.business.AuthService;
import mouda.backend.api.auth.business.AuthService;
import mouda.backend.api.auth.exception.AuthErrorMessage;
import mouda.backend.api.auth.exception.AuthException;

@Component
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.exception;
package mouda.backend.api.common.exception;

public record ErrorResponse(
String message
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.exception;
package mouda.backend.api.common.exception;

import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatusCode;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.exception;
package mouda.backend.api.common.exception;

import org.springframework.http.HttpStatus;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package mouda.backend.common.response;
package mouda.backend.api.common.response;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Loading