package com.tsi.api.server.error;

import lombok.Getter;

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

@Getter
public enum TscSsipApiErrorCode {
    SUCCESS              (0,"요청성공"),
    UNREGISTERED_APITOKEN(1,"등록되지 않은 API TOKEN"),
    APITOKEN_EXPIRED     (2,"API TOKEN 유효기간 오류"),
    DENIED_IPADDR        (3,"접근불가 IP Address"),
    NOTFOUND_BROKER_INFO (4,"접속 가능한 브로커 정보가 없음"),
    NOTFOUND_URL         (5,"잘못된 URL 경로"),
    ERROR_INTERNAL_DATA  (6,"내부 데이터 오류"),
    NOT_AVAILABLE        (7,"현재 사용할수 없음"),       // useyn='N'
    PENDING_REGISTRATION (8,"등록 대기 중");             // Navi Device, 등록 대기중 useyn='Y', state='R'

    private final int code;
    private final String message;
    private static final Map<Integer, TscSsipApiErrorCode> map;

    TscSsipApiErrorCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    static {
        map = new HashMap<>();
        for (TscSsipApiErrorCode e : values())
            map.put(Integer.valueOf(e.code), e);
    }

    public static TscSsipApiErrorCode getValue(int code) {

        return map.get(Integer.valueOf(code));
    }
}
