mirror of
https://github.com/crocofied/CoreControl.git
synced 2025-12-29 16:14:43 +00:00
Network & Edit mode
This commit is contained in:
30
hooks/useNetworks.ts
Normal file
30
hooks/useNetworks.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { useState, useEffect, useCallback } from "react";
|
||||
import axios from "axios";
|
||||
|
||||
interface AddNetwork {
|
||||
siteId: number;
|
||||
name: string;
|
||||
ipv4Subnet: string;
|
||||
ipv6Subnet: string;
|
||||
gateway: string;
|
||||
}
|
||||
|
||||
const useNetworks = () => {
|
||||
|
||||
const addNetwork = (network: AddNetwork) => {
|
||||
axios.post('/api/sites/networks/add', network);
|
||||
};
|
||||
|
||||
const deleteNetwork = (networkId: number) => {
|
||||
axios.delete('/api/sites/networks/delete', {
|
||||
params: { networkId }
|
||||
});
|
||||
};
|
||||
|
||||
return {
|
||||
addNetwork,
|
||||
deleteNetwork,
|
||||
};
|
||||
};
|
||||
|
||||
export default useNetworks;
|
||||
@@ -1,11 +1,19 @@
|
||||
import { useState, useEffect, useCallback } from "react";
|
||||
import axios from "axios";
|
||||
|
||||
interface Network {
|
||||
id?: number;
|
||||
name: string;
|
||||
ipv4Subnet?: string;
|
||||
ipv6Subnet?: string;
|
||||
gateway?: string;
|
||||
}
|
||||
|
||||
interface Site {
|
||||
id: number;
|
||||
name: string;
|
||||
description: string;
|
||||
networks: string[];
|
||||
networks: Network[];
|
||||
}
|
||||
|
||||
const useSite = () => {
|
||||
|
||||
Reference in New Issue
Block a user