diff options
Diffstat (limited to 'apps/lookup_server_connector/lib')
3 files changed, 32 insertions, 36 deletions
diff --git a/apps/lookup_server_connector/lib/AppInfo/Application.php b/apps/lookup_server_connector/lib/AppInfo/Application.php index fbad7a9f878..4a43e925970 100644 --- a/apps/lookup_server_connector/lib/AppInfo/Application.php +++ b/apps/lookup_server_connector/lib/AppInfo/Application.php @@ -37,7 +37,7 @@ class Application extends App implements IBootstrap { */ private function registerEventListeners(IEventDispatcher $dispatcher, ContainerInterface $appContainer): void { - $dispatcher->addListener(UserUpdatedEvent::class, function (UserUpdatedEvent $event) use ($appContainer) { + $dispatcher->addListener(UserUpdatedEvent::class, function (UserUpdatedEvent $event) use ($appContainer): void { /** @var UpdateLookupServer $updateLookupServer */ $updateLookupServer = $appContainer->get(UpdateLookupServer::class); $updateLookupServer->userUpdated($event->getUser()); diff --git a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php index 1958e666503..08fe0b3fa2b 100644 --- a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php +++ b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php @@ -19,11 +19,7 @@ use OCP\IUser; use OCP\IUserManager; class RetryJob extends Job { - private IClientService $clientService; private string $lookupServer; - private IConfig $config; - private IUserManager $userManager; - private IAccountManager $accountManager; private Signer $signer; protected int $retries = 0; protected bool $retainJob = false; @@ -36,20 +32,18 @@ class RetryJob extends Job { * @param IAccountManager $accountManager * @param Signer $signer */ - public function __construct(ITimeFactory $time, - IClientService $clientService, - IConfig $config, - IUserManager $userManager, - IAccountManager $accountManager, - Signer $signer) { + public function __construct( + ITimeFactory $time, + private IClientService $clientService, + private IConfig $config, + private IUserManager $userManager, + private IAccountManager $accountManager, + Signer $signer, + ) { parent::__construct($time); - $this->clientService = $clientService; - $this->config = $config; - $this->userManager = $userManager; - $this->accountManager = $accountManager; $this->signer = $signer; - $this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com'); + $this->lookupServer = $this->config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com'); if (!empty($this->lookupServer)) { $this->lookupServer = rtrim($this->lookupServer, '/'); $this->lookupServer .= '/users'; @@ -66,7 +60,7 @@ class RetryJob extends Job { return; } - $this->retries = (int) $this->config->getUserValue($this->argument['userId'], 'lookup_server_connector', 'update_retries', '0'); + $this->retries = (int)$this->config->getUserValue($this->argument['userId'], 'lookup_server_connector', 'update_retries', '0'); if ($this->shouldRemoveBackgroundJob()) { $jobList->remove($this, $this->argument); @@ -90,10 +84,12 @@ class RetryJob extends Job { * - max retries are reached (set to 5) */ protected function shouldRemoveBackgroundJob(): bool { - return $this->config->getSystemValueBool('has_internet_connection', true) === false || - $this->config->getSystemValueString('lookup_server', 'https://lookup.nextcloud.com') === '' || - $this->config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes') !== 'yes' || - $this->retries >= 5; + // TODO: Remove global scale condition once lookup server is used for non-global scale federation + // return $this->config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'no') !== 'yes' + return !$this->config->getSystemValueBool('gs.enabled', false) + || $this->config->getSystemValueBool('has_internet_connection', true) === false + || $this->config->getSystemValueString('lookup_server', 'https://lookup.nextcloud.com') === '' + || $this->retries >= 5; } protected function shouldRun(): bool { @@ -155,7 +151,7 @@ class RetryJob extends Job { $user->getUID(), 'lookup_server_connector', 'update_retries', - $this->retries + 1 + (string)($this->retries + 1), ); } } @@ -164,9 +160,13 @@ class RetryJob extends Job { $account = $this->accountManager->getAccount($user); $publicData = []; - foreach ($account->getProperties() as $property) { + foreach ($account->getAllProperties() as $property) { if ($property->getScope() === IAccountManager::SCOPE_PUBLISHED) { - $publicData[$property->getName()] = $property->getValue(); + $publicData[$property->getName()] = [ + 'value' => $property->getValue(), + 'verified' => $property->getVerified(), + 'signature' => $property->getVerificationData(), + ]; } } diff --git a/apps/lookup_server_connector/lib/UpdateLookupServer.php b/apps/lookup_server_connector/lib/UpdateLookupServer.php index 9ccf149e12c..dac3e8a80fa 100644 --- a/apps/lookup_server_connector/lib/UpdateLookupServer.php +++ b/apps/lookup_server_connector/lib/UpdateLookupServer.php @@ -19,19 +19,14 @@ use OCP\IUser; * @package OCA\LookupServerConnector */ class UpdateLookupServer { - /** @var IConfig */ - private $config; - /** @var IJobList */ - private $jobList; - /** * @param IJobList $jobList * @param IConfig $config */ - public function __construct(IJobList $jobList, - IConfig $config) { - $this->config = $config; - $this->jobList = $jobList; + public function __construct( + private IJobList $jobList, + private IConfig $config, + ) { } /** @@ -61,8 +56,9 @@ class UpdateLookupServer { * @return bool */ private function shouldUpdateLookupServer(): bool { - return $this->config->getSystemValueBool('has_internet_connection', true) === true && - $this->config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes') === 'yes' && - $this->config->getSystemValueString('lookup_server', 'https://lookup.nextcloud.com') !== ''; + // TODO: Consider reenable for non-global-scale setups by checking "'files_sharing', 'lookupServerUploadEnabled'" instead of "gs.enabled" + return $this->config->getSystemValueBool('gs.enabled', false) + && $this->config->getSystemValueBool('has_internet_connection', true) + && $this->config->getSystemValueString('lookup_server', 'https://lookup.nextcloud.com') !== ''; } } |