initial commit
[namibia] / module / PriceGuide / src / PriceGuide / DataBin / Offer.php
1 <?php
2 namespace PriceGuide\DataBin;
3
4
5
6 /**
7  * Manage Offer data.
8  * @author andre.fourie
9  */
10 class Offer extends \Workspace\Service\DataBin
11 {
12
13         /**
14          * @var array
15          */
16         protected $meta = array(
17                         'Base'        => 'Offer',
18                         'DatasetName' => 'models',
19                         'Entity'      => '\PriceGuide\Entity\Offer',
20                         'JobField'    => 'priceGuideStock',
21                         'References'  => array(
22                                         'priceGuideStock' => '\PriceGuide\Entity\PriceGuide',
23                                         'company'         => '\Company\Entity\Company',
24                                         'profile'         => '\User\Entity\Profile'
25                         ),
26                         'Dependants'  => array()
27         );
28         /**
29          * @var array
30         */
31         protected $metaList = array(
32                         'Type'          => 'List',
33                         'Contract'      => 'Recurring',
34                         'RequiredInput' => array(),
35                         'OptionalInput' => array(
36                                         'Filter' => array(
37                                                         'company'         => 'Id',
38                                                         'profile'         => 'Id',
39                                                         'amount'          => 'Decimal',
40                                                         'created'         => 'Date',
41                                                         'updated'         => 'Date'
42                                         )
43                         ),
44                         'Filter' => array(),
45                         'Fields' => array(),
46                         'Expand' => array('company')
47         );
48         /**
49          * @var array
50         */
51         protected $metaCreate = array(
52                         'Type'          => 'Create',
53                         'Contract'      => 'Recurring',
54                         'ExecuteAfter'  => array(
55                                         'updateStatusAndStock'
56                         ),
57                         'RequiredInput' => array(
58                                         'Offer' => array(
59                                                         'amount' => 'Decimal'
60                                         )
61                         ),
62                         'OptionalInput' => array()
63         );
64         /**
65          * @var array
66         */
67         protected $metaUpdate = array(
68                         'Type'          => 'Update',
69                         'Contract'      => 'UseOnce',
70                         'ExecuteAfter'  => array(
71                                         'updateStatusAndStock'
72                         ),
73                         'RequiredInput' => array(
74                                         'Offer' => array(
75                                                         'amount' => 'Decimal'
76                                         )
77                         ),
78                         'OptionalInput' => array()
79         );
80         /**
81          * @var array
82         */
83         protected $metaArchive = array(
84                         'Type'          => 'Update',
85                         'Contract'      => 'UseOnce',
86                         'ExecuteAfter'  => array(
87                                         'archive'
88                         ),
89                         'RequiredInput' => array(),
90                         'OptionalInput' => array()
91         );
92         /**
93          * @var array
94         */
95         protected $metaUnarchive = array(
96                         'Type'          => 'Update',
97                         'Contract'      => 'UseOnce',
98                         'ExecuteAfter'  => array(
99                                         'unarchive'
100                         ),
101                         'RequiredInput' => array(),
102                         'OptionalInput' => array()
103         );
104
105 }