Merge pull request #1976 from nextcloud/bugfix/noid/delete-boards-on-user-delete

Delete boards that users own once they are deleted
This commit is contained in:
Julius Härtl
2020-06-03 12:20:50 +02:00
committed by GitHub
2 changed files with 13 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ use OCA\Deck\Collaboration\Resources\ResourceProviderCard;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
use OCA\Deck\Db\AssignedUsersMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Middleware\DefaultBoardMiddleware;
use OCA\Deck\Middleware\ExceptionMiddleware;
@@ -128,6 +129,13 @@ class Application extends App {
foreach ($assignments as $assignment) {
$assignmentMapper->delete($assignment);
}
/** @var BoardMapper $boardMapper */
$boardMapper = $container->query(BoardMapper::class);
$boards = $boardMapper->findAllByOwner($user->getUID());
foreach ($boards as $board) {
$boardMapper->delete($board);
}
});
/** @var IUserManager $userManager */

View File

@@ -106,6 +106,11 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
return $entries;
}
public function findAllByOwner(string $userId, int $limit = null, int $offset = null) {
$sql = 'SELECT * FROM `*PREFIX*deck_boards` WHERE owner = ?';
return $this->findEntities($sql, [$userId], $limit, $offset);
}
/**
* Find all boards for a given user
*