$dispatcher = \OC::$server->getEventDispatcher();
$dispatcher->addListener('OC\AccountManager::userUpdated', function(\Symfony\Component\EventDispatcher\GenericEvent $event) {
+ /** @var \OCP\IUser $user */
$user = $event->getSubject();
- $keyManager = new \OC\Security\IdentityProof\Manager(
- \OC::$server->getAppDataDir('identityproof'),
- \OC::$server->getCrypto()
- );
-
- $config = \OC::$server->getConfig();
- $lookupServer = $config->getSystemValue('lookup_server', '');
-
- $updateLookupServer = new \OCA\LookupServerConnector\UpdateLookupServer(
- new \OC\Accounts\AccountManager(
- \OC::$server->getDatabaseConnection(),
- \OC::$server->getEventDispatcher(),
- \OC::$server->getJobList()
- ),
- \OC::$server->getHTTPClientService(),
- new \OC\Security\IdentityProof\Signer(
- $keyManager,
- new \OC\AppFramework\Utility\TimeFactory(),
- \OC::$server->getUserManager()
- ),
- \OC::$server->getJobList(),
- $lookupServer
- );
+ /** @var \OCA\LookupServerConnector\UpdateLookupServer $updateLookupServer */
+ $updateLookupServer = \OC::$server->query(\OCA\LookupServerConnector\UpdateLookupServer::class);
$updateLookupServer->userUpdated($user);
});
use OCA\LookupServerConnector\BackgroundJobs\RetryJob;
use OCP\BackgroundJob\IJobList;
use OCP\Http\Client\IClientService;
+use OCP\IConfig;
use OCP\IUser;
/**
/** @var IJobList */
private $jobList;
/** @var string URL point to lookup server */
- private $lookupServer = 'https://lookup.nextcloud.com';
+ private $lookupServer;
/**
* @param AccountManager $accountManager
* @param IClientService $clientService
* @param Signer $signer
* @param IJobList $jobList
- * @param string $lookupServer if nothing is given we use the default lookup server
+ * @param IConfig $config
*/
public function __construct(AccountManager $accountManager,
IClientService $clientService,
Signer $signer,
IJobList $jobList,
- $lookupServer = '') {
+ IConfig $config) {
$this->accountManager = $accountManager;
$this->clientService = $clientService;
$this->signer = $signer;
$this->jobList = $jobList;
- if ($lookupServer !== '') {
- $this->lookupServer = $lookupServer;
- }
+
+ $this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com');
$this->lookupServer = rtrim($this->lookupServer, '/');
$this->lookupServer .= '/users';
}