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 / UpdateProviderController.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
UpdateProviderController.php
96 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\User\Provider;
4
5 use AmeliaBooking\Application\Commands\CommandResult;
6 use AmeliaBooking\Application\Commands\User\Provider\UpdateProviderCommand;
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 UpdateProviderController
13 *
14 * @package AmeliaBooking\Application\Controller\User
15 */
16 class UpdateProviderController 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 'firstName',
26 'lastName',
27 'birthday',
28 'email',
29 'employeeAppleCalendar',
30 'externalId',
31 'locationId',
32 'avatar',
33 'phone',
34 'countryPhoneIso',
35 'note',
36 'description',
37 'gender',
38 'serviceList',
39 'weekDayList',
40 'specialDayList',
41 'removedSpecialDayList',
42 'timeOutList',
43 'periodList',
44 'dayOffList',
45 'removedDayOffList',
46 'pictureFullPath',
47 'pictureThumbPath',
48 'zoomUserId',
49 'appleCalendarId',
50 'googleCalendarId',
51 'googleCalendar',
52 'outlookCalendar',
53 'outlookCalendarId',
54 'password',
55 'sendEmployeePanelAccessEmail',
56 'translations',
57 'timeZone',
58 'badgeId',
59 'stripeConnect',
60 'show'
61 ];
62
63 /**
64 * Instantiates the Update Provider command to hand it over to the Command Handler
65 *
66 * @param Request $request
67 * @param $args
68 *
69 * @return UpdateProviderCommand
70 * @throws \RuntimeException
71 */
72 protected function instantiateCommand(Request $request, $args)
73 {
74 $command = new UpdateProviderCommand($args);
75
76 $requestBody = $request->getParsedBody();
77
78 $this->filter($requestBody);
79 $this->setCommandFields($command, $requestBody);
80 $command->setToken($request);
81
82 return $command;
83 }
84
85 /**
86 * @param DomainEventBus $eventBus
87 * @param CommandResult $result
88 *
89 * @return void
90 */
91 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
92 {
93 $eventBus->emit('provider.updated', $result);
94 }
95 }
96