From ff8c62c2448d7c6edc0c69a409616b9bde404bd5 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Fri, 15 Nov 2024 14:38:52 +0300 Subject: [PATCH] manual id from bot --- src/lib/Server.js | 13 +++++++++++-- src/lib/WireGuard.js | 5 ++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index 0486224c..9ff07264 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -245,13 +245,22 @@ module.exports = class Server { return config; })) .post('/api/wireguard/client', defineEventHandler(async (event) => { - const { name } = await readBody(event); + const { name, id } = await readBody(event); const { expiredDate } = await readBody(event); - const client = await WireGuard.createClient({ name, expiredDate }); + + let client; + try { + client = await WireGuard.createClient({ name, expiredDate, id }); + } + catch (e) { + return e; + } + return { client_id: client.id, success: true }; + })) .delete('/api/wireguard/client/:clientId', defineEventHandler(async (event) => { const clientId = getRouterParam(event, 'clientId'); diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index 8ce325f7..04a5a04f 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -235,7 +235,7 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; }); } - async createClient({ name, expiredDate }) { + async createClient({ name, expiredDate, id }) { if (!name) { throw new Error('Missing: Name'); } @@ -265,9 +265,8 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; throw new Error('Maximum number of clients reached.'); } // Create Client - const id = crypto.randomUUID(); const client = { - id, + id, //id from tg bot name, address, privateKey,