import axios from 'axios'

/**
 * 계약관리 조회(페이징)
 * @property {string} params.page - 페이지
 * @property {string} params.row - 아이템갯수
 *
 */``
export async function getContractList(params = {}) {
  try {
        const result = await axios.get(`/api/cont/page`,params)
        return result.data
    } catch (e) {
        if (e.response) {
            if (e.response.status >= 500) {
                throw new Error('서버 오류가 발생했습니다.')
            } else if (e.response.status >= 400) {
                throw new Error('잘못된 요청입니다.')
            } else if (e.response._data && e.response._data.message) {
                throw new Error(e.response._data.message)
            }
        }
        throw new Error(e.message || '알 수 없는 오류')
    }
}

/**
 * 계약관리 저장
 * @param {object} params
 * @property {string} params.cateNm - 분야
 * @property {string} params.cateNm - 결제상태
 * @property {string} params.regNm - 담당자
 * @property {string} params.regSdat - 등록기간
 * @returns
 */
export async function saveContract(params = {}) {
    try {
        const result = await axios.post(`/api/cont`,params)
        return result
    } catch (e) {
        const serverError = e.response?.data;

        const message = typeof serverError?.body === 'string'
            ? serverError.body
            : 'Unknown error occurred';

        const error = new Error(message); // ✅ 반드시 string만 넣기! 아니면 객체가 문자열로 나옴
        error.code = serverError?.code;
        error.errTime = serverError?.errTime;
        throw error;
    }
}