PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Domain / Factory / Zoom / ZoomFactory.php
ameliabooking / src / Domain / Factory / Zoom Last commit date
ZoomFactory.php 6 years ago
ZoomFactory.php
42 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\Zoom;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\Entity\Zoom\ZoomMeeting;
7 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
8 use AmeliaBooking\Domain\ValueObjects\String\Url;
9
10 /**
11 * Class ZoomFactory
12 *
13 * @package AmeliaBooking\Domain\Factory\Zoom
14 */
15 class ZoomFactory
16 {
17 /**
18 * @param $data
19 *
20 * @return ZoomMeeting
21 * @throws InvalidArgumentException
22 */
23 public static function create($data)
24 {
25 $zoomMeeting = new ZoomMeeting();
26
27 if (isset($data['id'])) {
28 $zoomMeeting->setId(new Id($data['id']));
29 }
30
31 if (isset($data['joinUrl'])) {
32 $zoomMeeting->setJoinUrl(new Url($data['joinUrl']));
33 }
34
35 if (isset($data['startUrl'])) {
36 $zoomMeeting->setStartUrl(new Url($data['startUrl']));
37 }
38
39 return $zoomMeeting;
40 }
41 }
42