frpc-desktop/electron/api/proxy.ts

83 lines
1.9 KiB
TypeScript
Raw Normal View History

2023-11-27 15:03:25 +08:00
import { ipcMain } from "electron";
import {
deleteProxyById,
getProxyById,
insertProxy,
listProxy,
2024-09-05 10:28:55 +08:00
updateProxyById,
updateProxyStatus
2023-11-27 15:03:25 +08:00
} from "../storage/proxy";
import { reloadFrpcProcess } from "./frpc";
export const initProxyApi = () => {
ipcMain.on("proxy.getProxys", async (event, args) => {
listProxy((err, documents) => {
event.reply("Proxy.getProxys.hook", {
err: err,
data: documents
});
});
});
ipcMain.on("proxy.insertProxy", async (event, args) => {
delete args["_id"];
insertProxy(args, (err, documents) => {
if (!err) {
2024-09-05 10:28:55 +08:00
reloadFrpcProcess();
2023-11-27 15:03:25 +08:00
}
event.reply("Proxy.insertProxy.hook", {
err: err,
data: documents
});
});
});
ipcMain.on("proxy.deleteProxyById", async (event, args) => {
deleteProxyById(args, (err, documents) => {
if (!err) {
2024-09-05 10:28:55 +08:00
reloadFrpcProcess();
2023-11-27 15:03:25 +08:00
}
event.reply("Proxy.deleteProxyById.hook", {
err: err,
data: documents
});
});
});
ipcMain.on("proxy.getProxyById", async (event, args) => {
getProxyById(args, (err, documents) => {
event.reply("Proxy.getProxyById.hook", {
err: err,
data: documents
});
});
});
ipcMain.on("proxy.updateProxy", async (event, args) => {
if (!args._id) return;
updateProxyById(args, (err, documents) => {
if (!err) {
2024-09-05 10:28:55 +08:00
reloadFrpcProcess();
2023-11-27 15:03:25 +08:00
}
event.reply("Proxy.updateProxy.hook", {
err: err,
data: documents
});
});
});
2024-09-02 23:26:55 +08:00
ipcMain.on("proxy.updateProxyStatus", async (event, args) => {
2024-09-05 10:28:55 +08:00
console.log("更新状态", args);
2024-09-02 23:26:55 +08:00
if (!args._id) return;
2024-09-05 10:28:55 +08:00
updateProxyStatus(args._id, args.status, (err, documents) => {
if (!err) {
reloadFrpcProcess();
}
event.reply("Proxy.updateProxyStatus.hook", {
err: err,
data: documents
});
});
2024-09-02 23:26:55 +08:00
});
2023-11-27 15:03:25 +08:00
};