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
65 lines
1.9 KiB
C++
65 lines
1.9 KiB
C++
#ifndef SERVERDESCRIPTION_H
|
|
#define SERVERDESCRIPTION_H
|
|
|
|
#include <QString>
|
|
#include <QJsonArray>
|
|
|
|
#include "core/utils/containerEnum.h"
|
|
#include "core/utils/selfhosted/sshSession.h"
|
|
#include "core/models/selfhosted/selfHostedAdminServerConfig.h"
|
|
#include "core/models/selfhosted/selfHostedUserServerConfig.h"
|
|
#include "core/models/selfhosted/nativeServerConfig.h"
|
|
#include "core/models/api/legacyApiServerConfig.h"
|
|
#include "core/models/api/apiV2ServerConfig.h"
|
|
|
|
namespace amnezia
|
|
{
|
|
|
|
struct ServerDescription
|
|
{
|
|
QString serverId;
|
|
|
|
QString serverName;
|
|
QString baseDescription;
|
|
QString hostName;
|
|
|
|
int configVersion = 0;
|
|
|
|
ServerCredentials selfHostedSshCredentials;
|
|
bool hasWriteAccess = false;
|
|
|
|
bool primaryDnsIsAmnezia = false;
|
|
DockerContainer defaultContainer = DockerContainer::None;
|
|
bool hasInstalledVpnContainers = false;
|
|
|
|
bool isApiV1 = false;
|
|
bool isApiV2 = false;
|
|
bool isServerFromGatewayApi = false;
|
|
bool isPremium = false;
|
|
|
|
bool isCountrySelectionAvailable = false;
|
|
QJsonArray apiAvailableCountries;
|
|
QString apiServerCountryCode;
|
|
|
|
bool isAdVisible = false;
|
|
QString adHeader;
|
|
QString adDescription;
|
|
QString adEndpoint;
|
|
bool isRenewalAvailable = false;
|
|
bool isSubscriptionExpired = false;
|
|
bool isSubscriptionExpiringSoon = false;
|
|
|
|
QString collapsedServerDescription;
|
|
QString expandedServerDescription;
|
|
};
|
|
|
|
ServerDescription buildServerDescription(const SelfHostedAdminServerConfig &server, bool isAmneziaDnsEnabled);
|
|
ServerDescription buildServerDescription(const SelfHostedUserServerConfig &server, bool isAmneziaDnsEnabled);
|
|
ServerDescription buildServerDescription(const NativeServerConfig &server, bool isAmneziaDnsEnabled);
|
|
ServerDescription buildServerDescription(const LegacyApiServerConfig &server, bool isAmneziaDnsEnabled);
|
|
ServerDescription buildServerDescription(const ApiV2ServerConfig &server, bool isAmneziaDnsEnabled);
|
|
|
|
} // namespace amnezia
|
|
|
|
#endif
|