Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
96.43% covered (success)
96.43%
27 / 28
75.00% covered (warning)
75.00%
3 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
Log
96.43% covered (success)
96.43%
27 / 28
75.00% covered (warning)
75.00%
3 / 4
4
0.00% covered (danger)
0.00%
0 / 1
 getEntityMapping
100.00% covered (success)
100.00%
21 / 21
100.00% covered (success)
100.00%
1 / 1
1
 addConditionProcessId
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 postProcess
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionOlderThan
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace BO\Zmsbackend\Log\Repository;
4
5class Log extends \BO\Zmsbackend\Query\Base
6{
7    /**
8     * @var String TABLE mysql table reference
9     */
10    const TABLE = 'log';
11
12    /**
13     * No resolving required here
14     */
15    protected $resolveLevel = 0;
16
17    const QUERY_DELETE_BY_PROCESS = '
18        DELETE mq,  mp
19        FROM ' . self::TABLE . ' mq
20        LEFT JOIN ' . \BO\Zmsbackend\Mail\Repository\Mimepart::TABLE . ' mp ON mp.queueId = mq.id
21        WHERE mq.processID=?
22    ';
23
24    public function getEntityMapping()
25    {
26        return [
27            'type' => 'log.type',
28            'reference' => 'log.reference_id',
29            'scope_id' => 'log.scope_id',
30            'user_id' => 'log.user_id',
31            'message' => 'log.message',
32            'ts' => 'log.ts',
33            'action' => 'log.action',
34            'display_number' => 'log.display_number',
35            'queue_number' => 'log.queue_number',
36            'appointment_at' => 'log.appointment_at',
37            'slot_count' => 'log.slot_count',
38            'citizen_name' => 'log.citizen_name',
39            'services' => 'log.services',
40            'scope_name' => 'log.scope_name',
41            'citizen_email' => 'log.citizen_email',
42            'citizen_phone' => 'log.citizen_phone',
43            'process_status' => 'log.process_status',
44            'db_status' => 'log.db_status',
45            'process_amendment' => 'log.process_amendment',
46        ];
47    }
48
49    public function addConditionProcessId($processId)
50    {
51        $this->query->where('log.reference_id', '=', $processId);
52        $this->query->where('log.type', '=', 'buerger');
53        $this->query->orderBy('log.ts', 'DESC');
54        return $this;
55    }
56
57    #[\Override]
58    public function postProcess($data)
59    {
60        $data[$this->getPrefixed('ts')] = strtotime($data[$this->getPrefixed('ts')]);
61        return $data;
62    }
63
64    public function addConditionOlderThan(\DateTime $olderThanDate)
65    {
66        $this->query->where('log.ts', '<', $olderThanDate->format('Y-m-d H:i:s'));
67    }
68}