refactoring: replaced part of the code to work with new config classes

This commit is contained in:
vladimir.kuznetsov 2025-06-26 09:57:29 +08:00
parent 2d22a74b22
commit 65f60ab922
22 changed files with 637 additions and 595 deletions

View file

@ -8,6 +8,13 @@
#include "core/defs.h"
#include "core/models/containers/containerConfig.h"
class SelfHostedServerConfig;
class ApiV1ServerConfig;
class ApiV2ServerConfig;
using ServerConfigVariant =
std::variant<QSharedPointer<SelfHostedServerConfig>, QSharedPointer<ApiV1ServerConfig>, QSharedPointer<ApiV2ServerConfig> >;
class ServerConfig
{
public:
@ -16,6 +23,9 @@ public:
virtual QJsonObject toJson() const;
static QSharedPointer<ServerConfig> createServerConfig(const QJsonObject &serverConfigObject);
static ServerConfigVariant getServerConfigVariant(const QSharedPointer<ServerConfig> &serverConfig);
void updateProtocolConfig(const QString &containerName, const QMap<QString, QSharedPointer<ProtocolConfig>> &protocolConfigs);
amnezia::ServerConfigType type;
@ -26,6 +36,9 @@ public:
QString defaultContainer;
bool nameOverriddenByUser;
int crc; // TODO it makes sense to add for all server types or move it to the api
QMap<QString, ContainerConfig> containerConfigs;
};