PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.0.2
Booking for Appointments and Events Calendar – Amelia v2.0.2
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 10 months ago GetProviderController.php 1 year ago GetProvidersController.php 6 months ago UpdateProviderController.php 6 months ago UpdateProviderStatusController.php 1 year ago
UpdateProviderController.php
95 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 Slim\Http\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 'password',
54 'sendEmployeePanelAccessEmail',
55 'translations',
56 'timeZone',
57 'badgeId',
58 'stripeConnect',
59 'show'
60 ];
61
62 /**
63 * Instantiates the Update Provider command to hand it over to the Command Handler
64 *
65 * @param Request $request
66 * @param $args
67 *
68 * @return UpdateProviderCommand
69 * @throws \RuntimeException
70 */
71 protected function instantiateCommand(Request $request, $args)
72 {
73 $command = new UpdateProviderCommand($args);
74
75 $requestBody = $request->getParsedBody();
76
77 $this->filter($requestBody);
78 $this->setCommandFields($command, $requestBody);
79 $command->setToken($request);
80
81 return $command;
82 }
83
84 /**
85 * @param DomainEventBus $eventBus
86 * @param CommandResult $result
87 *
88 * @return void
89 */
90 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
91 {
92 $eventBus->emit('provider.updated', $result);
93 }
94 }
95