Kaynağa Gözat

Move accountStateFromFileProviderDomainIdentifier to FileProviderDomainManager where we have methods to guarantee conversion

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
Claudio Cambra 2 yıl önce
ebeveyn
işleme
4327b152fb

+ 2 - 0
src/gui/macOS/fileproviderdomainmanager.h

@@ -32,6 +32,8 @@ public:
     explicit FileProviderDomainManager(QObject * const parent = nullptr);
     ~FileProviderDomainManager() override;
 
+    static AccountStatePtr accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier);
+
 private slots:
     void setupFileProviderDomains();
 

+ 17 - 0
src/gui/macOS/fileproviderdomainmanager_mac.mm

@@ -673,6 +673,23 @@ void FileProviderDomainManager::slotEnumeratorSignallingTimerTimeout()
     }
 }
 
+AccountStatePtr FileProviderDomainManager::accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier)
+{
+    if (domainIdentifier.isEmpty()) {
+        qCWarning(lcMacFileProviderDomainManager) << "Cannot return accountstateptr for empty domain identifier";
+        return AccountStatePtr();
+    }
+
+    const auto accountUserId = accountIdFromDomainId(domainIdentifier);
+    const auto accountForReceivedDomainIdentifier = AccountManager::instance()->accountFromUserId(accountUserId);
+    if (!accountForReceivedDomainIdentifier) {
+        qCWarning(lcMacFileProviderDomainManager) << "Could not find account matching user id matching file provider domain identifier:"
+                                                  << domainIdentifier;
+    }
+
+    return accountForReceivedDomainIdentifier;
+}
+
 } // namespace Mac
 
 } // namespace OCC

+ 2 - 16
src/gui/macOS/fileprovidersocketcontroller.cpp

@@ -18,6 +18,7 @@
 #include <QLoggingCategory>
 
 #include "accountmanager.h"
+#include "fileproviderdomainmanager.h"
 
 namespace OCC {
 
@@ -85,7 +86,7 @@ void FileProviderSocketController::parseReceivedLine(const QString &receivedLine
     const auto argument = receivedLine.mid(argPos + 1);
 
     if (command == QStringLiteral("FILE_PROVIDER_DOMAIN_IDENTIFIER_REQUEST_REPLY")) {
-        _accountState = accountStateFromFileProviderDomainIdentifier(argument);
+        _accountState = FileProviderDomainManager::accountStateFromFileProviderDomainIdentifier(argument);
         sendAccountDetails();
         return;
     }
@@ -93,21 +94,6 @@ void FileProviderSocketController::parseReceivedLine(const QString &receivedLine
     qCWarning(lcFileProviderSocketController) << "Unknown command or reply:" << receivedLine;
 }
 
-AccountStatePtr FileProviderSocketController::accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier)
-{
-    Q_ASSERT(!domainIdentifier.isEmpty());
-
-    // We use Account's userIdAtHostWithPort() as the file provider domain's identifier in FileProviderDomainManager.
-    // We can use this string to get a matching account here.
-    const auto accountForReceivedDomainIdentifier = AccountManager::instance()->accountFromUserId(domainIdentifier);
-    if (!accountForReceivedDomainIdentifier) {
-        qCWarning(lcFileProviderSocketController) << "Could not find account matching user id matching file provider domain identifier:"
-                                                  << domainIdentifier;
-    }
-
-    return accountForReceivedDomainIdentifier;
-}
-
 void FileProviderSocketController::sendMessage(const QString &message) const
 {
     if (!_socket) {

+ 0 - 2
src/gui/macOS/fileprovidersocketcontroller.h

@@ -51,8 +51,6 @@ private slots:
     void sendNotAuthenticated() const;
 
 private:
-    static AccountStatePtr accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier);
-
     QPointer<QLocalSocket> _socket;
     AccountStatePtr _accountState;
 };