import axios from "axios"; import { Network } from "@/app/types"; const useNetworks = () => { const addNetwork = (network: Network): Promise | string => { if (!network.name) { return 'Network name is required'; } return axios.post('/api/sites/networks/add', network) .then(() => { return "Network added successfully"; }) .catch(err => { throw err.response?.data?.error || 'An error occurred'; }); }; const editNetwork = (network: Network): Promise | string => { if (!network.id) { return 'Network ID is required'; } if(network.name.length < 1) { return 'Network name must be at least 1 character long'; } return axios.post('/api/sites/networks/edit', network) .then(() => { return "Network edited successfully"; }) .catch(err => { throw err.response?.data?.error || 'An error occurred'; }); }; const deleteNetwork = (networkId: string): Promise | string => { if (!networkId) { return 'Network ID is required'; } return axios.delete('/api/sites/networks/delete', { params: { networkId } }) .then(() => { return "Network deleted successfully"; }) .catch(err => { throw err.response?.data?.error || 'An error occurred'; }); }; return { addNetwork, editNetwork, deleteNetwork, }; }; export default useNetworks;