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
1 change: 0 additions & 1 deletion application.pid

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,53 +14,29 @@ public enum ErrorCode {
NOT_FOUND(404, "G004", "데이터가 존재하지 않습니다."),
UNSUPPORTED_MEDIA_TYPE(415, "G005", "지원되지 않는 형식입니다."),

// Basic

// Member
MEMBER_NOT_FOUND(400, "M001", "존재 하지 않는 유저입니다."),
AUTHORITY_INVALID(403, "M002", "권한이 없습니다."),

// Auth (ExceptionHandler 불필요)
/** The value of one or more redirection URIs is unauthorized. */
/**
* The value of one or more redirection URIs is unauthorized.
*/
UNAUTHORIZED_REDIRECT_URI(401, "A001", "유효하지 않은 redirect_uri 입니다."),
/** 지원하지 않는 소셜로그인 */
/**
* 지원하지 않는 소셜로그인
*/
UNSUPPORTED_OAUTH2_PROVIDER(401, "A002", "지원하지 않는 소셜로그인입니다."),
/** 인증에 필수적인 정보가 OAuth provider 로부터 전달되지 않았음. 사용자가 개인정보 제공에 비동의했거나, 제대로 계정 정보를 설정하지 않은 경우 발생 */
/**
* 인증에 필수적인 정보가 OAuth provider 로부터 전달되지 않았음. 사용자가 개인정보 제공에 비동의했거나, 제대로 계정 정보를 설정하지 않은 경우 발생
*/
INVALID_OAUTH2_INFO(401, "A003", "잘못된 OAuth 정보입니다."),

/**
* request 에 담긴 토큰정보를 사용해 기존 사용자 정보를 조회하였으나, 존재하지 않는 경우 발생. 또는 최초 소셜로그인 시도하였으나 가입한 회원이 아니라면 해당 오류
* 발생
*
* @see com.inhabas.api.auth.domain.token.securityFilter;
*/
SOCIAL_NOT_FOUND(401, "A004", "기존 회원이 아니거나 회원가입 되지 않은 회원입니다."),
JWT_INVALID(401, "A005", "유효하지 않은 토큰입니다."),
JWT_EXPIRED(401, "A006", "만료된 토큰입니다."),
JWT_MISSING(401, "A007", "토큰이 존재하지 않습니다."),
EXPIRED_REFRESH_TOKEN(401, "A008", "만료된 REFRESH 토큰입니다. 재로그인 해주십시오."),

// SignUp
SIGNUP_NOT_AVAILABLE(403, "S001", "회원가입 기간이 아닙니다."),
INVALID_SIGNUP_DATE(400, "S002", "등록 마감일이 시작일보다 앞설 수 없습니다."),
INVALID_INTERVIEW_DATE(400, "S003", "면접 마감일이 시작일보다 앞설 수 없습니다."),
INCOMPLETE_INTERVIEW_DATE(400, "S004", "면접 시작일과 종료일 중 하나만 설정되어 있습니다."),
INVALID_ANNOUNCE_DATE(400, "S005", "결과 발표일이 면접 마감일 또는 모집 마감일보다 앞설 수 없습니다."),
NOT_WRITE_PROFILE(400, "S006", "아직 회원 프로필을 생성하지 않아서 회원가입을 마무리 할 수 없습니다."),
NOT_WRITE_ANSWERS(400, "S007", "아직 면접 질문을 작성하지 않아서 회원가입을 마무리 할 수 없습니다."),

// Board
WRITER_UNMODIFIABLE(403, "B001", "글 작성자를 변경 할 수 없습니다."),
ONLY_WRITER_UPDATE(403, "B002", "글 작성자만 수정 가능합니다."),

// File
S3_UPLOAD_FAILED(500, "F001", "파일 업로드를 실패했습니다."),
INVALID_FILE_EXTENSION(400, "F002", "유효하지 않은 파일 확장자입니다."),
INVALID_FILE_SIZE(413, "F003", "파일 크기가 최대 허용 한도를 초과했습니다."),

// Budget
STATUS_NOT_FOLLOW_PROCEDURES(400, "S001", "이전 진행 상태로 되돌리거나 진행 순서를 건너뛸 수 없습니다."),
INVALID_INCOME_OR_OUTCOME(400, "S002", "입금, 출금은 동시에 입력받을 수 없습니다."),
IN_PROCESS_UNMODIFIABLE(403, "S003", "처리 진행 중인 지원서는 수정, 삭제할 수 없습니다.");
EXPIRED_REFRESH_TOKEN(401, "A008", "만료된 REFRESH 토큰입니다. 재로그인 해주십시오.");

private final int status;
private final String code;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.spoti.api.auth.domain.error.authException;

import com.spoti.api.auth.domain.error.ErrorCode;

public class InvalidOAuth2InfoException extends CustomAuthException {

public InvalidOAuth2InfoException() {
super(ErrorCode.INVALID_OAUTH2_INFO);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.spoti.api.auth.domain.error.businessException;

import com.spoti.api.auth.domain.error.ErrorCode;

import lombok.Getter;

/**
* 부모클래스이자 custonException 클래스
* Service에서 비즈니스를 처리하기 위한 로직이 구현된 부분
**/
@Getter
public class BusinessException extends RuntimeException
{
private final ErrorCode errorCode;

public BusinessException(String message, ErrorCode errorCode) {
super(message);
this.errorCode = errorCode;
}
public BusinessException(ErrorCode errorCode) {
super(errorCode.getMessage()); // errorcode 에러 메시지를 반환
this.errorCode = errorCode;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.spoti.api.auth.domain.error.businessException;

import com.spoti.api.auth.domain.error.ErrorCode;

public class InternalServerException extends BusinessException {

public InternalServerException() {
super(ErrorCode.INTERNAL_SERVER_ERROR);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.spoti.api.auth.domain.error.businessException;

import com.spoti.api.auth.domain.error.ErrorCode;

public class InvalidInputException extends BusinessException {
public InvalidInputException() {
super(ErrorCode.INVALID_INPUT_VALUE);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.spoti.api.auth.domain.error.businessException;

import com.spoti.api.auth.domain.error.ErrorCode;

public class NotFoundException extends BusinessException {
public NotFoundException() { super(ErrorCode.NOT_FOUND); }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.spoti.api.auth.domain.token.exception;

import com.spoti.api.auth.domain.error.ErrorCode;
import com.spoti.api.auth.domain.error.authException.CustomAuthException;

public class TokenMissingException extends CustomAuthException {

//LoginMemberArgumentResolver에서 사용 구현해야함
public TokenMissingException() {
super(ErrorCode.JWT_MISSING);
}
}