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 / Notification / UpdateNotificationController.php
ameliabooking / src / Application / Controller / Notification Last commit date
GetNotificationsController.php 1 month ago GetSMSNotificationsHistoryController.php 1 month ago SendAmeliaSmsApiRequestController.php 1 month ago SendTestEmailController.php 1 month ago SendUndeliveredNotificationsController.php 1 month ago UpdateNotificationController.php 1 month ago UpdateNotificationStatusController.php 1 month ago UpdateSMSNotificationHistoryController.php 1 month ago UpdateSMSNotificationHistoryDirectlyController.php 1 month ago ValidateSMTPCredentialsController.php 1 month 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 AmeliaVendor\Psr\Http\Message\ServerRequestInterface as 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