Skip to content

Commit

Permalink
refactor: 디렉토리 구조 변경 (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
soomanbaek committed Aug 12, 2023
1 parent 19a7872 commit cb40b3f
Show file tree
Hide file tree
Showing 45 changed files with 140 additions and 144 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package blacktokkies.toquiz.activeinfo;
package blacktokkies.toquiz.domain.activeinfo;

import blacktokkies.toquiz.activeinfo.domain.ActiveInfo;
import blacktokkies.toquiz.domain.activeinfo.domain.ActiveInfo;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package blacktokkies.toquiz.activeinfo.domain;
package blacktokkies.toquiz.domain.activeinfo.domain;

import jakarta.persistence.Id;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Document(collection = "toquiz-member")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package blacktokkies.toquiz.activeinfo.domain;
package blacktokkies.toquiz.domain.activeinfo.domain;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package blacktokkies.toquiz.domain.answer.api;

public class AnswerApi {
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package blacktokkies.toquiz.answer.domain;
package blacktokkies.toquiz.domain.answer.domain;

import blacktokkies.toquiz.common.domain.BaseTime;
import blacktokkies.toquiz.question.domain.Question;
import blacktokkies.toquiz.global.common.domain.BaseTime;
import blacktokkies.toquiz.domain.question.domain.Question;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package blacktokkies.toquiz.auth;

import blacktokkies.toquiz.auth.dto.response.AuthenticateResponseDto;
import blacktokkies.toquiz.common.success.SuccessMessage;
import blacktokkies.toquiz.common.success.SuccessResponse;
import blacktokkies.toquiz.auth.dto.request.LoginRequestDto;
import blacktokkies.toquiz.auth.dto.request.SignUpRequestDto;
import blacktokkies.toquiz.helper.CookieService;
package blacktokkies.toquiz.domain.member.api;

import blacktokkies.toquiz.domain.member.dto.response.AuthenticateResponse;
import blacktokkies.toquiz.global.common.response.SuccessMessage;
import blacktokkies.toquiz.global.common.response.SuccessResponse;
import blacktokkies.toquiz.domain.member.dto.request.LoginRequest;
import blacktokkies.toquiz.domain.member.dto.request.SignUpRequest;
import blacktokkies.toquiz.domain.member.application.AuthService;
import blacktokkies.toquiz.global.util.auth.CookieService;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
Expand All @@ -15,20 +16,20 @@

@RestController
@RequiredArgsConstructor
public class AuthController {
public class AuthApi {
private final AuthService authService;
private final CookieService cookieService;
@PostMapping("/api/auth/signup")
ResponseEntity<SuccessMessage> signUp(@RequestBody @Valid SignUpRequestDto signUpRequestDto) {
authService.signUp(signUpRequestDto);
ResponseEntity<SuccessMessage> signUp(@RequestBody @Valid SignUpRequest signUpRequest) {
authService.signUp(signUpRequest);

return ResponseEntity.ok(SuccessMessage.SIGN_UP);
}

@PostMapping("/api/auth/login")
ResponseEntity<SuccessResponse<AuthenticateResponseDto>> login(@RequestBody @Valid LoginRequestDto loginRequestDto,
ResponseEntity<SuccessResponse<AuthenticateResponse>> login(@RequestBody @Valid LoginRequest loginRequest,
HttpServletResponse response) {
AuthenticateResponseDto loginResponse = authService.login(loginRequestDto);
AuthenticateResponse loginResponse = authService.login(loginRequest);

response.addCookie(cookieService.issueActiveInfoIdCookie(loginResponse.getEmail()));
response.addCookie(cookieService.issueRefreshTokenCookie(loginResponse.getEmail()));
Expand All @@ -47,8 +48,8 @@ ResponseEntity<SuccessMessage> logout(HttpServletResponse response){
}

@PostMapping ("/api/auth/refresh")
ResponseEntity<SuccessResponse<AuthenticateResponseDto>> refresh(@CookieValue(name = "refresh_token", required = false) String refreshToken, HttpServletResponse response){
AuthenticateResponseDto refreshResponse = authService.refresh(refreshToken);
ResponseEntity<SuccessResponse<AuthenticateResponse>> refresh(@CookieValue(name = "refresh_token", required = false) String refreshToken, HttpServletResponse response){
AuthenticateResponse refreshResponse = authService.refresh(refreshToken);

response.addCookie(cookieService.issueRefreshTokenCookie(refreshResponse.getEmail()));

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package blacktokkies.toquiz.domain.member.api;

public class MemberApi {
}
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
package blacktokkies.toquiz.auth;

import blacktokkies.toquiz.activeinfo.ActiveInfoRepository;
import blacktokkies.toquiz.activeinfo.domain.ActiveInfo;
import blacktokkies.toquiz.auth.dto.response.AuthenticateResponseDto;
import blacktokkies.toquiz.common.error.exception.RestApiException;
import blacktokkies.toquiz.helper.token.JwtService;
import blacktokkies.toquiz.helper.PasswordEncryptor;
import blacktokkies.toquiz.auth.dto.request.LoginRequestDto;
import blacktokkies.toquiz.helper.token.RefreshTokenService;
import blacktokkies.toquiz.member.MemberRepository;
import blacktokkies.toquiz.member.domain.Member;
import blacktokkies.toquiz.auth.dto.request.SignUpRequestDto;
package blacktokkies.toquiz.domain.member.application;

import blacktokkies.toquiz.domain.activeinfo.ActiveInfoRepository;
import blacktokkies.toquiz.domain.activeinfo.domain.ActiveInfo;
import blacktokkies.toquiz.domain.member.dto.response.AuthenticateResponse;
import blacktokkies.toquiz.global.common.error.RestApiException;
import blacktokkies.toquiz.domain.member.dto.request.LoginRequest;
import blacktokkies.toquiz.domain.member.dto.request.SignUpRequest;
import blacktokkies.toquiz.domain.member.dao.MemberRepository;
import blacktokkies.toquiz.domain.member.domain.Member;
import blacktokkies.toquiz.global.util.auth.JwtService;
import blacktokkies.toquiz.global.util.auth.PasswordEncryptor;
import blacktokkies.toquiz.global.util.auth.RefreshTokenService;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import static blacktokkies.toquiz.common.error.errorcode.AuthErrorCode.*;
import static blacktokkies.toquiz.domain.member.exception.MemberErrorCode.*;

@Service
@RequiredArgsConstructor
Expand All @@ -27,31 +27,31 @@ public class AuthService {
private final RefreshTokenService refreshTokenService;
private final JwtService jwtService;
@Transactional
public void signUp(SignUpRequestDto signUpRequestDto){
checkExistDuplicateEmail(signUpRequestDto.getEmail());
checkExistDuplicateNickname(signUpRequestDto.getNickname());
public void signUp(SignUpRequest signUpRequest){
checkExistDuplicateEmail(signUpRequest.getEmail());
checkExistDuplicateNickname(signUpRequest.getNickname());

ActiveInfo activeInfo = activeInfoRepository.save(new ActiveInfo());
Member member = signUpRequestDto.toMemberWith(activeInfo);
Member member = signUpRequest.toMemberWith(activeInfo);

memberRepository.save(member);
}

public AuthenticateResponseDto login(LoginRequestDto loginRequestDto){
Member member = getMemberByEmail(loginRequestDto.getEmail());
public AuthenticateResponse login(LoginRequest loginRequest){
Member member = getMemberByEmail(loginRequest.getEmail());

checkCorrectPassword(loginRequestDto.getPassword(), member.getPassword());
checkCorrectPassword(loginRequest.getPassword(), member.getPassword());
String accessToken = jwtService.generateAccessToken(member.getEmail());

return AuthenticateResponseDto.toDto(member, accessToken);
return AuthenticateResponse.toDto(member, accessToken);
}

public void logout(){
Member member = (Member) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
refreshTokenService.delete(member.getEmail());
}

public AuthenticateResponseDto refresh(String refreshToken) {
public AuthenticateResponse refresh(String refreshToken) {
checkExistRefreshToken(refreshToken);

String email = jwtService.getSubject(refreshToken);
Expand All @@ -61,7 +61,7 @@ public AuthenticateResponseDto refresh(String refreshToken) {

String accessToken = jwtService.generateAccessToken(email);

return AuthenticateResponseDto.toDto(member, accessToken);
return AuthenticateResponse.toDto(member, accessToken);
}

private Member getMemberByEmail(String email) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package blacktokkies.toquiz.member;
package blacktokkies.toquiz.domain.member.dao;

import blacktokkies.toquiz.member.domain.Member;
import blacktokkies.toquiz.domain.member.domain.Member;
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,7 @@
package blacktokkies.toquiz.member.domain;
package blacktokkies.toquiz.domain.member.domain;

import blacktokkies.toquiz.common.domain.BaseTime;
import blacktokkies.toquiz.global.common.domain.BaseTime;
import blacktokkies.toquiz.domain.model.Provider;
import jakarta.persistence.*;
import lombok.*;
import org.springframework.security.core.GrantedAuthority;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package blacktokkies.toquiz.auth.dto.request;
package blacktokkies.toquiz.domain.member.dto.request;

import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
Expand All @@ -7,12 +7,12 @@
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import static blacktokkies.toquiz.common.validation.ValidationErrorMessage.*;
import static blacktokkies.toquiz.common.validation.ValidationFormat.PASSWORD_FORMAT;
import static blacktokkies.toquiz.global.common.validation.ValidationErrorMessage.*;
import static blacktokkies.toquiz.global.common.validation.ValidationFormat.PASSWORD_FORMAT;

@Getter
@NoArgsConstructor
public class LoginRequestDto {
public class LoginRequest {
@NotBlank(message = EMAIL_EMPTY_MESSAGE)
@Email(message = EMAIL_FORMAT_MESSAGE)
private String email;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
package blacktokkies.toquiz.auth.dto.request;
package blacktokkies.toquiz.domain.member.dto.request;

import blacktokkies.toquiz.activeinfo.domain.ActiveInfo;
import blacktokkies.toquiz.member.domain.Member;
import blacktokkies.toquiz.member.domain.Provider;
import blacktokkies.toquiz.domain.activeinfo.domain.ActiveInfo;
import blacktokkies.toquiz.domain.model.Provider;
import blacktokkies.toquiz.domain.member.domain.Member;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import static blacktokkies.toquiz.common.validation.ValidationErrorMessage.*;
import static blacktokkies.toquiz.common.validation.ValidationFormat.PASSWORD_FORMAT;
import static blacktokkies.toquiz.helper.PasswordEncryptor.encryptPassword;
import static blacktokkies.toquiz.global.common.validation.ValidationErrorMessage.*;
import static blacktokkies.toquiz.global.common.validation.ValidationFormat.PASSWORD_FORMAT;
import static blacktokkies.toquiz.global.util.auth.PasswordEncryptor.encryptPassword;

@Getter
@NoArgsConstructor
public class SignUpRequestDto {
public class SignUpRequest {
@NotBlank(message = EMAIL_EMPTY_MESSAGE)
@Email(message = EMAIL_FORMAT_MESSAGE)
private String email;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package blacktokkies.toquiz.auth.dto.response;
package blacktokkies.toquiz.domain.member.dto.response;

import blacktokkies.toquiz.member.domain.Member;
import blacktokkies.toquiz.domain.member.domain.Member;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
Expand All @@ -12,14 +12,14 @@
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AuthenticateResponseDto {
public class AuthenticateResponse {
private String email;
private String nickname;
private LocalDateTime createdAt;
private String accessToken;

public static AuthenticateResponseDto toDto(Member member, String accessToken){
return AuthenticateResponseDto.builder()
public static AuthenticateResponse toDto(Member member, String accessToken){
return AuthenticateResponse.builder()
.email(member.getEmail())
.nickname(member.getNickname())
.createdAt(member.getCreatedDate())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package blacktokkies.toquiz.common.error.errorcode;
package blacktokkies.toquiz.domain.member.exception;

import blacktokkies.toquiz.global.common.error.errorcode.ErrorCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;

@Getter
@RequiredArgsConstructor
public enum AuthErrorCode implements ErrorCode {
public enum MemberErrorCode implements ErrorCode {
DUPLICATE_EMAIL(HttpStatus.BAD_REQUEST, "이미 존재하는 email 입니다."),
DUPLICATE_NICKNAME(HttpStatus.BAD_REQUEST, "이미 존재하는 nickname 입니다."),
INVALID_PASSWORD(HttpStatus.BAD_REQUEST, "비밀번호가 일치하지 않습니다."),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package blacktokkies.toquiz.member.domain;
package blacktokkies.toquiz.domain.model;

public enum Provider {
LOCAL, KAKAO, GOOGLE
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package blacktokkies.toquiz.domain.panel.api;

public class PanelApi {

}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package blacktokkies.toquiz.panel.domain;
package blacktokkies.toquiz.domain.panel.domain;

import blacktokkies.toquiz.common.domain.BaseTime;
import blacktokkies.toquiz.member.domain.Member;
import blacktokkies.toquiz.global.common.domain.BaseTime;
import blacktokkies.toquiz.domain.member.domain.Member;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package blacktokkies.toquiz.domain.question.api;

public class QuestionApi {
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package blacktokkies.toquiz.question.domain;
package blacktokkies.toquiz.domain.question.domain;

import blacktokkies.toquiz.common.domain.BaseTime;
import blacktokkies.toquiz.panel.domain.Panel;
import blacktokkies.toquiz.global.common.domain.BaseTime;
import blacktokkies.toquiz.domain.panel.domain.Panel;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;

@Entity
@Getter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package blacktokkies.toquiz.common.domain;
package blacktokkies.toquiz.global.common.domain;

import jakarta.persistence.Column;
import jakarta.persistence.EntityListeners;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package blacktokkies.toquiz.common.error.handler;
package blacktokkies.toquiz.global.common.error;

import blacktokkies.toquiz.common.error.errorcode.CommonErrorCode;
import blacktokkies.toquiz.common.error.errorcode.ErrorCode;
import blacktokkies.toquiz.common.error.exception.RestApiException;
import blacktokkies.toquiz.common.error.response.ErrorResponse;
import blacktokkies.toquiz.global.common.error.errorcode.CommonErrorCode;
import blacktokkies.toquiz.global.common.error.errorcode.ErrorCode;
import blacktokkies.toquiz.global.common.response.ErrorResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatusCode;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package blacktokkies.toquiz.common.error.exception;
package blacktokkies.toquiz.global.common.error;

import blacktokkies.toquiz.common.error.errorcode.ErrorCode;
import blacktokkies.toquiz.global.common.error.errorcode.ErrorCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package blacktokkies.toquiz.common.error.errorcode;
package blacktokkies.toquiz.global.common.error.errorcode;

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

0 comments on commit cb40b3f

Please sign in to comment.