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 / Application / Controller / User / Provider / AddProviderController.php
ameliabooking / src / Application / Controller / User / Provider Last commit date
AddProviderController.php 1 month ago GetProviderController.php 1 month ago GetProvidersController.php 1 month ago UpdateProviderController.php 1 month ago UpdateProviderStatusController.php 1 month ago
AddProviderController.php
87 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 AmeliaVendor\Psr\Http\Message\ServerRequestInterface as 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 'show',
53 ];
54
55 /**
56 * Instantiates the Add Provider command to hand it over to the Command Handler
57 *
58 * @param Request $request
59 * @param $args
60 *
61 * @return AddProviderCommand
62 * @throws \RuntimeException
63 */
64 protected function instantiateCommand(Request $request, $args)
65 {
66 $command = new AddProviderCommand($args);
67
68 $requestBody = $request->getParsedBody();
69
70 $this->filter($requestBody);
71 $this->setCommandFields($command, $requestBody);
72
73 return $command;
74 }
75
76 /**
77 * @param DomainEventBus $eventBus
78 * @param CommandResult $result
79 *
80 * @return void
81 */
82 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
83 {
84 $eventBus->emit('provider.added', $result);
85 }
86 }
87