import axios from 'axios'

/**
 * fake 전자결재 결재완료 상태 변경
 * @property {string} params.contNo - 계약번호
 * @returns
 * @param contNo
 */
export async function changeConfirm(contNo: string) {
    try {
        const result = await axios.post(`/api/sign/confirm/${contNo}`)
        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;
    }
}

/**
 * fake 전자결재 회수 상태 변경
 * @property {string} params.contNo - 계약번호
 * @returns
 * @param contNo
 */
export async function changeRecovery(contNo: string) {
    try {
        const result = await axios.post(`/api/sign/recovery/${contNo}`)
        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;
    }
}

/**
 * fake 전자결재 반려 상태 변경
 * @property {string} params.contNo - 계약번호
 * @returns
 * @returns
 */
export async function changeReturn(contNo: string) {
    try {
        const result = await axios.post(`/api/sign/recovery/${contNo}`)
        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;
    }
}

/**
 * 전자결재 결재완료 상태 변경
 * @param {object} params
 * @property {string} params.contNo - 계약번호
 * @returns
 */
export async function signStart(contNo) {
    try {
        const result = await axios.post(`/api/sign/start/${contNo}`)
        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;
    }
}

