PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4
Booking for Appointments and Events Calendar – Amelia v2.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 / Notification / UpdateNotificationController.php
ameliabooking / src / Application / Controller / Notification Last commit date
GetNotificationsController.php 1 year ago GetSMSNotificationsHistoryController.php 4 years ago SendAmeliaSmsApiRequestController.php 1 year ago SendTestEmailController.php 1 year ago SendUndeliveredNotificationsController.php 4 years ago UpdateNotificationController.php 1 year ago UpdateNotificationStatusController.php 1 year ago UpdateSMSNotificationHistoryController.php 6 months ago UpdateSMSNotificationHistoryDirectlyController.php 6 months ago ValidateSMTPCredentialsController.php 4 months ago
UpdateNotificationController.php
70 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Notification;
4
5 use AmeliaBooking\Application\Commands\CommandResult;
6 use AmeliaBooking\Application\Commands\Notification\UpdateNotificationCommand;
7 use AmeliaBooking\Application\Controller\Controller;
8 use AmeliaBooking\Domain\Events\DomainEventBus;
9 use Slim\Http\Request;
10
11 /**
12 * Class UpdateNotificationController
13 *
14 * @package AmeliaBooking\Application\Controller\Notification
15 */
16 class UpdateNotificationController extends Controller
17 {
18 /**
19 * Fields for notification that can be received from front-end
20 *
21 * @var array
22 */
23 protected $allowedFields = [
24 'name',
25 'customName',
26 'sendOnlyMe',
27 'time',
28 'entity',
29 'timeBefore',
30 'timeAfter',
31 'subject',
32 'content',
33 'translations',
34 'entityIds',
35 'status',
36 'type',
37 'whatsAppTemplate',
38 'minimumTimeBeforeBooking'
39 ];
40
41 /**
42 * Instantiates the Update Notification command to hand it over to the Command Handler
43 *
44 * @param Request $request
45 * @param $args
46 *
47 * @return UpdateNotificationCommand
48 * @throws \RuntimeException
49 */
50 protected function instantiateCommand(Request $request, $args)
51 {
52 $command = new UpdateNotificationCommand($args);
53 $requestBody = $request->getParsedBody();
54 $this->setCommandFields($command, $requestBody);
55
56 return $command;
57 }
58
59 /**
60 * @param DomainEventBus $eventBus
61 * @param CommandResult $result
62 *
63 * @return void
64 */
65 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
66 {
67 $eventBus->emit('notification.updated', $result);
68 }
69 }
70