116 lines
3.4 KiB
TypeScript
116 lines
3.4 KiB
TypeScript
import { ipcMain } from "electron";
|
|
import {
|
|
deleteProxyById,
|
|
getProxyById,
|
|
insertProxy,
|
|
listProxy,
|
|
updateProxyById,
|
|
updateProxyStatus
|
|
} from "../storage/proxy";
|
|
import { reloadFrpcProcess } from "./frpc";
|
|
import { logError, logInfo, LogModule, logWarn } from "../utils/log";
|
|
export const initProxyApi = () => {
|
|
ipcMain.on("proxy.getProxys", async (event, args) => {
|
|
logInfo(LogModule.APP, "Requesting to get proxies.");
|
|
listProxy((err, documents) => {
|
|
if (err) {
|
|
logError(LogModule.APP, `Error retrieving proxies: ${err.message}`);
|
|
} else {
|
|
logInfo(LogModule.APP, "Proxies retrieved successfully.");
|
|
}
|
|
event.reply("Proxy.getProxys.hook", {
|
|
err: err,
|
|
data: documents
|
|
});
|
|
});
|
|
});
|
|
|
|
ipcMain.on("proxy.insertProxy", async (event, args) => {
|
|
delete args["_id"];
|
|
logInfo(LogModule.APP, "Inserting a new proxy.");
|
|
insertProxy(args, (err, documents) => {
|
|
if (err) {
|
|
logError(LogModule.APP, `Error inserting proxy: ${err.message}`);
|
|
} else {
|
|
logInfo(LogModule.APP, "Proxy inserted successfully.");
|
|
reloadFrpcProcess();
|
|
}
|
|
event.reply("Proxy.insertProxy.hook", {
|
|
err: err,
|
|
data: documents
|
|
});
|
|
});
|
|
});
|
|
|
|
ipcMain.on("proxy.deleteProxyById", async (event, args) => {
|
|
logInfo(LogModule.APP, `Deleting proxy with ID: ${args._id}`);
|
|
deleteProxyById(args, (err, documents) => {
|
|
if (err) {
|
|
logError(LogModule.APP, `Error deleting proxy: ${err.message}`);
|
|
} else {
|
|
logInfo(LogModule.APP, "Proxy deleted successfully.");
|
|
reloadFrpcProcess();
|
|
}
|
|
event.reply("Proxy.deleteProxyById.hook", {
|
|
err: err,
|
|
data: documents
|
|
});
|
|
});
|
|
});
|
|
|
|
ipcMain.on("proxy.getProxyById", async (event, args) => {
|
|
logInfo(LogModule.APP, `Requesting proxy with ID: ${args._id}`);
|
|
getProxyById(args, (err, documents) => {
|
|
if (err) {
|
|
logError(LogModule.APP, `Error retrieving proxy: ${err.message}`);
|
|
} else {
|
|
logInfo(LogModule.APP, "Proxy retrieved successfully.");
|
|
}
|
|
event.reply("Proxy.getProxyById.hook", {
|
|
err: err,
|
|
data: documents
|
|
});
|
|
});
|
|
});
|
|
|
|
ipcMain.on("proxy.updateProxy", async (event, args) => {
|
|
if (!args._id) {
|
|
logWarn(LogModule.APP, "No proxy ID provided for update.");
|
|
return;
|
|
}
|
|
logInfo(LogModule.APP, `Updating proxy with ID: ${args._id}`);
|
|
updateProxyById(args, (err, documents) => {
|
|
if (err) {
|
|
logError(LogModule.APP, `Error updating proxy: ${err.message}`);
|
|
} else {
|
|
logInfo(LogModule.APP, "Proxy updated successfully.");
|
|
reloadFrpcProcess();
|
|
}
|
|
event.reply("Proxy.updateProxy.hook", {
|
|
err: err,
|
|
data: documents
|
|
});
|
|
});
|
|
});
|
|
|
|
ipcMain.on("proxy.updateProxyStatus", async (event, args) => {
|
|
logInfo(LogModule.APP, `Updating status for proxy ID: ${args._id}`);
|
|
if (!args._id) {
|
|
logWarn(LogModule.APP, "No proxy ID provided for status update.");
|
|
return;
|
|
}
|
|
updateProxyStatus(args._id, args.status, (err, documents) => {
|
|
if (err) {
|
|
logError(LogModule.APP, `Error updating proxy status: ${err.message}`);
|
|
} else {
|
|
logInfo(LogModule.APP, "Proxy status updated successfully.");
|
|
reloadFrpcProcess();
|
|
}
|
|
event.reply("Proxy.updateProxyStatus.hook", {
|
|
err: err,
|
|
data: documents
|
|
});
|
|
});
|
|
});
|
|
};
|