Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
AvailabilityDeleteByCron
n/a
0 / 0
n/a
0 / 0
10
n/a
0 / 0
 __construct
n/a
0 / 0
n/a
0 / 0
2
 startProcessing
n/a
0 / 0
n/a
0 / 0
5
 deleteAvailability
n/a
0 / 0
n/a
0 / 0
3
1<?php
2
3namespace BO\Zmsdb\Helper;
4
5/**
6 * @codeCoverageIgnore
7 */
8class AvailabilityDeleteByCron
9{
10    protected $verbose = false;
11    protected $query;
12
13    public function __construct($verbose = false)
14    {
15        $this->query = new \BO\Zmsdb\Availability();
16        if ($verbose) {
17            $this->verbose = true;
18        }
19    }
20
21    public function startProcessing(\DateTimeImmutable $datetime, $commit = false)
22    {
23        $availabilityList = $this->query->readAvailabilityListBefore($datetime);
24        if ($this->verbose) {
25            error_log("INFO: Reading availability list");
26        }
27        foreach ($availabilityList as $availability) {
28            if ($commit) {
29                $this->deleteAvailability($availability->getId());
30            } elseif ($this->verbose) {
31                error_log("INFO: Would remove $availability");
32            }
33        }
34    }
35
36    protected function deleteAvailability(string $availabilityId)
37    {
38        if ($this->query->deleteEntity($availabilityId)) {
39            if ($this->verbose) {
40                error_log("INFO: Availability $availabilityId successfully removed");
41            }
42        } else {
43            error_log("WARN: Could not remove availability {$availabilityId}!");
44        }
45    }
46}