From 76413ec2df8e081440b051f73a5b89dc97c42687 Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Fri, 1 Aug 2025 10:52:30 +0800 Subject: [PATCH] refactoring: cli management separation --- client/core/controllers/coreController.cpp | 3 ++- .../selfhosted/clientManagementController.cpp | 14 -------------- .../selfhosted/exportUIController.cpp | 8 -------- .../selfhosted/exportUIController.h | 1 - .../selfhosted/clientManagementModel.cpp | 19 +------------------ .../models/selfhosted/clientManagementModel.h | 6 +----- client/ui/qml/Pages2/PageShare.qml | 8 ++++---- 7 files changed, 8 insertions(+), 51 deletions(-) diff --git a/client/core/controllers/coreController.cpp b/client/core/controllers/coreController.cpp index f409fa346..cbc766550 100644 --- a/client/core/controllers/coreController.cpp +++ b/client/core/controllers/coreController.cpp @@ -81,9 +81,10 @@ void CoreController::initModels() m_engine->rootContext()->setContextProperty("ProtocolsModel", m_protocolsModel.get()); auto clientManagementController = QSharedPointer::create(m_settings, this); - m_clientManagementModel.reset(new ClientManagementModel(m_settings, clientManagementController, this)); + m_clientManagementModel.reset(new ClientManagementModel(clientManagementController, this)); m_clientManagementUIController.reset(new ClientManagementUIController(clientManagementController, this)); + m_engine->rootContext()->setContextProperty("ClientManagementUIController", m_clientManagementUIController.get()); m_engine->rootContext()->setContextProperty("ClientManagementModel", m_clientManagementModel.get()); m_apiServicesModel.reset(new ApiServicesModel(this)); diff --git a/client/core/controllers/selfhosted/clientManagementController.cpp b/client/core/controllers/selfhosted/clientManagementController.cpp index 0a2ba8f15..5b9a468f7 100644 --- a/client/core/controllers/selfhosted/clientManagementController.cpp +++ b/client/core/controllers/selfhosted/clientManagementController.cpp @@ -528,20 +528,6 @@ ErrorCode ClientManagementController::revokeClient(const int row, const DockerCo return revokeClient(row, container, credentials, serverIndex, serverController, clientsTable); } -ErrorCode ClientManagementController::revokeClient(const int row, const DockerContainer container, const ServerCredentials &credentials, - const int serverIndex) -{ - QSharedPointer serverController(new ServerController(m_settings)); - QJsonArray clientsTable; - ErrorCode errorCode = updateClientsData(container, credentials, serverController, clientsTable); - if (errorCode != ErrorCode::NoError) { - return errorCode; - } - return revokeClient(row, container, credentials, serverIndex, serverController, clientsTable); -} - - - ErrorCode ClientManagementController::revokeClient(const int row, const DockerContainer container, const ServerCredentials &credentials, const int serverIndex, const QSharedPointer &serverController, diff --git a/client/ui/controllers/selfhosted/exportUIController.cpp b/client/ui/controllers/selfhosted/exportUIController.cpp index 560a31b6f..f7af0c706 100644 --- a/client/ui/controllers/selfhosted/exportUIController.cpp +++ b/client/ui/controllers/selfhosted/exportUIController.cpp @@ -247,14 +247,6 @@ void ExportUIController::exportConfig(const QString &fileName) SystemController::saveFile(fileName, m_config); } -void ExportUIController::updateClientManagementModel(const DockerContainer container, ServerCredentials credentials) -{ - ErrorCode errorCode = m_clientManagementController->updateClientsData(container, credentials); - if (errorCode != ErrorCode::NoError) { - emit exportErrorOccurred(errorCode); - } -} - void ExportUIController::revokeConfig(const int row, const DockerContainer container, ServerCredentials credentials) { ErrorCode errorCode = m_clientManagementController->revokeClient(row, container, credentials, diff --git a/client/ui/controllers/selfhosted/exportUIController.h b/client/ui/controllers/selfhosted/exportUIController.h index c21441d4a..65d6f5c6e 100644 --- a/client/ui/controllers/selfhosted/exportUIController.h +++ b/client/ui/controllers/selfhosted/exportUIController.h @@ -40,7 +40,6 @@ public slots: void exportConfig(const QString &fileName); - void updateClientManagementModel(const DockerContainer container, ServerCredentials credentials); void revokeConfig(const int row, const DockerContainer container, ServerCredentials credentials); void renameClient(const int row, const QString &clientName, const DockerContainer container, ServerCredentials credentials); diff --git a/client/ui/models/selfhosted/clientManagementModel.cpp b/client/ui/models/selfhosted/clientManagementModel.cpp index f96487892..5a265238a 100644 --- a/client/ui/models/selfhosted/clientManagementModel.cpp +++ b/client/ui/models/selfhosted/clientManagementModel.cpp @@ -3,7 +3,6 @@ #include #include -#include "core/controllers/selfhosted/serverController.h" #include "core/controllers/selfhosted/clientManagementController.h" #include "logger.h" @@ -25,11 +24,9 @@ namespace } } -ClientManagementModel::ClientManagementModel(std::shared_ptr settings, - QSharedPointer clientManagementController, +ClientManagementModel::ClientManagementModel(QSharedPointer clientManagementController, QObject *parent) : QAbstractListModel(parent), - m_settings(settings), m_clientManagementController(clientManagementController) { connect(m_clientManagementController.data(), &ClientManagementController::clientsDataUpdated, @@ -82,21 +79,7 @@ void ClientManagementModel::onClientRenamed(const int row, const QString &newNam } } -void ClientManagementModel::migration(const QByteArray &clientsTableString) -{ - QJsonObject clientsTable = QJsonDocument::fromJson(clientsTableString).object(); - for (auto &clientId : clientsTable.keys()) { - QJsonObject client; - client[configKey::clientId] = clientId; - - QJsonObject userData; - userData[configKey::clientName] = clientsTable.value(clientId).toObject().value(configKey::clientName); - client[configKey::userData] = userData; - - m_clientsTable.push_back(client); - } -} QHash ClientManagementModel::roleNames() const { diff --git a/client/ui/models/selfhosted/clientManagementModel.h b/client/ui/models/selfhosted/clientManagementModel.h index c2256c02b..6b85c6cd3 100644 --- a/client/ui/models/selfhosted/clientManagementModel.h +++ b/client/ui/models/selfhosted/clientManagementModel.h @@ -4,9 +4,7 @@ #include #include -#include "core/controllers/selfhosted/serverController.h" #include "core/controllers/selfhosted/clientManagementController.h" -#include "settings.h" class ClientManagementModel : public QAbstractListModel { @@ -22,8 +20,7 @@ public: AllowedIpsRole }; - explicit ClientManagementModel(std::shared_ptr settings, - QSharedPointer clientManagementController, + explicit ClientManagementModel(QSharedPointer clientManagementController, QObject *parent = nullptr); int rowCount(const QModelIndex &parent = QModelIndex()) const override; @@ -41,7 +38,6 @@ private slots: private: QJsonArray m_clientsTable; - std::shared_ptr m_settings; QSharedPointer m_clientManagementController; }; diff --git a/client/ui/qml/Pages2/PageShare.qml b/client/ui/qml/Pages2/PageShare.qml index 0f0976bcb..b81da3f00 100644 --- a/client/ui/qml/Pages2/PageShare.qml +++ b/client/ui/qml/Pages2/PageShare.qml @@ -268,8 +268,8 @@ PageType { onClicked: { accessTypeSelector.currentIndex = 1 PageController.showBusyIndicator(true) - ExportController.updateClientManagementModel(ContainersModel.getProcessedContainerIndex(), - ServersModel.getProcessedServerCredentials()) + ClientManagementUIController.updateModel(ContainersModel.getProcessedContainerIndex(), + ServersModel.getProcessedServerCredentials()) PageController.showBusyIndicator(false) } } @@ -436,8 +436,8 @@ PageType { if (accessTypeSelector.currentIndex === 1) { PageController.showBusyIndicator(true) - ExportController.updateClientManagementModel(ContainersModel.getProcessedContainerIndex(), - ServersModel.getProcessedServerCredentials()) + ClientManagementUIController.updateModel(ContainersModel.getProcessedContainerIndex(), + ServersModel.getProcessedServerCredentials()) PageController.showBusyIndicator(false) } }