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 / UpdateServiceController.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
UpdateServiceController.php
99 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\UpdateServiceCommand;
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 UpdateServiceController
17 *
18 * @package AmeliaBooking\Application\Controller\Bookable\Service
19 */
20 class UpdateServiceController 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 'timeBefore',
45 'translations',
46 'bringingAnyone',
47 'show',
48 'applyGlobally',
49 'aggregatedPrice',
50 'settings',
51 'recurringCycle',
52 'recurringSub',
53 'recurringPayment',
54 'position',
55 'deposit',
56 'depositPayment',
57 'depositPerPerson',
58 'fullPayment',
59 'mandatoryExtra',
60 'minSelectedExtras',
61 'customPricing',
62 'limitPerCustomer',
63 ];
64
65 /**
66 * Instantiates the Update Service command to hand it over to the Command Handler
67 *
68 * @param Request $request
69 * @param $args
70 *
71 * @return UpdateServiceCommand
72 * @throws \RuntimeException
73 */
74 protected function instantiateCommand(Request $request, $args)
75 {
76 $command = new UpdateServiceCommand($args);
77
78 $command->setField('id', (int)$command->getArg('id'));
79
80 $requestBody = $request->getParsedBody();
81
82 $this->filter($requestBody);
83 $this->setCommandFields($command, $requestBody);
84
85 return $command;
86 }
87
88 /**
89 * @param DomainEventBus $eventBus
90 * @param CommandResult $result
91 *
92 * @return void
93 */
94 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
95 {
96 $eventBus->emit('bookable.service.updated', $result);
97 }
98 }
99