Fix relay ws message

This commit is contained in:
Owen 2025-03-31 15:45:51 -04:00
parent 11cdfa7557
commit 1baa02de89
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD
2 changed files with 43 additions and 25 deletions

View file

@ -49,4 +49,30 @@ export async function deletePeer(siteId: number, publicKey: string) {
});
logger.info(`Deleted peer ${publicKey} from newt ${newt.newtId}`);
}
export async function updatePeer(siteId: number, publicKey: string, peer: {
allowedIps?: string[];
endpoint?: string;
}) {
const [site] = await db.select().from(sites).where(eq(sites.siteId, siteId)).limit(1);
if (!site) {
throw new Error(`Exit node with ID ${siteId} not found`);
}
// get the newt on the site
const [newt] = await db.select().from(newts).where(eq(newts.siteId, siteId)).limit(1);
if (!newt) {
throw new Error(`Newt not found for site ${siteId}`);
}
sendToClient(newt.newtId, {
type: 'newt/wg/peer/update',
data: {
publicKey,
...peer
}
});
logger.info(`Updated peer ${publicKey} on newt ${newt.newtId}`);
}