userManager = $userManager; $this->dbConnection = $dbConnection; $this->config = $config; } protected function configure() { $this ->setName('dav:create-addressbook') ->setDescription('Create a dav addressbook') ->addArgument('user', InputArgument::REQUIRED, 'User for whom the addressbook will be created') ->addArgument('name', InputArgument::REQUIRED, 'Name of the addressbook'); } protected function execute(InputInterface $input, OutputInterface $output) { $user = $input->getArgument('user'); if (!$this->userManager->userExists($user)) { throw new \InvalidArgumentException("User <$user> in unknown."); } $principalBackend = new Principal( $this->config, $this->userManager ); $name = $input->getArgument('name'); $carddav = new CardDavBackend($this->dbConnection, $principalBackend); $carddav->createAddressBook("principals/users/$user", $name, []); } }