34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { WebSocketMessageParam } from "@/src/types";
|
|
import sendData from "../(utils)/send-data";
|
|
import sendError from "../(utils)/send-error";
|
|
import grabConnectedWebsocketUserdata from "../(utils)/grab-connected-websocket-user-data";
|
|
import killPort from "../(utils)/kill-port";
|
|
|
|
export default async function socketClientKillAllPorts({
|
|
ws,
|
|
data,
|
|
}: WebSocketMessageParam) {
|
|
try {
|
|
const user = ws.data.user;
|
|
|
|
const connected_user_data = grabConnectedWebsocketUserdata({ user });
|
|
|
|
for (let i = 0; i < connected_user_data.ports.length; i++) {
|
|
const port = connected_user_data.ports[i];
|
|
if (port) {
|
|
await killPort({ port, exec_options: { stdio: "inherit" } });
|
|
|
|
connected_user_data.ports = connected_user_data.ports.filter(
|
|
(p) => p != port,
|
|
);
|
|
}
|
|
}
|
|
|
|
sendData(ws, {
|
|
event: "server:killed-all-ports",
|
|
});
|
|
} catch (error: any) {
|
|
sendError(ws, "Service Server Logs Error! " + error.message);
|
|
}
|
|
}
|