export interface IApiResponseFormat {
  resultCode: string;
  resultMsg: string;
  data: any;
}

export interface IApiConstant {
  resultCode: string;
  resultMsg: string;
}

export const CLIENT_SUCCESS = { resultCode: 'S0000', resultMsg: '처리완료' };

// 내/외부공통에러코드
export const CLIENT_INTERNAL_SERVER_ERROR = {
  resultCode: 'E9999',
  resultMsg: '서버 내부 오류가 발생했습니다. 잠시 후 다시 시도해주세요. 문제가 계속되면 관리자에게 문의 바랍니다.'
};

/**
 * 각 기능에 따른 코드 앞에 두자리
 * 기본요청(00)
 * 계약정보(01)
 * 주문(02)
 * 분석(03)
 */

// 기본요청(00)
export const INVALID_AUTHORIZATION = { resultCode: 'E0001', resultMsg: 'Authorization 미입력' };
export const NOT_FOUND_CLIENT = { resultCode: 'E0002', resultMsg: 'Authorization 인증 실패' };
export const COMMON_INPUT_VALUE_ERROR = { resultCode: 'E0003', resultMsg: '입력값오류(#코드)' };
export const COMMON_INPUT_LENGTH_ERROR = { resultCode: 'E0004', resultMsg: '입력값길이오류(#코드,#제한Byte)' };

// 계약정보(01)
export const NOT_FOUND_CONTRACT = { resultCode: 'E0101', resultMsg: '해당 고객사의 계약 정보가 존재하지 않거나 유효하지 않습니다.' };
export const NOT_FOUND_CONTRACT_OPTION = { resultCode: 'E0102', resultMsg: '요청한 분석 옵션은 해당 고객사의 계약 옵션에 포함되지 않습니다.' };
export const CI_LIMIT_EXCEEDED = { resultCode: 'E0103', resultMsg: '이번 달 분석 가능 횟수를 초과하였습니다.' };

// 주문(02)
export const NOT_FOUND_ORDER = { resultCode: 'E0201', resultMsg: '해당 주문 정보가 존재하지 않거나 일치하는 주문이 없습니다.' };
export const ORDER_FAILED = { resultCode: 'E0202', resultMsg: '처리중 오류가 발생했습니다. 다시 시도해주세요.' };

// 분석(03) 
export const ANALYSIS_FAILED = { resultCode: 'E0301', resultMsg: '분석 처리 중 오류가 발생했습니다. 관리자에게 문의해주세요.' };
