diff options
Diffstat (limited to 'lib/Cron/DeleteCron.php')
-rw-r--r-- | lib/Cron/DeleteCron.php | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/Cron/DeleteCron.php b/lib/Cron/DeleteCron.php index 41d027b5..f766931d 100644 --- a/lib/Cron/DeleteCron.php +++ b/lib/Cron/DeleteCron.php @@ -28,6 +28,7 @@ use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\TimedJob; use OCA\Deck\Db\AttachmentMapper; use OCA\Deck\Db\BoardMapper; +use OCA\Deck\Db\CardMapper; use OCA\Deck\InvalidAttachmentType; use OCA\Deck\Service\AttachmentService; use OCP\BackgroundJob\IJob; @@ -36,14 +37,17 @@ class DeleteCron extends TimedJob { /** @var BoardMapper */ private $boardMapper; + /** @var CardMapper */ + private $cardMapper; /** @var AttachmentService */ private $attachmentService; /** @var AttachmentMapper */ private $attachmentMapper; - public function __construct(ITimeFactory $time, BoardMapper $boardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper) { + public function __construct(ITimeFactory $time, BoardMapper $boardMapper, CardMapper $cardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper) { parent::__construct($time); $this->boardMapper = $boardMapper; + $this->cardMapper = $cardMapper; $this->attachmentService = $attachmentService; $this->attachmentMapper = $attachmentMapper; @@ -61,6 +65,12 @@ class DeleteCron extends TimedJob { $this->boardMapper->delete($board); } + $timeLimit = time() - (60 * 5); // 5 min buffer + $cards = $this->cardMapper->findToDelete($timeLimit, 500); + foreach ($cards as $card) { + $this->cardMapper->delete($card); + } + $attachments = $this->attachmentMapper->findToDelete(); foreach ($attachments as $attachment) { try { |