setName('dav:create-calendar') ->setDescription('Create a dav calendar') ->addArgument('user', InputArgument::REQUIRED, 'User for whom the calendar will be created') ->addArgument('name', InputArgument::REQUIRED, 'Name of the calendar'); } protected function execute(InputInterface $input, OutputInterface $output): int { $user = $input->getArgument('user'); if (!$this->userManager->userExists($user)) { throw new \InvalidArgumentException("User <$user> in unknown."); } $principalBackend = new Principal( $this->userManager, $this->groupManager, Server::get(IAccountManager::class), Server::get(\OCP\Share\IManager::class), Server::get(IUserSession::class), Server::get(IAppManager::class), Server::get(ProxyMapper::class), Server::get(KnownUserService::class), Server::get(IConfig::class), \OC::$server->getL10NFactory(), ); $random = Server::get(ISecureRandom::class); $logger = Server::get(LoggerInterface::class); $dispatcher = Server::get(IEventDispatcher::class); $config = Server::get(IConfig::class); $name = $input->getArgument('name'); $caldav = new CalDavBackend( $this->dbConnection, $principalBackend, $this->userManager, $random, $logger, $dispatcher, $config, Server::get(Backend::class), ); $caldav->createCalendar("principals/users/$user", $name, []); return self::SUCCESS; } }