diff --git a/lib/Command/CirclesRemote.php b/lib/Command/CirclesRemote.php index 15dee8ac2..cdb4a594e 100644 --- a/lib/Command/CirclesRemote.php +++ b/lib/Command/CirclesRemote.php @@ -70,6 +70,7 @@ protected function configure() { $this->setName('circles:remote') ->setDescription('remote features') ->addArgument('host', InputArgument::OPTIONAL, 'host of the remote instance of Nextcloud') + ->addOption('delete', '', InputOption::VALUE_NONE, 'delete the remote instance from database') ->addOption( 'type', '', InputOption::VALUE_REQUIRED, 'set type of remote', RemoteInstance::TYPE_UNKNOWN ) @@ -96,7 +97,12 @@ protected function execute(InputInterface $input, OutputInterface $output): int $this->output = $output; if ($host) { - $this->requestInstance($host); + if ($input->getOption('delete')) { + $this->remoteRequest->deleteInstance($host); + return 0; + } else { + $this->requestInstance($host); + } } else { $this->checkKnownInstance(); } diff --git a/lib/Db/RemoteRequest.php b/lib/Db/RemoteRequest.php index dbc09865b..b4ce78e11 100644 --- a/lib/Db/RemoteRequest.php +++ b/lib/Db/RemoteRequest.php @@ -253,6 +253,15 @@ public function searchDuplicate(RemoteInstance $remoteInstance): RemoteInstance } + /** + * @param RemoteInstance $remoteInstance + */ + public function deleteInstance(string $host) { + $qb = $this->getRemoteDeleteSql(); + $qb->limitToInstance($host); + $qb->executeStatement(); + } + /** * @param RemoteInstance $remoteInstance */