diff --git a/client/core/controllers/apiController.cpp b/client/core/controllers/apiController.cpp index 0b6b7d36..5db2f78e 100644 --- a/client/core/controllers/apiController.cpp +++ b/client/core/controllers/apiController.cpp @@ -7,6 +7,7 @@ #include "amnezia_application.h" #include "configurators/wireguard_configurator.h" +#include "version.h" #include "core/errorstrings.h" namespace @@ -21,7 +22,10 @@ namespace constexpr char certificate[] = "certificate"; constexpr char publicKey[] = "public_key"; constexpr char protocol[] = "protocol"; + constexpr char uuid[] = "installation_uuid"; + constexpr char osVersion[] = "os_version"; + constexpr char appVersion[] = "app_version"; } } @@ -62,6 +66,10 @@ QJsonObject ApiController::fillApiPayload(const QString &protocol, const ApiCont } else if (protocol == configKey::awg) { obj[configKey::publicKey] = apiPayloadData.wireGuardClientPubKey; } + + obj[configKey::osVersion] = QSysInfo::prettyProductName(); + obj[configKey::appVersion] = QString(APP_VERSION); + return obj; } diff --git a/client/core/errorstrings.cpp b/client/core/errorstrings.cpp index 2a14b3cd..bf47f2b9 100644 --- a/client/core/errorstrings.cpp +++ b/client/core/errorstrings.cpp @@ -57,6 +57,9 @@ QString errorString(ErrorCode code) { // Api errors case (ApiConfigDownloadError): errorMessage = QObject::tr("Error when retrieving configuration from API"); break; case (ApiConfigAlreadyAdded): errorMessage = QObject::tr("This config has already been added to the application"); break; + case (ApiConfigEmptyError): errorMessage = QObject::tr("In the response from the server, an empty config was received"); break; + case (ApiConfigSslError): errorMessage = QObject::tr("SSL error occurred"); break; + case (ApiConfigTimeoutError): errorMessage = QObject::tr("Server response timeout on api request"); break; // QFile errors case(OpenError): errorMessage = QObject::tr("QFile error: The file could not be opened"); break;