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 / Customer / AddCustomerController.php
ameliabooking / src / Application / Controller / User / Customer Last commit date
AddCustomerController.php 1 month ago GetCustomerController.php 1 month ago GetCustomersController.php 1 month ago ReauthorizeController.php 1 month ago UpdateCustomerController.php 1 month ago UpdateCustomerNoteController.php 1 month ago UpdateCustomerStatusController.php 1 month ago
AddCustomerController.php
73 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 AmeliaVendor\Psr\Http\Message\ServerRequestInterface as 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 'customFields'
41 ];
42
43 /**
44 * Instantiates the Add Customer command to hand it over to the Command Handler
45 *
46 * @param Request $request
47 * @param $args
48 *
49 * @return AddCustomerCommand
50 * @throws \RuntimeException
51 */
52 protected function instantiateCommand(Request $request, $args)
53 {
54 $command = new AddCustomerCommand($args);
55 $requestBody = $request->getParsedBody();
56 $this->setCommandFields($command, $requestBody);
57 $command->setToken($request);
58
59 return $command;
60 }
61
62 /**
63 * @param DomainEventBus $eventBus
64 * @param CommandResult $result
65 *
66 * @return void
67 */
68 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
69 {
70 $eventBus->emit('user.added', $result);
71 }
72 }
73