#ifndef SELFHOSTEDUSERSERVERCONFIG_H #define SELFHOSTEDUSERSERVERCONFIG_H #include #include #include #include "core/utils/containerEnum.h" #include "core/utils/containers/containerUtils.h" #include "core/utils/protocolEnum.h" #include "core/models/containerConfig.h" #include "core/utils/commonStructs.h" namespace amnezia { using namespace ContainerEnumNS; struct SelfHostedUserServerConfig { QString description; QString displayName; QString hostName; QMap containers; DockerContainer defaultContainer; QString dns1; QString dns2; bool hasCredentials() const; bool isReadOnly() const; std::optional credentials() const; bool hasContainers() const; ContainerConfig containerConfig(DockerContainer container) const; QJsonObject toJson() const; static SelfHostedUserServerConfig fromJson(const QJsonObject &json); }; } // namespace amnezia #endif // SELFHOSTEDUSERSERVERCONFIG_H