PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.11
Booking for Appointments and Events Calendar – Amelia v1.2.11
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 / Bookable / Service / AddServiceController.php
ameliabooking / src / Application / Controller / Bookable / Service Last commit date
AddServiceController.php 2 years ago DeleteServiceController.php 7 years ago GetServiceController.php 7 years ago GetServiceDeleteEffectController.php 7 years ago GetServicesController.php 4 years ago UpdateServiceController.php 2 years ago UpdateServiceStatusController.php 7 years ago UpdateServicesPositionsController.php 7 years ago
AddServiceController.php
95 lines
1 <?php
2 /**
3 * @copyright © TMS-Plugins. All rights reserved.
4 * @licence See LICENCE.md for license details.
5 */
6
7 namespace AmeliaBooking\Application\Controller\Bookable\Service;
8
9 use AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommand;
10 use AmeliaBooking\Application\Commands\CommandResult;
11 use AmeliaBooking\Application\Controller\Controller;
12 use AmeliaBooking\Domain\Events\DomainEventBus;
13 use Slim\Http\Request;
14
15 /**
16 * Class AddServiceController
17 *
18 * @package AmeliaBooking\Application\Controller\Bookable\Service
19 */
20 class AddServiceController extends Controller
21 {
22 /**
23 * Fields for service that can be received from front-end
24 *
25 * @var array
26 */
27 protected $allowedFields = [
28 'categoryId',
29 'color',
30 'description',
31 'duration',
32 'extras',
33 'gallery',
34 'maxCapacity',
35 'maxExtraPeople',
36 'minCapacity',
37 'name',
38 'pictureFullPath',
39 'pictureThumbPath',
40 'price',
41 'providers',
42 'status',
43 'timeAfter',
44 'bringingAnyone',
45 'show',
46 'aggregatedPrice',
47 'settings',
48 'recurringCycle',
49 'recurringSub',
50 'recurringPayment',
51 'timeBefore',
52 'translations',
53 'deposit',
54 'depositPayment',
55 'depositPerPerson',
56 'fullPayment',
57 'mandatoryExtra',
58 'minSelectedExtras',
59 'customPricing',
60 'limitPerCustomer',
61 ];
62
63 /**
64 * Instantiates the Add Service command to hand it over to the Command Handler
65 *
66 * @param Request $request
67 * @param $args
68 *
69 * @return AddServiceCommand
70 * @throws \RuntimeException
71 */
72 protected function instantiateCommand(Request $request, $args)
73 {
74 $command = new AddServiceCommand($args);
75
76 $requestBody = $request->getParsedBody();
77
78 $this->filter($requestBody);
79 $this->setCommandFields($command, $requestBody);
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('bookable.service.added', $result);
93 }
94 }
95