mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-17 08:16:06 +03:00
* refactor: remove serverConfig struct * refactor: add warnings for api v1 configs * refactor: moved the server type definition to a separate namespace * refactor: simplified gateway stacks * fix: fixed server description * fix: fixed postAsync reply usage * fix: fixed validateConfig call * fix: fixed server name in notifications * fix: fixed initPrepareConfigHandler for lagacy configs
78 lines
1.8 KiB
C++
78 lines
1.8 KiB
C++
#ifndef APICONFIG_H
|
|
#define APICONFIG_H
|
|
|
|
#include <QJsonObject>
|
|
#include <QJsonArray>
|
|
#include <QString>
|
|
#include <QDateTime>
|
|
|
|
#include "core/utils/serverConfigUtils.h"
|
|
#include "core/utils/constants/apiKeys.h"
|
|
#include "core/utils/constants/apiConstants.h"
|
|
|
|
namespace amnezia
|
|
{
|
|
|
|
struct ApiConfig
|
|
{
|
|
QString serviceType;
|
|
QString serviceProtocol;
|
|
QString userCountryCode;
|
|
QString serverCountryCode;
|
|
QString serverCountryName;
|
|
QString vpnKey;
|
|
|
|
struct Subscription {
|
|
QString endDate;
|
|
|
|
QJsonObject toJson() const;
|
|
static Subscription fromJson(const QJsonObject& json);
|
|
};
|
|
Subscription subscription;
|
|
|
|
int activeDeviceCount;
|
|
int maxDeviceCount;
|
|
int issuedConfigs;
|
|
QJsonArray availableCountries;
|
|
QJsonArray supportedProtocols;
|
|
|
|
struct ServiceInfo {
|
|
bool isAdVisible = false;
|
|
bool isRenewalAvailable = false;
|
|
QString adHeader;
|
|
QString adDescription;
|
|
QString adEndpoint;
|
|
|
|
QJsonObject toJson() const;
|
|
static ServiceInfo fromJson(const QJsonObject& json);
|
|
};
|
|
ServiceInfo serviceInfo;
|
|
|
|
struct PublicKeyInfo {
|
|
QString expiresAt;
|
|
|
|
QJsonObject toJson() const;
|
|
static PublicKeyInfo fromJson(const QJsonObject& json);
|
|
};
|
|
PublicKeyInfo publicKey;
|
|
|
|
QString stackType;
|
|
QString cliVersion;
|
|
bool isTestPurchase = false;
|
|
bool isInAppPurchase = false;
|
|
bool subscriptionExpiredByServer = false;
|
|
|
|
bool isPremium() const;
|
|
bool isFree() const;
|
|
bool isExternalPremium() const;
|
|
bool isSubscriptionExpired() const;
|
|
|
|
QJsonObject toJson() const;
|
|
static ApiConfig fromJson(const QJsonObject& json);
|
|
};
|
|
|
|
} // namespace amnezia
|
|
|
|
#endif // APICONFIG_H
|
|
|