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 / Bookable / Category / AddCategoryController.php
ameliabooking / src / Application / Controller / Bookable / Category Last commit date
AddCategoryController.php 1 month ago DeleteCategoryController.php 1 month ago GetCategoriesController.php 1 month ago GetCategoryController.php 1 month ago GetCategoryDeleteEffectController.php 1 month ago UpdateCategoriesPositionsController.php 1 month ago UpdateCategoryController.php 1 month ago
AddCategoryController.php
62 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Bookable\Category;
4
5 use AmeliaBooking\Application\Commands\Bookable\Category\AddCategoryCommand;
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 AddCategoryController
13 *
14 * @package AmeliaBooking\Application\Controller\Bookable\Category
15 */
16 class AddCategoryController extends Controller
17 {
18 /**
19 * Fields for category that can be received from front-end
20 *
21 * @var array
22 */
23 protected $allowedFields = [
24 'status',
25 'name',
26 'position',
27 'serviceList',
28 'color',
29 'pictureFullPath',
30 'pictureThumbPath',
31 ];
32
33 /**
34 * Instantiates the Add Category command to hand it over to the Command Handler
35 *
36 * @param Request $request
37 * @param $args
38 *
39 * @return AddCategoryCommand
40 * @throws \RuntimeException
41 */
42 protected function instantiateCommand(Request $request, $args)
43 {
44 $command = new AddCategoryCommand($args);
45 $requestBody = $request->getParsedBody();
46 $this->setCommandFields($command, $requestBody);
47
48 return $command;
49 }
50
51 /**
52 * @param DomainEventBus $eventBus
53 * @param CommandResult $result
54 *
55 * @return void
56 */
57 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
58 {
59 $eventBus->emit('bookable.category.added', $result);
60 }
61 }
62