Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
55.56% covered (warning)
55.56%
10 / 18
50.00% covered (danger)
50.00%
3 / 6
CRAP
0.00% covered (danger)
0.00%
0 / 1
Mailtemplate
55.56% covered (warning)
55.56%
10 / 18
50.00% covered (danger)
50.00%
3 / 6
9.16
0.00% covered (danger)
0.00%
0 / 1
 addConditionName
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 addConditionWithoutProvider
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionProviderId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 addTemplateContent
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 getEntityMapping
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace BO\Zmsbackend\Mail\Repository;
4
5class Mailtemplate extends \BO\Zmsbackend\Query\Base
6{
7    /**
8     * @var String TABLE mysql table reference
9     */
10    const string TABLE = 'mailtemplate';
11
12    const string QUERY_SELECT = '
13        SELECT * FROM mailtemplate
14    ';
15
16    const string QUERY_SELECT_PROPERTY =
17            'SELECT
18                value
19            FROM mailtemplate
20            WHERE name = ?
21            ';
22
23    const string QUERY_REPLACE_PROPERTY =
24        'REPLACE INTO mailtemplate
25            SET name  = :property, 
26                value = :value
27            ';
28
29
30    protected $resolveLevel = 1;
31
32    public function addConditionName($itemName): static
33    {
34        $this->query->where(self::TABLE . '.name', '=', $itemName);
35        return $this;
36    }
37
38    public function addConditionWithoutProvider(): static
39    {
40        $this->query->where(self::TABLE . '.provider', '=', '')->orWhere(self::TABLE . '.provider', 'IS', null);
41        return $this;
42    }
43
44    public function addConditionProviderId($providerId): static
45    {
46        $this->query->where(self::TABLE . '.provider', '=', $providerId);
47        return $this;
48    }
49
50    public function addConditionId($templateId): static
51    {
52        $this->query->where(self::TABLE . '.id', '=', $templateId);
53        return $this;
54    }
55
56    public function addTemplateContent($templateContent): static
57    {
58        $this->query->values(array(
59            'mailtemplate.value' => $templateContent
60        ));
61        return $this;
62    }
63
64    /**
65     * @psalm-api
66     *
67     * @return string[]
68     *
69     */
70    public function getEntityMapping(): array
71    {
72        return [
73            'id' => 'mailtemplate.id',
74            'name' => 'mailtemplate.name',
75            'value' => 'mailtemplate.value',
76            'provider' => 'mailtemplate.provider'
77        ];
78    }
79}