import axios from 'axios'; const request = async (method, url, params = {}) => { try { let response; if (method === 'GET') { response = await axios.get(url, { params }); } else if (method === 'POST') { response = await axios.post(url, params); } return response.data; } catch (err) { console.error(`Error with ${method} request to ${url}`, err); return err.response; } }; const invoiceOutService = { getNegativeBases: async (params) => { return await request('GET', 'InvoiceOuts/negativeBases', params); }, getNegativeBasesCsv: async (params) => { return await request('GET', 'InvoiceOuts/negativeBasesCsv', params); }, getInvoiceDate: async (params) => { return await request('GET', 'InvoiceOuts/getInvoiceDate', params); }, getFindOne: async (params) => { return await request('GET', 'InvoiceOutConfigs/findOne', params); }, getCompanies: async (filter) => { return await request('GET', 'Companies', { filter }); }, getPrinters: async (filter) => { return await request('GET', 'Printers', { filter }); }, getClients: async (filter) => { return await request('GET', 'Clients', { filter }); }, getClientsToInvoice: async (params) => { return await request('POST', 'InvoiceOuts/clientsToInvoice', params); }, invoiceClient: async (params) => { return await request('POST', 'InvoiceOuts/invoiceClient', params); }, makePdfAndNotify: async (invoiceId, params) => { return await request('POST', `InvoiceOuts/${invoiceId}/makePdfAndNotify`, params); }, }; export default invoiceOutService;