From ece712ec61e623ee934812f6c45aa54b301a708f Mon Sep 17 00:00:00 2001 From: ZGaetano Date: Wed, 6 May 2026 19:50:14 -0400 Subject: [PATCH] =?UTF-8?q?Update=20relayreg.cpp=20=E2=80=94=20serialize?= =?UTF-8?q?=20displays=20JSON=20array=20in=20registerHost?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/wg/relayreg.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/wg/relayreg.cpp b/src/wg/relayreg.cpp index 70d4f76..19c668a 100644 --- a/src/wg/relayreg.cpp +++ b/src/wg/relayreg.cpp @@ -11,6 +11,7 @@ #include #include +#include namespace wg { @@ -151,8 +152,27 @@ bool RelayReg::deleteVPNPeer(const std::string &peerId, std::string &errOut) { // ── registerHost ────────────────────────────────────────────────────────────── bool RelayReg::registerHost(const std::string &name, const std::string &wgIP, - int port, std::string &errOut) { - json body = { {"name", name}, {"wg_ip", wgIP}, {"port", port} }; + int port, const std::vector &displays, + std::string &errOut) { + // Build displays JSON array + json displaysArr = json::array(); + for (const auto &d : displays) { + displaysArr.push_back({ + {"name", d.name}, + {"friendlyName", d.friendlyName}, + {"width", d.width}, + {"height", d.height}, + {"isPrimary", d.isPrimary} + }); + } + + json body = { + {"name", name}, + {"wg_ip", wgIP}, + {"port", port}, + {"displays", displaysArr} + }; + std::string resp; int code = request("POST", "/api/host/register", body.dump(), resp); if (code != 200 && code != 201) {