Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
24 / 24
100.00% covered (success)
100.00%
6 / 6
CRAP
100.00% covered (success)
100.00%
1 / 1
RequestRelation
100.00% covered (success)
100.00%
24 / 24
100.00% covered (success)
100.00%
6 / 6
6
100.00% covered (success)
100.00%
1 / 1
 getEntityMapping
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
1 / 1
1
 getReferenceMapping
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
1 / 1
1
 addConditionRequestId
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
 addConditionBookable
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionSource
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace BO\Zmsdb\Query;
4
5class RequestRelation extends Base implements MappingInterface
6{
7    const TABLE = 'request_provider';
8
9    const ALIAS = 'request_provider';
10
11    public function getEntityMapping()
12    {
13        return [
14            'request__id' => self::TABLE . '.request__id',
15            'provider__id' => self::TABLE . '.provider__id',
16            'source' => self::TABLE . '.source',
17            'slots' => self::TABLE . '.slots',
18            'public' => self::TABLE . '.public_visibility',
19            'maxQuantity' => self::TABLE . '.max_quantity'
20        ];
21    }
22
23    public function getReferenceMapping()
24    {
25        return [
26            'request__$ref' => self::expression(
27                'CONCAT("/request/", `' . self::TABLE . '`.`source`, "/", `' . self::TABLE . '`.`request__id`, "/")'
28            ),
29            'provider__$ref' => self::expression(
30                'CONCAT("/provider/", `' . self::TABLE . '`.`source`, "/", `' . self::TABLE . '`.`provider__id`, "/")'
31            )
32        ];
33    }
34
35    public function addConditionRequestId($requestId)
36    {
37        $this->query->where(self::TABLE . '.request__id', '=', $requestId);
38        return $this;
39    }
40
41    public function addConditionProviderId($providerId)
42    {
43        $this->query->where(self::TABLE . '.provider__id', '=', $providerId);
44        return $this;
45    }
46
47    public function addConditionBookable()
48    {
49        $this->query->where(self::TABLE . '.bookable', '=', 1);
50        return $this;
51    }
52
53    public function addConditionSource($sourceName)
54    {
55        $this->query->where(self::TABLE . '.source', '=', $sourceName);
56        return $this;
57    }
58}