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