diff options
author | Côme Chilliet <come.chilliet@nextcloud.com> | 2024-02-06 11:22:09 +0100 |
---|---|---|
committer | Côme Chilliet <91878298+come-nc@users.noreply.github.com> | 2024-02-08 10:28:29 +0100 |
commit | 166773879ba20bf7b81f3996a7c4e2a9ff7ee16d (patch) | |
tree | ee8c3115167e71c115f56479612be08c574761f1 /apps | |
parent | 9e9040196f94e9650ce847e9feb9f23ad8d19ada (diff) | |
download | nextcloud-server-166773879ba20bf7b81f3996a7c4e2a9ff7ee16d.tar.gz nextcloud-server-166773879ba20bf7b81f3996a7c4e2a9ff7ee16d.zip |
fix!: Migrate jobs away from deprecated interfaces
BREAKING CHANGE: Removed ILogFactory::getCustomLogger deprecated method
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps')
9 files changed, 95 insertions, 195 deletions
diff --git a/apps/dav/lib/BackgroundJob/RefreshWebcalJob.php b/apps/dav/lib/BackgroundJob/RefreshWebcalJob.php index fbb944159fd..a40aeee3d66 100644 --- a/apps/dav/lib/BackgroundJob/RefreshWebcalJob.php +++ b/apps/dav/lib/BackgroundJob/RefreshWebcalJob.php @@ -6,6 +6,7 @@ declare(strict_types=1); * @copyright 2018 Georg Ehrke <oc.list@georgehrke.com> * * @author Christoph Wurst <christoph@winzerhof-wurst.at> + * @author Côme Chilliet <come.chilliet@nextcloud.com> * @author Georg Ehrke <oc.list@georgehrke.com> * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Thomas Citharel <nextcloud@tcit.fr> @@ -34,42 +35,18 @@ use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\IJobList; use OCP\BackgroundJob\Job; use OCP\IConfig; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use Sabre\VObject\DateTimeParser; use Sabre\VObject\InvalidDataException; class RefreshWebcalJob extends Job { - - /** - * @var RefreshWebcalService - */ - private $refreshWebcalService; - - /** - * @var IConfig - */ - private $config; - - /** @var ILogger */ - private $logger; - - /** @var ITimeFactory */ - private $timeFactory; - - /** - * RefreshWebcalJob constructor. - * - * @param RefreshWebcalService $refreshWebcalService - * @param IConfig $config - * @param ILogger $logger - * @param ITimeFactory $timeFactory - */ - public function __construct(RefreshWebcalService $refreshWebcalService, IConfig $config, ILogger $logger, ITimeFactory $timeFactory) { + public function __construct( + private RefreshWebcalService $refreshWebcalService, + private IConfig $config, + private LoggerInterface $logger, + ITimeFactory $timeFactory, + ) { parent::__construct($timeFactory); - $this->refreshWebcalService = $refreshWebcalService; - $this->config = $config; - $this->logger = $logger; - $this->timeFactory = $timeFactory; } /** @@ -77,7 +54,7 @@ class RefreshWebcalJob extends Job { * * @inheritdoc */ - public function execute(IJobList $jobList, ILogger $logger = null) { + public function start(IJobList $jobList): void { $subscription = $this->refreshWebcalService->getSubscription($this->argument['principaluri'], $this->argument['uri']); if (!$subscription) { return; @@ -95,17 +72,19 @@ class RefreshWebcalJob extends Job { /** @var DateInterval $dateInterval */ $dateInterval = DateTimeParser::parseDuration($refreshRate); } catch (InvalidDataException $ex) { - $this->logger->logException($ex); - $this->logger->warning("Subscription $subscriptionId could not be refreshed, refreshrate in database is invalid"); + $this->logger->error( + "Subscription $subscriptionId could not be refreshed, refreshrate in database is invalid", + ['exception' => $ex] + ); return; } $interval = $this->getIntervalFromDateInterval($dateInterval); - if (($this->timeFactory->getTime() - $this->lastRun) <= $interval) { + if (($this->time->getTime() - $this->lastRun) <= $interval) { return; } - parent::execute($jobList, $logger); + parent::start($jobList); } /** diff --git a/apps/dav/lib/Migration/BuildCalendarSearchIndexBackgroundJob.php b/apps/dav/lib/Migration/BuildCalendarSearchIndexBackgroundJob.php index a816e2619a3..0b89a3d1d77 100644 --- a/apps/dav/lib/Migration/BuildCalendarSearchIndexBackgroundJob.php +++ b/apps/dav/lib/Migration/BuildCalendarSearchIndexBackgroundJob.php @@ -1,7 +1,11 @@ <?php + +declare(strict_types=1); + /** * @copyright 2017 Georg Ehrke <oc.list@georgehrke.com> * + * @author Côme Chilliet <come.chilliet@nextcloud.com> * @author Georg Ehrke <oc.list@georgehrke.com> * @author Joas Schilling <coding@schilljs.com> * @@ -23,47 +27,22 @@ */ namespace OCA\DAV\Migration; -use OC\BackgroundJob\QueuedJob; use OCA\DAV\CalDAV\CalDavBackend; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\IJobList; +use OCP\BackgroundJob\QueuedJob; use OCP\IDBConnection; -use OCP\ILogger; +use Psr\Log\LoggerInterface; class BuildCalendarSearchIndexBackgroundJob extends QueuedJob { - - /** @var IDBConnection */ - private $db; - - /** @var CalDavBackend */ - private $calDavBackend; - - /** @var ILogger */ - private $logger; - - /** @var IJobList */ - private $jobList; - - /** @var ITimeFactory */ - private $timeFactory; - - /** - * @param IDBConnection $db - * @param CalDavBackend $calDavBackend - * @param ILogger $logger - * @param IJobList $jobList - * @param ITimeFactory $timeFactory - */ - public function __construct(IDBConnection $db, - CalDavBackend $calDavBackend, - ILogger $logger, - IJobList $jobList, - ITimeFactory $timeFactory) { - $this->db = $db; - $this->calDavBackend = $calDavBackend; - $this->logger = $logger; - $this->jobList = $jobList; - $this->timeFactory = $timeFactory; + public function __construct( + private IDBConnection $db, + private CalDavBackend $calDavBackend, + private LoggerInterface $logger, + private IJobList $jobList, + ITimeFactory $timeFactory + ) { + parent::__construct($timeFactory); } public function run($arguments) { @@ -72,8 +51,8 @@ class BuildCalendarSearchIndexBackgroundJob extends QueuedJob { $this->logger->info('Building calendar index (' . $offset .'/' . $stopAt . ')'); - $startTime = $this->timeFactory->getTime(); - while (($this->timeFactory->getTime() - $startTime) < 15) { + $startTime = $this->time->getTime(); + while (($this->time->getTime() - $startTime) < 15) { $offset = $this->buildIndex($offset, $stopAt); if ($offset >= $stopAt) { break; @@ -105,7 +84,7 @@ class BuildCalendarSearchIndexBackgroundJob extends QueuedJob { ->orderBy('id', 'ASC') ->setMaxResults(500); - $result = $query->execute(); + $result = $query->executeQuery(); while ($row = $result->fetch(\PDO::FETCH_ASSOC)) { $offset = $row['id']; diff --git a/apps/dav/lib/Migration/BuildSocialSearchIndexBackgroundJob.php b/apps/dav/lib/Migration/BuildSocialSearchIndexBackgroundJob.php index 231749521be..9a688970597 100644 --- a/apps/dav/lib/Migration/BuildSocialSearchIndexBackgroundJob.php +++ b/apps/dav/lib/Migration/BuildSocialSearchIndexBackgroundJob.php @@ -1,8 +1,12 @@ <?php + +declare(strict_types=1); + /** * @copyright 2020 Matthias Heinisch <nextcloud@matthiasheinisch.de> * * @author call-me-matt <nextcloud@matthiasheinisch.de> + * @author Côme Chilliet <come.chilliet@nextcloud.com> * * @license GNU AGPL version 3 or any later version * @@ -22,47 +26,22 @@ */ namespace OCA\DAV\Migration; -use OC\BackgroundJob\QueuedJob; use OCA\DAV\CardDAV\CardDavBackend; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\IJobList; +use OCP\BackgroundJob\QueuedJob; use OCP\IDBConnection; -use OCP\ILogger; +use Psr\Log\LoggerInterface; class BuildSocialSearchIndexBackgroundJob extends QueuedJob { - - /** @var IDBConnection */ - private $db; - - /** @var CardDavBackend */ - private $davBackend; - - /** @var ILogger */ - private $logger; - - /** @var IJobList */ - private $jobList; - - /** @var ITimeFactory */ - private $timeFactory; - - /** - * @param IDBConnection $db - * @param CardDavBackend $davBackend - * @param ILogger $logger - * @param IJobList $jobList - * @param ITimeFactory $timeFactory - */ - public function __construct(IDBConnection $db, - CardDavBackend $davBackend, - ILogger $logger, - IJobList $jobList, - ITimeFactory $timeFactory) { - $this->db = $db; - $this->davBackend = $davBackend; - $this->logger = $logger; - $this->jobList = $jobList; - $this->timeFactory = $timeFactory; + public function __construct( + private IDBConnection $db, + private CardDavBackend $davBackend, + private LoggerInterface $logger, + private IJobList $jobList, + ITimeFactory $timeFactory, + ) { + parent::__construct($timeFactory); } public function run($arguments) { @@ -90,7 +69,7 @@ class BuildSocialSearchIndexBackgroundJob extends QueuedJob { * @return int */ private function buildIndex($offset, $stopAt) { - $startTime = $this->timeFactory->getTime(); + $startTime = $this->time->getTime(); // get contacts with social profiles $query = $this->db->getQueryBuilder(); @@ -99,7 +78,7 @@ class BuildSocialSearchIndexBackgroundJob extends QueuedJob { ->orderBy('id', 'ASC') ->where($query->expr()->like('carddata', $query->createNamedParameter('%SOCIALPROFILE%'))) ->setMaxResults(100); - $social_cards = $query->execute()->fetchAll(); + $social_cards = $query->executeQuery()->fetchAll(); if (empty($social_cards)) { return $stopAt; @@ -111,7 +90,7 @@ class BuildSocialSearchIndexBackgroundJob extends QueuedJob { $this->davBackend->updateCard($contact['addressbookid'], $contact['uri'], $contact['carddata']); // stop after 15sec (to be continued with next chunk) - if (($this->timeFactory->getTime() - $startTime) > 15) { + if (($this->time->getTime() - $startTime) > 15) { break; } } diff --git a/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php b/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php index 81b6118a265..7a7bd83f8c4 100644 --- a/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php +++ b/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php @@ -33,8 +33,8 @@ use OCA\DAV\CalDAV\WebcalCaching\RefreshWebcalService; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\IJobList; use OCP\IConfig; -use OCP\ILogger; use PHPUnit\Framework\MockObject\MockObject; +use Psr\Log\LoggerInterface; use Test\TestCase; @@ -46,8 +46,7 @@ class RefreshWebcalJobTest extends TestCase { /** @var IConfig | MockObject */ private $config; - /** @var ILogger | MockObject */ - private $logger; + private LoggerInterface $logger; /** @var ITimeFactory | MockObject */ private $timeFactory; @@ -60,7 +59,7 @@ class RefreshWebcalJobTest extends TestCase { $this->refreshWebcalService = $this->createMock(RefreshWebcalService::class); $this->config = $this->createMock(IConfig::class); - $this->logger = $this->createMock(ILogger::class); + $this->logger = $this->createMock(LoggerInterface::class); $this->timeFactory = $this->createMock(ITimeFactory::class); $this->jobList = $this->createMock(IJobList::class); @@ -115,7 +114,7 @@ class RefreshWebcalJobTest extends TestCase { ->with('principals/users/testuser', 'sub123'); } - $backgroundJob->execute($this->jobList, $this->logger); + $backgroundJob->start($this->jobList); } /** diff --git a/apps/settings/lib/BackgroundJobs/VerifyUserData.php b/apps/settings/lib/BackgroundJobs/VerifyUserData.php index a9fc1e19a7d..122229fc8ab 100644 --- a/apps/settings/lib/BackgroundJobs/VerifyUserData.php +++ b/apps/settings/lib/BackgroundJobs/VerifyUserData.php @@ -1,10 +1,14 @@ <?php + +declare(strict_types=1); + /** * @copyright Copyright (c) 2017 Bjoern Schiessle <bjoern@schiessle.org> * * @author Arthur Schiwon <blizzz@arthur-schiwon.de> * @author Bjoern Schiessle <bjoern@schiessle.org> * @author Christoph Wurst <christoph@winzerhof-wurst.at> + * @author Côme Chilliet <come.chilliet@nextcloud.com> * @author Joas Schilling <coding@schilljs.com> * @author Lukas Reschke <lukas@statuscode.ch> * @author Morris Jobke <hey@morrisjobke.de> @@ -37,65 +41,37 @@ use OCP\BackgroundJob\IJobList; use OCP\BackgroundJob\Job; use OCP\Http\Client\IClientService; use OCP\IConfig; -use OCP\ILogger; use OCP\IUserManager; +use Psr\Log\LoggerInterface; class VerifyUserData extends Job { - /** @var bool */ - private $retainJob = true; + private bool $retainJob = true; /** @var int max number of attempts to send the request */ - private $maxTry = 24; + private int $maxTry = 24; /** @var int how much time should be between two tries (1 hour) */ - private $interval = 3600; - - /** @var IAccountManager */ - private $accountManager; - - /** @var IUserManager */ - private $userManager; - - /** @var IClientService */ - private $httpClientService; - - /** @var ILogger */ - private $logger; - - /** @var string */ - private $lookupServerUrl; - - /** @var IConfig */ - private $config; - - public function __construct(IAccountManager $accountManager, - IUserManager $userManager, - IClientService $clientService, - ILogger $logger, + private int $interval = 3600; + private string $lookupServerUrl; + + public function __construct( + private IAccountManager $accountManager, + private IUserManager $userManager, + private IClientService $httpClientService, + private LoggerInterface $logger, ITimeFactory $timeFactory, - IConfig $config + private IConfig $config, ) { parent::__construct($timeFactory); - $this->accountManager = $accountManager; - $this->userManager = $userManager; - $this->httpClientService = $clientService; - $this->logger = $logger; $lookupServerUrl = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com'); $this->lookupServerUrl = rtrim($lookupServerUrl, '/'); - $this->config = $config; } - /** - * run the job, then remove it from the jobList - * - * @param IJobList $jobList - * @param ILogger|null $logger - */ - public function execute(IJobList $jobList, ILogger $logger = null) { + public function start(IJobList $jobList): void { if ($this->shouldRun($this->argument)) { - parent::execute($jobList, $logger); + parent::start($jobList); $jobList->remove($this, $this->argument); if ($this->retainJob) { $this->reAddJob($jobList, $this->argument); diff --git a/apps/user_ldap/lib/Migration/UUIDFix.php b/apps/user_ldap/lib/Migration/UUIDFix.php index 74ab65d347c..e36ddd1140f 100644 --- a/apps/user_ldap/lib/Migration/UUIDFix.php +++ b/apps/user_ldap/lib/Migration/UUIDFix.php @@ -23,17 +23,14 @@ */ namespace OCA\User_LDAP\Migration; -use OC\BackgroundJob\QueuedJob; use OCA\User_LDAP\Mapping\AbstractMapping; use OCA\User_LDAP\Proxy; use OCA\User_LDAP\User_Proxy; +use OCP\BackgroundJob\QueuedJob; abstract class UUIDFix extends QueuedJob { - /** @var AbstractMapping */ - protected $mapper; - - /** @var Proxy */ - protected $proxy; + protected AbstractMapping $mapper; + protected Proxy $proxy; public function run($argument) { $isUser = $this->proxy instanceof User_Proxy; diff --git a/apps/user_ldap/lib/Migration/UUIDFixGroup.php b/apps/user_ldap/lib/Migration/UUIDFixGroup.php index a90dcb5a938..c0ed3f9d48d 100644 --- a/apps/user_ldap/lib/Migration/UUIDFixGroup.php +++ b/apps/user_ldap/lib/Migration/UUIDFixGroup.php @@ -24,9 +24,11 @@ namespace OCA\User_LDAP\Migration; use OCA\User_LDAP\Group_Proxy; use OCA\User_LDAP\Mapping\GroupMapping; +use OCP\AppFramework\Utility\ITimeFactory; class UUIDFixGroup extends UUIDFix { - public function __construct(GroupMapping $mapper, Group_Proxy $proxy) { + public function __construct(ITimeFactory $time, GroupMapping $mapper, Group_Proxy $proxy) { + parent::__construct($time); $this->mapper = $mapper; $this->proxy = $proxy; } diff --git a/apps/user_ldap/lib/Migration/UUIDFixUser.php b/apps/user_ldap/lib/Migration/UUIDFixUser.php index bd6aed44a0a..3f811e434ad 100644 --- a/apps/user_ldap/lib/Migration/UUIDFixUser.php +++ b/apps/user_ldap/lib/Migration/UUIDFixUser.php @@ -24,9 +24,11 @@ namespace OCA\User_LDAP\Migration; use OCA\User_LDAP\Mapping\UserMapping; use OCA\User_LDAP\User_Proxy; +use OCP\AppFramework\Utility\ITimeFactory; class UUIDFixUser extends UUIDFix { - public function __construct(UserMapping $mapper, User_Proxy $proxy) { + public function __construct(ITimeFactory $time, UserMapping $mapper, User_Proxy $proxy) { + parent::__construct($time); $this->mapper = $mapper; $this->proxy = $proxy; } diff --git a/apps/user_ldap/tests/Migration/AbstractUUIDFixTest.php b/apps/user_ldap/tests/Migration/AbstractUUIDFixTest.php index 7cb666b2514..ca06bb9ddbd 100644 --- a/apps/user_ldap/tests/Migration/AbstractUUIDFixTest.php +++ b/apps/user_ldap/tests/Migration/AbstractUUIDFixTest.php @@ -27,37 +27,23 @@ namespace OCA\User_LDAP\Tests\Migration; use OCA\User_LDAP\Access; use OCA\User_LDAP\Helper; use OCA\User_LDAP\LDAP; -use OCA\User_LDAP\Mapping\GroupMapping; -use OCA\User_LDAP\Mapping\UserMapping; -use OCA\User_LDAP\Migration\UUIDFixUser; -use OCA\User_LDAP\User_Proxy; +use OCA\User_LDAP\Mapping\AbstractMapping; +use OCA\User_LDAP\Migration\UUIDFix; +use OCA\User_LDAP\Proxy; +use OCP\AppFramework\Utility\ITimeFactory; use OCP\IConfig; use Test\TestCase; abstract class AbstractUUIDFixTest extends TestCase { - /** @var Helper|\PHPUnit\Framework\MockObject\MockObject */ - protected $helper; - - /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */ - protected $config; - - /** @var LDAP|\PHPUnit\Framework\MockObject\MockObject */ - protected $ldap; - - /** @var UserMapping|GroupMapping|\PHPUnit\Framework\MockObject\MockObject */ - protected $mapper; - - /** @var UUIDFixUser */ - protected $job; - - /** @var User_Proxy|\PHPUnit\Framework\MockObject\MockObject */ - protected $proxy; - - /** @var Access|\PHPUnit\Framework\MockObject\MockObject */ - protected $access; - - /** @var bool */ - protected $isUser = true; + protected Helper $helper; + protected IConfig $config; + protected LDAP $ldap; + protected AbstractMapping $mapper; + protected UUIDFix $job; + protected Proxy $proxy; + protected Access $access; + protected ITimeFactory $time; + protected bool $isUser = true; protected function setUp(): void { parent::setUp(); @@ -65,6 +51,7 @@ abstract class AbstractUUIDFixTest extends TestCase { $this->ldap = $this->createMock(LDAP::class); $this->config = $this->createMock(IConfig::class); $this->access = $this->createMock(Access::class); + $this->time = $this->createMock(ITimeFactory::class); $this->helper = $this->createMock(Helper::class); $this->helper->expects($this->any()) @@ -74,7 +61,7 @@ abstract class AbstractUUIDFixTest extends TestCase { } protected function instantiateJob($className) { - $this->job = new $className($this->mapper, $this->proxy); + $this->job = new $className($this->time, $this->mapper, $this->proxy); $this->proxy->expects($this->any()) ->method('getLDAPAccess') ->willReturn($this->access); |