mirror of
https://github.com/fosrl/pangolin.git
synced 2025-08-26 20:25:42 +02:00
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { Target } from "@server/db";
|
|
import { sendToClient } from "../ws";
|
|
import logger from "@server/logger";
|
|
|
|
export async function addTargets(
|
|
newtId: string,
|
|
targets: Target[],
|
|
protocol: string,
|
|
port: number | null = null
|
|
) {
|
|
//create a list of udp and tcp targets
|
|
const payloadTargets = targets.map((target) => {
|
|
return `${target.internalPort ? target.internalPort + ":" : ""}${
|
|
target.ip
|
|
}:${target.port}`;
|
|
});
|
|
|
|
sendToClient(newtId, {
|
|
type: `newt/${protocol}/add`,
|
|
data: {
|
|
targets: payloadTargets
|
|
}
|
|
});
|
|
}
|
|
|
|
export async function removeTargets(
|
|
newtId: string,
|
|
targets: Target[],
|
|
protocol: string,
|
|
port: number | null = null
|
|
) {
|
|
//create a list of udp and tcp targets
|
|
const payloadTargets = targets.map((target) => {
|
|
return `${target.internalPort ? target.internalPort + ":" : ""}${
|
|
target.ip
|
|
}:${target.port}`;
|
|
});
|
|
|
|
await sendToClient(newtId, {
|
|
type: `newt/${protocol}/remove`,
|
|
data: {
|
|
targets: payloadTargets
|
|
}
|
|
});
|
|
}
|