import axios from 'axios' // eslint-disable-next-line @typescript-eslint/no-explicit-any export const apiPost = async (url: string, payload: unknown): Promise => { try { const result = await axios.post(url, payload) if (result.status !== 200) { throw new Error('HTTP Status Error ' + result.status) } if (result.data.state === 'warning') { return { success: true, result: result.data.errors } } if (result.data.state !== 'success') { throw new Error(result.data.msg) } return { success: true, result } } catch (error) { return { success: false, result: error } } } // eslint-disable-next-line @typescript-eslint/no-explicit-any export const apiGet = async (url: string): Promise => { try { const result = await axios.get(url) if (result.status !== 200) { throw new Error('HTTP Status Error ' + result.status) } if (!['success', 'warning'].includes(result.data.state)) { throw new Error(result.data.msg) } return { success: true, result } } catch (error) { return { success: false, result: error } } }