birthdayService = $birthdayService; $this->config = $config; } public function run($argument) { $userId = $argument['userId']; $purgeBeforeGenerating = $argument['purgeBeforeGenerating'] ?? false; // make sure admin didn't change his mind $isGloballyEnabled = $this->config->getAppValue('dav', 'generateBirthdayCalendar', 'yes'); if ($isGloballyEnabled !== 'yes') { return; } // did the user opt out? $isUserEnabled = $this->config->getUserValue($userId, 'dav', 'generateBirthdayCalendar', 'yes'); if ($isUserEnabled !== 'yes') { return; } if ($purgeBeforeGenerating) { $this->birthdayService->resetForUser($userId); } $this->birthdayService->syncUser($userId); } }