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 / Category / AddCategoryController.php
ameliabooking / src / Application / Controller / Bookable / Category Last commit date
AddCategoryController.php 2 years ago DeleteCategoryController.php 7 years ago GetCategoriesController.php 7 years ago GetCategoryController.php 7 years ago UpdateCategoriesPositionsController.php 7 years ago UpdateCategoryController.php 2 years 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 Slim\Http\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