PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 / AddCustomerController.php
ameliabooking / src / Application / Controller / User / Customer Last commit date
AddCustomerController.php 1 year ago GetCustomerController.php 1 year ago GetCustomersController.php 1 year ago ReauthorizeController.php 4 years ago UpdateCustomerController.php 3 years ago UpdateCustomerStatusController.php 1 year ago
AddCustomerController.php
72 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\User\Customer;
4
5 use AmeliaBooking\Application\Commands\User\Customer\AddCustomerCommand;
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 AddCustomerController
13 *
14 * @package AmeliaBooking\Application\Controller\User\Customer
15 */
16 class AddCustomerController 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 'countryPhoneIso',
34 'note',
35 'gender',
36 'externalId',
37 'pictureFullPath',
38 'pictureThumbPath',
39 'translations'
40 ];
41
42 /**
43 * Instantiates the Add Customer command to hand it over to the Command Handler
44 *
45 * @param Request $request
46 * @param $args
47 *
48 * @return AddCustomerCommand
49 * @throws \RuntimeException
50 */
51 protected function instantiateCommand(Request $request, $args)
52 {
53 $command = new AddCustomerCommand($args);
54 $requestBody = $request->getParsedBody();
55 $this->setCommandFields($command, $requestBody);
56 $command->setToken($request);
57
58 return $command;
59 }
60
61 /**
62 * @param DomainEventBus $eventBus
63 * @param CommandResult $result
64 *
65 * @return void
66 */
67 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
68 {
69 $eventBus->emit('user.added', $result);
70 }
71 }
72