Files
deck/lib/Command/TransferOwnership.php
Sergey Shliakhov f42c82274f Add deck:transfer-ownership command
Signed-off-by: Sergey Shliakhov <husband.sergey@gmail.com>
2022-03-22 14:17:02 +01:00

64 lines
2.1 KiB
PHP

<?php
declare(strict_types=1);
namespace OCA\Deck\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
final class TransferOwnership extends Command {
protected function configure() {
$this
->setName('deck:transfer-ownership')
->setDescription('Change owner of deck entities')
->addArgument(
'owner',
InputArgument::REQUIRED,
'Owner uid'
)
->addArgument(
'newOwner',
InputArgument::REQUIRED,
'New owner uid'
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
$owner = $input->getArgument('owner');
$newOwner = $input->getArgument('newOwner');
$db = \OC::$server->getDatabaseConnection();
$output->writeln("Transfer deck entities from $owner to $newOwner");
$params = [
'owner' => $owner,
'newOwner' => $newOwner
];
$output->writeln('update oc_deck_assigned_users');
$stmt = $db->prepare('UPDATE `oc_deck_assigned_users` SET `participant` = :newOwner WHERE `participant` = :owner');
$stmt->execute($params);
$output->writeln('update oc_deck_attachment');
$stmt = $db->prepare('UPDATE `oc_deck_attachment` SET `created_by` = :newOwner WHERE `created_by` = :owner');
$stmt->execute($params);
$output->writeln('update oc_deck_boards');
$stmt = $db->prepare('UPDATE `oc_deck_boards` SET `owner` = :newOwner WHERE `owner` = :owner');
$stmt->execute($params);
$output->writeln('update oc_deck_board_acl');
$stmt = $db->prepare('UPDATE `oc_deck_board_acl` SET `participant` = :newOwner WHERE `participant` = :owner');
$stmt->execute($params);
$output->writeln('update oc_deck_cards');
$stmt = $db->prepare('UPDATE `oc_deck_cards` SET `owner` = :newOwner WHERE `owner` = :owner');
$stmt->execute($params);
$output->writeln("Transfer deck entities from $owner to $newOwner completed");
}
}