Add logging to external shares manager

Instead of just returning false, also log the exception to make
debugging database issues easier.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
This commit is contained in:
Vincent Petry 2021-07-02 17:45:03 +02:00
parent 46b8cf4f64
commit cff8ae7ded
No known key found for this signature in database
GPG key ID: E055D6A4D513575C
5 changed files with 32 additions and 16 deletions

View file

@ -250,7 +250,8 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
\OC::$server->getGroupManager(),
\OC::$server->getUserManager(),
$shareWith,
\OC::$server->query(IEventDispatcher::class)
\OC::$server->query(IEventDispatcher::class),
\OC::$server->getLogger()
);
try {

View file

@ -98,7 +98,8 @@ class Application extends App {
$server->getGroupManager(),
$server->getUserManager(),
$uid,
$server->query(IEventDispatcher::class)
$server->query(IEventDispatcher::class),
$server->getLogger()
);
});

View file

@ -14,6 +14,7 @@
* @author Robin Appelman <robin@icewind.nl>
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author Stefan Weil <sw@weilnetz.de>
* @author Vincent Petry <vincent@nextcloud.com>
*
* @license AGPL-3.0
*
@ -44,6 +45,7 @@ use OCP\Files\Storage\IStorageFactory;
use OCP\Http\Client\IClientService;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\ILogger;
use OCP\IUserManager;
use OCP\Notification\IManager;
use OCP\OCS\IDiscoveryService;
@ -89,18 +91,24 @@ class Manager {
/** @var IEventDispatcher */
private $eventDispatcher;
public function __construct(IDBConnection $connection,
\OC\Files\Mount\Manager $mountManager,
IStorageFactory $storageLoader,
IClientService $clientService,
IManager $notificationManager,
IDiscoveryService $discoveryService,
ICloudFederationProviderManager $cloudFederationProviderManager,
ICloudFederationFactory $cloudFederationFactory,
IGroupManager $groupManager,
IUserManager $userManager,
?string $uid,
IEventDispatcher $eventDispatcher) {
/** @var ILogger */
private $logger;
public function __construct(
IDBConnection $connection,
\OC\Files\Mount\Manager $mountManager,
IStorageFactory $storageLoader,
IClientService $clientService,
IManager $notificationManager,
IDiscoveryService $discoveryService,
ICloudFederationProviderManager $cloudFederationProviderManager,
ICloudFederationFactory $cloudFederationFactory,
IGroupManager $groupManager,
IUserManager $userManager,
?string $uid,
IEventDispatcher $eventDispatcher,
ILogger $logger
) {
$this->connection = $connection;
$this->mountManager = $mountManager;
$this->storageLoader = $storageLoader;
@ -113,6 +121,7 @@ class Manager {
$this->groupManager = $groupManager;
$this->userManager = $userManager;
$this->eventDispatcher = $eventDispatcher;
$this->logger = $logger;
}
/**
@ -535,6 +544,7 @@ class Manager {
$this->removeReShares($id);
} catch (\Doctrine\DBAL\Exception $ex) {
$this->logger->logException($ex);
return false;
}
@ -606,6 +616,7 @@ class Manager {
$deleteResult->closeCursor();
}
} catch (\Doctrine\DBAL\Exception $ex) {
$this->logger->logException($ex);
return false;
}
@ -677,7 +688,7 @@ class Manager {
}
return array_values($shares);
} catch (\Doctrine\DBAL\Exception $e) {
// FIXME
$this->logger->logException($e);
return [];
}
}

View file

@ -43,7 +43,8 @@ class Hooks {
\OC::$server->getGroupManager(),
\OC::$server->getUserManager(),
$params['uid'],
\OC::$server->query(IEventDispatcher::class)
\OC::$server->query(IEventDispatcher::class),
\OC::$server->getLogger()
);
$manager->removeUserShares($params['uid']);

View file

@ -44,6 +44,7 @@ use OCP\Http\Client\IResponse;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IURLGenerator;
use OCP\ILogger;
use OCP\IUserManager;
use OCP\Share\IShare;
use Test\Traits\UserTrait;
@ -128,6 +129,7 @@ class ManagerTest extends TestCase {
$this->userManager,
$this->uid,
$this->eventDispatcher,
$this->createMock(ILogger::class),
]
)->setMethods(['tryOCMEndPoint'])->getMock();