|
|
|
|
@ -3,6 +3,8 @@ |
|
|
|
|
namespace OCA\DAV\Command; |
|
|
|
|
|
|
|
|
|
use OCA\DAV\CardDAV\CardDavBackend; |
|
|
|
|
use OCA\DAV\Connector\Sabre\Principal; |
|
|
|
|
use OCP\IConfig; |
|
|
|
|
use OCP\IDBConnection; |
|
|
|
|
use OCP\IUserManager; |
|
|
|
|
use Symfony\Component\Console\Command\Command; |
|
|
|
|
@ -18,26 +20,30 @@ class CreateAddressBook extends Command { |
|
|
|
|
/** @var \OCP\IDBConnection */ |
|
|
|
|
protected $dbConnection; |
|
|
|
|
|
|
|
|
|
/** @var IConfig */ |
|
|
|
|
private $config; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param IUserManager $userManager |
|
|
|
|
* @param IDBConnection $dbConnection |
|
|
|
|
*/ |
|
|
|
|
function __construct(IUserManager $userManager, IDBConnection $dbConnection) { |
|
|
|
|
function __construct(IUserManager $userManager, IDBConnection $dbConnection, IConfig $config) { |
|
|
|
|
parent::__construct(); |
|
|
|
|
$this->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'); |
|
|
|
|
->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) { |
|
|
|
|
@ -45,8 +51,13 @@ class CreateAddressBook extends Command { |
|
|
|
|
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); |
|
|
|
|
$carddav = new CardDavBackend($this->dbConnection, $principalBackend); |
|
|
|
|
$carddav->createAddressBook("principals/$user", $name, []); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|