restructure frontend and add network settings
All checks were successful
Build and Deploy MITM Webserver / build (push) Successful in 1m41s
All checks were successful
Build and Deploy MITM Webserver / build (push) Successful in 1m41s
This commit is contained in:
55
frontend/src/api/apiClient.ts
Normal file
55
frontend/src/api/apiClient.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
// src/apiClient.ts
|
||||
import axios from "axios";
|
||||
import {
|
||||
BridgeCreateRequest,
|
||||
BridgeInfo,
|
||||
BridgeRemoveRequest,
|
||||
FullState,
|
||||
InterfaceInfo,
|
||||
RouteInfo,
|
||||
} from "../types/network";
|
||||
|
||||
const BASE = "http://mitm.lan/api";
|
||||
|
||||
export const api = axios.create({
|
||||
baseURL: BASE,
|
||||
headers: { "Content-Type": "application/json" },
|
||||
timeout: 10000,
|
||||
});
|
||||
|
||||
// Queries
|
||||
export const fetchInterfaces = async (): Promise<InterfaceInfo[]> => {
|
||||
const res = await api.get<InterfaceInfo[]>("/network/interfaces");
|
||||
return res.data;
|
||||
};
|
||||
|
||||
export const fetchLinks = async (): Promise<InterfaceInfo[]> => {
|
||||
const res = await api.get<InterfaceInfo[]>("/network/links");
|
||||
return res.data;
|
||||
};
|
||||
|
||||
export const fetchRoutes = async (): Promise<RouteInfo[]> => {
|
||||
const res = await api.get<RouteInfo[]>("/network/routes");
|
||||
return res.data;
|
||||
};
|
||||
|
||||
export const fetchBridges = async (): Promise<BridgeInfo[]> => {
|
||||
const res = await api.get<BridgeInfo[]>("/network/bridges");
|
||||
return res.data;
|
||||
};
|
||||
|
||||
export const fetchFullState = async (): Promise<FullState> => {
|
||||
const res = await api.get<FullState>("/network/full-state");
|
||||
return res.data;
|
||||
};
|
||||
|
||||
// Mutations
|
||||
export const createBridge = async (req: BridgeCreateRequest) => {
|
||||
const res = await api.post("network/bridge/create", req);
|
||||
return res.data;
|
||||
};
|
||||
|
||||
export const removeBridge = async (req: BridgeRemoveRequest) => {
|
||||
const res = await api.post("network/bridge/remove", req);
|
||||
return res.data;
|
||||
};
|
||||
Reference in New Issue
Block a user