PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.4 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 / Application / Controller / User / Provider / AddProviderController.php
ameliabooking / src / Application / Controller / User / Provider Last commit date
AddProviderController.php 2 years ago GetProviderController.php 7 years ago GetProvidersController.php 7 years ago UpdateProviderController.php 1 year ago UpdateProviderStatusController.php 7 years ago
AddProviderController.php
86 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\User\Provider;
4
5 use AmeliaBooking\Application\Commands\User\Provider\AddProviderCommand;
6 use AmeliaBooking\Application\Commands\CommandResult;
7 use AmeliaBooking\Application\Controller\Controller;
8 use AmeliaBooking\Domain\Events\DomainEventBus;
9 use Slim\Http\Request;
10
11 /**
12 * Class AddProviderController
13 *
14 * @package AmeliaBooking\Application\Controller\User\Provider
15 */
16 class AddProviderController extends Controller
17 {
18 /**
19 * Fields for provider that can be received from front-end
20 *
21 * @var array
22 */
23 protected $allowedFields = [
24 'type',
25 'status',
26 'firstName',
27 'lastName',
28 'birthday',
29 'email',
30 'externalId',
31 'locationId',
32 'avatar',
33 'phone',
34 'countryPhoneIso',
35 'note',
36 'description',
37 'serviceList',
38 'weekDayList',
39 'specialDayList',
40 'timeOutList',
41 'periodList',
42 'dayOffList',
43 'externalId',
44 'pictureFullPath',
45 'pictureThumbPath',
46 'password',
47 'sendEmployeePanelAccessEmail',
48 'translations',
49 'timeZone',
50 'badgeId',
51 'stripeConnect',
52 ];
53
54 /**
55 * Instantiates the Add Provider command to hand it over to the Command Handler
56 *
57 * @param Request $request
58 * @param $args
59 *
60 * @return AddProviderCommand
61 * @throws \RuntimeException
62 */
63 protected function instantiateCommand(Request $request, $args)
64 {
65 $command = new AddProviderCommand($args);
66
67 $requestBody = $request->getParsedBody();
68
69 $this->filter($requestBody);
70 $this->setCommandFields($command, $requestBody);
71
72 return $command;
73 }
74
75 /**
76 * @param DomainEventBus $eventBus
77 * @param CommandResult $result
78 *
79 * @return void
80 */
81 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
82 {
83 $eventBus->emit('provider.added', $result);
84 }
85 }
86