2022-04-07 02:45:37 -04:00
|
|
|
const { checkLogin } = require("../util-server");
|
|
|
|
const { Proxy } = require("../proxy");
|
|
|
|
const { sendProxyList } = require("../client");
|
2022-04-19 03:38:59 -04:00
|
|
|
const { UptimeKumaServer } = require("../uptime-kuma-server");
|
|
|
|
const server = UptimeKumaServer.getInstance();
|
2022-04-07 02:45:37 -04:00
|
|
|
|
2022-04-21 12:10:23 -04:00
|
|
|
/**
|
|
|
|
* Handlers for proxy
|
|
|
|
* @param {Socket} socket Socket.io instance
|
2023-08-11 03:46:41 -04:00
|
|
|
* @returns {void}
|
2022-04-21 12:10:23 -04:00
|
|
|
*/
|
2022-04-07 02:45:37 -04:00
|
|
|
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) {
|
2022-04-07 11:03:45 -04:00
|
|
|
await Proxy.reloadProxy();
|
|
|
|
await server.sendMonitorList(socket);
|
2022-04-07 02:45:37 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
callback({
|
|
|
|
ok: true,
|
2023-09-01 08:51:28 -04:00
|
|
|
msg: "Saved.",
|
|
|
|
msgi18n: true,
|
2022-04-07 02:45:37 -04:00
|
|
|
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);
|
2022-04-07 11:03:45 -04:00
|
|
|
await Proxy.reloadProxy();
|
2022-04-07 02:45:37 -04:00
|
|
|
|
|
|
|
callback({
|
|
|
|
ok: true,
|
2023-09-26 16:53:14 -04:00
|
|
|
msg: "successDeleted",
|
|
|
|
msgi18n: true,
|
2022-04-07 02:45:37 -04:00
|
|
|
});
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
callback({
|
|
|
|
ok: false,
|
|
|
|
msg: e.message,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|