Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
73.68% covered (warning)
73.68%
14 / 19
60.00% covered (warning)
60.00%
3 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
MailQueue
73.68% covered (warning)
73.68%
14 / 19
60.00% covered (warning)
60.00%
3 / 5
6.66
0.00% covered (danger)
0.00%
0 / 1
 getEntityMapping
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
1
 addConditionItemId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addOrderBy
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addWhereIn
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 selectFields
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace BO\Zmsbackend\Mail\Repository;
4
5class MailQueue extends \BO\Zmsbackend\Query\Base
6{
7    /**
8     * @var String TABLE mysql table reference
9     */
10    const string TABLE = 'mailqueue';
11
12    const QUERY_DELETE = '
13        DELETE mq,  mp
14            FROM ' . self::TABLE . ' mq
15            LEFT JOIN ' . \BO\Zmsbackend\Mail\Repository\Mimepart::TABLE . ' mp ON mp.queueId = mq.id
16            WHERE mq.id=?
17    ';
18
19    const QUERY_MULTI_DELETE = '
20        DELETE mq, mp
21        FROM ' . self::TABLE . ' mq
22        LEFT JOIN ' . \BO\Zmsbackend\Mail\Repository\Mimepart::TABLE . ' mp ON mp.queueId = mq.id
23        WHERE mq.id IN (?)
24    ';
25
26    /**
27     * @psalm-api
28     *
29     * @return string[]
30     *
31     */
32    public function getEntityMapping(): array
33    {
34        return [
35            'id' => 'mailQueue.id',
36            'createIP' => 'mailQueue.createIP',
37            'createTimestamp' => 'mailQueue.createTimestamp',
38            'subject' => 'mailQueue.subject',
39            'client__email' => 'mailQueue.clientEmail',
40            'client__familyName' => 'mailQueue.clientFamilyName',
41            'process__id' => 'mailQueue.processID',
42            'department__id' => 'mailQueue.departmentID'
43        ];
44    }
45
46    public function addConditionItemId($itemId): static
47    {
48        $this->query->where('mailQueue.id', '=', $itemId);
49        return $this;
50    }
51
52    public function addOrderBy(string $parameter, $order = 'ASC'): static
53    {
54        $this->query->orderBy('mailQueue.' . $parameter, $order);
55        return $this;
56    }
57
58    public function addWhereIn(string $column, array $itemIds): static
59    {
60        if (!empty($itemIds)) {
61            $this->query->where($column, 'IN', $itemIds);
62        }
63        return $this;
64    }
65
66    public function selectFields(array $fields): static
67    {
68        $this->query->select($fields);
69        return $this;
70    }
71}