PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.1
Booking for Appointments and Events Calendar – Amelia v2.1
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