You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
const { checkLogin } = require("../util-server");
|
|
const { Proxy } = require("../proxy");
|
|
const { sendProxyList } = require("../client");
|
|
const { UptimeKumaServer } = require("../uptime-kuma-server");
|
|
const server = UptimeKumaServer.getInstance();
|
|
|
|
/**
|
|
* Handlers for proxy
|
|
* @param {Socket} socket Socket.io instance
|
|
* @returns {void}
|
|
*/
|
|
module.exports.proxySocketHandler = (socket) => {
|
|
socket.on("addProxy", async (proxy, proxyID, callback) => {
|
|
try {
|
|
checkLogin(socket);
|
|
|
|
const proxyBean = await Proxy.save(proxy, proxyID, socket.userID);
|
|
await sendProxyList(socket);
|
|
|
|
if (proxy.applyExisting) {
|
|
await Proxy.reloadProxy();
|
|
await server.sendMonitorList(socket);
|
|
}
|
|
|
|
callback({
|
|
ok: true,
|
|
msg: "Saved",
|
|
id: proxyBean.id,
|
|
});
|
|
|
|
} catch (e) {
|
|
callback({
|
|
ok: false,
|
|
msg: e.message,
|
|
});
|
|
}
|
|
});
|
|
|
|
socket.on("deleteProxy", async (proxyID, callback) => {
|
|
try {
|
|
checkLogin(socket);
|
|
|
|
await Proxy.delete(proxyID, socket.userID);
|
|
await sendProxyList(socket);
|
|
await Proxy.reloadProxy();
|
|
|
|
callback({
|
|
ok: true,
|
|
msg: "Deleted",
|
|
});
|
|
|
|
} catch (e) {
|
|
callback({
|
|
ok: false,
|
|
msg: e.message,
|
|
});
|
|
}
|
|
});
|
|
};
|