Completed
Push — master ( e30ecd...13caca )
by
unknown
13s queued 12s
created

CleanupExpiredTokensCronTask::process()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace AdvancedLearning\Cron;
4
5
use AdvancedLearning\Oauth2Server\Repositories\AccessTokenRepository;
6
use Carbon\Carbon;
7
use SilverStripe\Core\Config\Configurable;
8
use SilverStripe\Core\Injector\Injector;
9
use SilverStripe\CronTask\Interfaces\CronTask;
10
use SilverStripe\ORM\DB;
11
12
class CleanupExpiredTokensCronTask implements CronTask
13
{
14
    use Configurable;
15
16
    /**
17
     * Number of days to delete expired tokens.
18
     *
19
     * @var int
20
     */
21
    private static $age = 7;
22
23
    /**
24
     * Run at 1am every day.
25
     *
26
     * @return string
27
     */
28
    public function getSchedule()
29
    {
30
        return '0 1 * * *';
31
    }
32
33
    /**
34
     * Delete tokens which have expired more than $age days.
35
     */
36
    public function process()
37
    {
38
        $this->getTokenRepository()->deleteExpiredTokens(self::config()->get('age'));
39
    }
40
41
    /**
42
     * Get the repository for managing access tokens.
43
     *
44
     * @return AccessTokenRepository
45
     */
46
    protected function getTokenRepository(): AccessTokenRepository
47
    {
48
        return Injector::inst()->get(AccessTokenRepository::class);
49
    }
50
}
51