OverwriteProtectionCommandController   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 3
dl 0
loc 25
ccs 0
cts 9
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A deleteExpiredRecordsCommand() 0 11 2
1
<?php
2
namespace Aoe\AoeDbSequenzer\Command;
3
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2018 AOE GmbH ([email protected])
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *
19
 *  This script is distributed in the hope that it will be useful,
20
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
21
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22
 *  GNU General Public License for more details.
23
 *
24
 *  This copyright notice MUST APPEAR in all copies of the script!
25
 ***************************************************************/
26
27
use TYPO3\CMS\Extbase\Mvc\Controller\CommandController;
28
29
/**
30
 * Extbase command controller to manage overwrite protection records
31
 *
32
 * @package Aoe\AoeDbSequenzer\Command
33
 */
34
class OverwriteProtectionCommandController extends CommandController
0 ignored issues
show
Deprecated Code introduced by
The class TYPO3\CMS\Extbase\Mvc\Controller\CommandController has been deprecated with message: since TYPO3 v9, will be removed in TYPO3 v10.0. Use symfony/console commands instead.

This class, trait or interface has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the type will be removed from the class and what other constant to use instead.

Loading history...
35
{
36
    /**
37
     * @var \Aoe\AoeDbSequenzer\Domain\Repository\OverwriteProtectionRepository
38
     * @inject
39
     */
40
    private $overwriteProtectionRepository;
41
42
    /**
43
     * Permanently deletes expired overwrite protection records.
44
     *
45
     * @return void
46
     */
47
    public function deleteExpiredRecordsCommand()
48
    {
49
        $query = $this->overwriteProtectionRepository->createQuery();
50
51
        $expiredRecords = $query->matching($query->lessThan('protected_time', time()))->execute();
52
        foreach ($expiredRecords as $expiredRecord) {
53
            $this->overwriteProtectionRepository->remove($expiredRecord);
54
        }
55
56
        $this->outputLine('Deleted %s expired overwrite protection records from database.', [$expiredRecords->count()]);
57
    }
58
}
59