Completed
Pull Request — master (#314)
by
unknown
04:48
created

createTranslateDescriptionCommand()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 3
1
<?php
2
3
namespace CultuurNet\UDB3\Event\Commands;
4
5
use CultuurNet\UDB3\BookingInfo;
6
use CultuurNet\UDB3\ContactPoint;
7
use CultuurNet\UDB3\Description;
8
use CultuurNet\UDB3\Event\Commands\Moderation\Approve;
9
use CultuurNet\UDB3\Event\Commands\Moderation\FlagAsDuplicate;
10
use CultuurNet\UDB3\Event\Commands\Moderation\FlagAsInappropriate;
11
use CultuurNet\UDB3\Event\Commands\Moderation\Reject;
12
use CultuurNet\UDB3\Label;
13
use CultuurNet\UDB3\Language;
14
use CultuurNet\UDB3\Media\Image;
15
use CultuurNet\UDB3\Offer\AgeRange;
16
use CultuurNet\UDB3\Offer\Commands\AbstractAddLabel;
17
use CultuurNet\UDB3\Offer\Commands\AbstractRemoveLabel;
18
use CultuurNet\UDB3\Offer\Commands\AbstractDeleteOffer;
19
use CultuurNet\UDB3\Offer\Commands\AbstractDeleteOrganizer;
20
use CultuurNet\UDB3\Offer\Commands\AbstractDeleteTypicalAgeRange;
21
use CultuurNet\UDB3\Offer\Commands\AbstractTranslateTitle;
22
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateBookingInfo;
23
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateContactPoint;
24
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateDescription;
25
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateOrganizer;
26
use CultuurNet\UDB3\Offer\Commands\AbstractUpdatePriceInfo;
27
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateTypicalAgeRange;
28
use CultuurNet\UDB3\Offer\Commands\OfferCommandFactoryInterface;
29
use CultuurNet\UDB3\PriceInfo\PriceInfo;
30
use ValueObjects\Identity\UUID;
31
use ValueObjects\StringLiteral\StringLiteral;
32
33
class EventCommandFactory implements OfferCommandFactoryInterface
34
{
35
    /**
36
     * @param $id
37
     * @param Label $label
38
     * @return AbstractAddLabel
39
     */
40
    public function createAddLabelCommand($id, Label $label)
41
    {
42
        return new AddLabel($id, $label);
43
    }
44
45
    /**
46
     * @param $id
47
     * @param Label $label
48
     * @return AbstractRemoveLabel
49
     */
50
    public function createRemoveLabelCommand($id, Label $label)
51
    {
52
        return new RemoveLabel($id, $label);
53
    }
54
55
    /**
56
     * @param $id
57
     * @param Image $image
58
     * @return AddImage
59
     */
60
    public function createAddImageCommand($id, Image $image)
61
    {
62
        return new AddImage($id, $image);
63
    }
64
65
    /**
66
     * @param $id
67
     * @param Image $image
68
     * @return RemoveImage
69
     */
70
    public function createRemoveImageCommand($id, Image $image)
71
    {
72
        return new RemoveImage($id, $image);
73
    }
74
75
    /**
76
     * @param $id
77
     * @param UUID $mediaObjectId
78
     * @param StringLiteral $description
79
     * @param StringLiteral $copyrightHolder
80
     * @return UpdateImage
81
     */
82
    public function createUpdateImageCommand(
83
        $id,
84
        UUID $mediaObjectId,
85
        StringLiteral $description,
86
        StringLiteral $copyrightHolder
87
    ) {
88
        return new UpdateImage(
89
            $id,
90
            $mediaObjectId,
91
            $description,
92
            $copyrightHolder
93
        );
94
    }
95
96
    /**
97
     * @param $id
98
     * @param Image $image
99
     * @return SelectMainImage
100
     */
101
    public function createSelectMainImageCommand($id, Image $image)
102
    {
103
        return new SelectMainImage($id, $image);
104
    }
105
106
    /**
107
     * @param $id
108
     * @param Language $language
109
     * @param StringLiteral $title
110
     * @return AbstractTranslateTitle
111
     */
112
    public function createTranslateTitleCommand($id, Language $language, StringLiteral $title)
113
    {
114
        return new TranslateTitle($id, $language, $title);
115
    }
116
117
    /**
118
     * @param $id
119
     * @param Language $language
120
     * @param Description $description
121
     * @return AbstractUpdateDescription
122
     */
123
    public function createUpdateDescriptionCommand($id, Language $language, Description $description)
124
    {
125
        return new UpdateDescription($id, $language, $description);
126
    }
127
128
    /**
129
     * @param string $id
130
     * @param AgeRange $ageRange
131
     * @return AbstractUpdateTypicalAgeRange
132
     */
133
    public function createUpdateTypicalAgeRangeCommand($id, AgeRange $ageRange)
134
    {
135
        return new UpdateTypicalAgeRange($id, $ageRange);
136
    }
137
138
    /**
139
     * @param string $id
140
     * @return AbstractDeleteTypicalAgeRange
141
     */
142
    public function createDeleteTypicalAgeRangeCommand($id)
143
    {
144
        return new DeleteTypicalAgeRange($id);
145
    }
146
147
    /**
148
     * @param string $id
149
     * @param string $organizerId
150
     * @return AbstractUpdateOrganizer
151
     */
152
    public function createUpdateOrganizerCommand($id, $organizerId)
153
    {
154
        return new UpdateOrganizer($id, $organizerId);
155
    }
156
157
    /**
158
     * @param string $id
159
     * @param string $organizerId
160
     * @return AbstractDeleteOrganizer
161
     */
162
    public function createDeleteOrganizerCommand($id, $organizerId)
163
    {
164
        return new DeleteOrganizer($id, $organizerId);
165
    }
166
167
    /**
168
     * @param string $id
169
     * @param ContactPoint $contactPoint
170
     * @return AbstractUpdateContactPoint
171
     */
172
    public function createUpdateContactPointCommand($id, ContactPoint $contactPoint)
173
    {
174
        return new UpdateContactPoint($id, $contactPoint);
175
    }
176
177
    /**
178
     * @param string $id
179
     * @param BookingInfo $bookingInfo
180
     * @return AbstractUpdateBookingInfo
181
     */
182
    public function createUpdateBookingInfoCommand($id, BookingInfo $bookingInfo)
183
    {
184
        return new UpdateBookingInfo($id, $bookingInfo);
185
    }
186
187
    /**
188
     * @param $id
189
     * @param PriceInfo $priceInfo
190
     * @return UpdatePriceInfo
191
     */
192
    public function createUpdatePriceInfoCommand($id, PriceInfo $priceInfo)
193
    {
194
        return new UpdatePriceInfo($id, $priceInfo);
195
    }
196
197
    /**
198
     * @param string $id
199
     * @return AbstractDeleteOffer
200
     */
201
    public function createDeleteOfferCommand($id)
202
    {
203
        return new DeleteEvent($id);
204
    }
205
206
    /**
207
     * @param string $id
208
     * @return Approve
209
     */
210
    public function createApproveCommand($id)
211
    {
212
        return new Approve($id);
213
    }
214
215
    /**
216
     * @param string $id
217
     * @param StringLiteral $reason
218
     * @return Reject
219
     */
220
    public function createRejectCommand($id, StringLiteral $reason)
221
    {
222
        return new Reject($id, $reason);
223
    }
224
225
    /**
226
     * @param string $id
227
     * @return FlagAsInappropriate
228
     */
229
    public function createFlagAsInappropriate($id)
230
    {
231
        return new FlagAsInappropriate($id);
232
    }
233
234
    /**
235
     * @param string $id
236
     * @return FlagAsDuplicate
237
     */
238
    public function createFlagAsDuplicate($id)
239
    {
240
        return new FlagAsDuplicate($id);
241
    }
242
}
243