option('email'))->firstOrFail(); $url = $this->option('url') ?? $this->ask('url', 'CardDAV url of the address book'); $login = $this->option('login') ?? $this->ask('login', 'Login name'); $password = $this->option('password') ?? $this->ask('password', 'User password'); try { $addressBookSubscription = app(CreateAddressBookSubscription::class)->execute([ 'account_id' => $user->account_id, 'user_id' => $user->id, 'base_uri' => $url, 'username' => $login, 'password' => $password, ]); } catch (\Exception $e) { $this->error($e->getMessage()); } if (! isset($addressBookSubscription)) { $this->error('Could not add subscription'); } else { $this->info('Subscription added'); SynchronizeAddressBooks::dispatch($addressBookSubscription, true); } } }