diff --git a/src/main/java/com/klaroworks/runtime/exception/ErrorCode.java b/src/main/java/com/klaroworks/runtime/exception/ErrorCode.java new file mode 100644 index 0000000..850b044 --- /dev/null +++ b/src/main/java/com/klaroworks/runtime/exception/ErrorCode.java @@ -0,0 +1,26 @@ +package com.klaroworks.runtime.exception; + +import org.springframework.http.HttpStatus; + +public enum ErrorCode { + INTERNAL_SERVER_ERROR("COMMON_001", "내부 서버 오류가 발생했습니다.", HttpStatus.INTERNAL_SERVER_ERROR), + INVALID_REQUEST("COMMON_002", "잘못된 요청입니다.", HttpStatus.BAD_REQUEST), + ROLE_NOT_FOUND("ROLE_001", "요청한 역할을 찾을 수 없습니다.", HttpStatus.NOT_FOUND), + DUPLICATE_ROLE_NAME("ROLE_002", "이미 존재하는 역할 이름입니다.", HttpStatus.CONFLICT), + PERMISSION_NOT_FOUND("PERM_001", "요청한 권한을 찾을 수 없습니다.", HttpStatus.NOT_FOUND), + PERMISSION_DENIED("PERM_002", "해당 작업에 대한 권한이 없습니다.", HttpStatus.FORBIDDEN); + + private final String code; + private final String message; + private final HttpStatus httpStatus; + + ErrorCode(String code, String message, HttpStatus httpStatus) { + this.code = code; + this.message = message; + this.httpStatus = httpStatus; + } + + public String getCode() { return code; } + public String getMessage() { return message; } + public HttpStatus getHttpStatus() { return httpStatus; } +}