PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.31
Booking for Appointments and Events Calendar – Amelia v1.2.31
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 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 / UpdateProviderController.php
ameliabooking / src / Application / Controller / User / Provider Last commit date
AddProviderController.php 2 years ago GetProviderController.php 1 year ago GetProvidersController.php 7 years ago UpdateProviderController.php 1 year ago UpdateProviderStatusController.php 1 year ago
UpdateProviderController.php
91 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 'timeOutList',
42 'periodList',
43 'dayOffList',
44 'pictureFullPath',
45 'pictureThumbPath',
46 'zoomUserId',
47 'appleCalendarId',
48 'googleCalendar',
49 'outlookCalendar',
50 'password',
51 'sendEmployeePanelAccessEmail',
52 'translations',
53 'timeZone',
54 'badgeId',
55 'stripeConnect'
56 ];
57
58 /**
59 * Instantiates the Update Provider command to hand it over to the Command Handler
60 *
61 * @param Request $request
62 * @param $args
63 *
64 * @return UpdateProviderCommand
65 * @throws \RuntimeException
66 */
67 protected function instantiateCommand(Request $request, $args)
68 {
69 $command = new UpdateProviderCommand($args);
70
71 $requestBody = $request->getParsedBody();
72
73 $this->filter($requestBody);
74 $this->setCommandFields($command, $requestBody);
75 $command->setToken($request);
76
77 return $command;
78 }
79
80 /**
81 * @param DomainEventBus $eventBus
82 * @param CommandResult $result
83 *
84 * @return void
85 */
86 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
87 {
88 $eventBus->emit('provider.updated', $result);
89 }
90 }
91