package com.spring.domain.user.error;

import org.springframework.http.HttpStatus;

import com.spring.common.error.ErrorRule;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum UserRule implements ErrorRule {
    
    USER_NOT_FOUND(HttpStatus.NOT_FOUND, "사용자를 찾을 수 없습니다."),
    USER_UNAUTHORIZED(HttpStatus.UNAUTHORIZED, "사용자 인증에 실패 하였습니다."),
    USER_ID_CONFLICT(HttpStatus.CONFLICT, "중복된 아이디 입니다."),
    CURRENT_EMAIL_MISMATCH(HttpStatus.BAD_REQUEST, "이메일 정보가 일치하지 않습니다."),
    CURRENT_PASSWORD_MISMATCH(HttpStatus.BAD_REQUEST, "현재 비밀번호가 일치하지 않습니다."),
    NEW_PASSWORD_SAME_AS_CURRENT(HttpStatus.BAD_REQUEST, "새 비밀번호는 현재 비밀번호와 달라야 합니다.");

    private final HttpStatus status;
    private String message;

    UserRule(HttpStatus status, String message) {
        this.status = status;
        this.message = message;
    }

    public UserRule message(final String message) {
        this.message = message;
        return this;
    }

}
