package com.kospo.talk.config.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public enum ErrorCode {
    /*토큰 관련*/
    EXPIRE_TOKEN("30000", "토큰이 만료 되었습니다."),
    MALFORMED_JWT("30001", "JWT 문자열은 정확히 2개의 마침표 문자를 포함해야 합니다."),
    /*bad request*/
    BIND_ERROR("40001", "파라미터를 다시 확인해주세요."),
    /*존재 하지 않음*/
    NO_RESULT("44001", "존재하지 않는 데이터 입니다."),
    NO_ACCOUNT("44011", "아이디 또는 비밀번호를 다시 확인해주세요."),
    NO_MATCH_ACCOUNT("44012", "일치하는 사용자가 없습니다."),
    NO_TOKEN("44021", "헤더에 토큰이 없습니다."),
    NO_MATCH_TOKEN("44022", "일치 하지 않는 토큰입니다."),
    NO_SAME_IP("44030", "등록된 아이피와 일치 하지 않습니다. 다시 로그인 해주세요"),
    NO_SAME_DATA("44031", "사용자가 소유한 데이터가 아닙니다."),
    /*권한 관련*/
    AUTHENTICATION("43000", "사용자가 정보가 일치하지 않습니다."),
    AUTHENTICATION_NOT_SUPPORT("43001", "허용되지 않은 사용자입니다."),
    //500 INTERNAL SERVER ERROR
    INTERNAL_SERVER_ERROR("50000", "서버 에러입니다. 유지보수관리자에게 연락주세요!"),
    EXCEL_UPLOAD_ERROR("50001", "엑셀파일이 정상적이지 않습니다. 확인해주세요"),
    NO_SIGNAL("90000", "응답 코드가 없습니다."),
    NO_EXIST_TALK_START("10000", "톡 멤버에 존재 하지 않는 사용자는 톡방을 시작할수 없어요."),
    NO_EXIST_TALK_CLOSE("10001", "톡 멤버에 존재 하지 않는 사용자는 톡방을 종료할수 없어요."),
    /*파일오류*/
    INVALID_FILE("10000", "허용되지 않는 파일");
    private final String code;
    private final String message;
}
