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 / Customer / UpdateCustomerController.php
ameliabooking / src / Application / Controller / User / Customer Last commit date
AddCustomerController.php 1 year ago GetCustomerController.php 1 year ago GetCustomersController.php 6 months ago ReauthorizeController.php 10 months ago UpdateCustomerController.php 1 year ago UpdateCustomerStatusController.php 1 year ago
UpdateCustomerController.php
82 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\User\Customer;
4
5 use AmeliaBooking\Application\Commands\User\Customer\UpdateCustomerCommand;
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 UpdateCustomerController
13 *
14 * @package AmeliaBooking\Application\Controller\User\Customer
15 */
16 class UpdateCustomerController extends Controller
17 {
18 /**
19 * Fields for user that can be received from front-end
20 *
21 * @var array
22 */
23 protected $allowedFields = [
24 'status',
25 'type',
26 'firstName',
27 'lastName',
28 'birthday',
29 'email',
30 'externalId',
31 'avatar',
32 'phone',
33 'note',
34 'gender',
35 'password',
36 'countryPhoneIso',
37 'pictureFullPath',
38 'pictureThumbPath',
39 'translations',
40 'customFields'
41 ];
42
43 /**
44 * Instantiates the Update Customer command to hand it over to the Command Handler
45 *
46 * @param Request $request
47 * @param $args
48 *
49 * @return UpdateCustomerCommand
50 * @throws \RuntimeException
51 */
52 protected function instantiateCommand(Request $request, $args)
53 {
54 $command = new UpdateCustomerCommand($args);
55
56 $requestBody = $request->getParsedBody();
57
58 $this->setCommandFields($command, $requestBody);
59 $command->setField('id', $args['id']);
60 $command->setToken($request);
61
62 $params = $request->getQueryParams();
63
64 if (isset($params['source'])) {
65 $command->setPage($params['source']);
66 }
67
68 return $command;
69 }
70
71 /**
72 * @param DomainEventBus $eventBus
73 * @param CommandResult $result
74 *
75 * @return void
76 */
77 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
78 {
79 $eventBus->emit('user.updated', $result);
80 }
81 }
82