%PDF- %PDF-
| Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Command/ |
| Current File : /www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Command/BackupDeleteCommand.php |
<?php
/**
* This file is part of the Passwords App
* created by Marius David Wieschollek
* and licensed under the AGPL.
*/
namespace OCA\Passwords\Command;
use Exception;
use OCA\Passwords\Services\BackupService;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
/**
* Class BackupDeleteCommand
*
* @package OCA\Passwords\Command
*/
class BackupDeleteCommand extends Command {
/**
* @var BackupService
*/
protected BackupService $backupService;
/**
* BackupDeleteCommand constructor.
*
* @param BackupService $backupService
*/
public function __construct(BackupService $backupService) {
$this->backupService = $backupService;
parent::__construct();
}
/**
*
*/
protected function configure(): void {
$this->setName('passwords:backup:delete')
->addArgument('name', InputArgument::REQUIRED, 'The backup to delete')
->setDescription('Delete a manually created backup file');
}
/**
* @param InputInterface $input
* @param OutputInterface $output
*
* @return int
* @throws NotPermittedException
* @throws Exception
*/
protected function execute(InputInterface $input, OutputInterface $output): int {
$backup = $input->getArgument('name');
$backups = $this->backupService->getBackups('backups');
if(isset($backups[ $backup ])) {
$backups[ $backup ]->delete();
$output->writeln('Deleted: '.$backup);
} else {
throw new NotFoundException();
}
return 0;
}
}