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 / Commands / Notification / UpdateSMSNotificationHistoryCommandHandler.php
ameliabooking / src / Application / Commands / Notification Last commit date
GetNotificationsCommand.php 1 year ago GetNotificationsCommandHandler.php 6 months ago GetSMSNotificationsHistoryCommand.php 1 year ago GetSMSNotificationsHistoryCommandHandler.php 6 months ago SendAmeliaSmsApiRequestCommand.php 1 year ago SendAmeliaSmsApiRequestCommandHandler.php 2 years ago SendTestEmailCommand.php 1 year ago SendTestEmailCommandHandler.php 6 months ago SendUndeliveredNotificationsCommand.php 1 year ago SendUndeliveredNotificationsCommandHandler.php 2 years ago UpdateNotificationCommand.php 1 year ago UpdateNotificationCommandHandler.php 2 weeks ago UpdateNotificationStatusCommand.php 1 year ago UpdateNotificationStatusCommandHandler.php 6 months ago UpdateSMSNotificationHistoryCommand.php 1 year ago UpdateSMSNotificationHistoryCommandHandler.php 6 months ago UpdateSMSNotificationHistoryDirectlyCommand.php 6 months ago UpdateSMSNotificationHistoryDirectlyCommandHandler.php 6 months ago ValidateSMTPCredentialsCommand.php 4 months ago ValidateSMTPCredentialsCommandHandler.php 4 months ago
UpdateSMSNotificationHistoryCommandHandler.php
58 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Commands\Notification;
4
5 use AmeliaBooking\Application\Commands\CommandHandler;
6 use AmeliaBooking\Application\Commands\CommandResult;
7 use AmeliaBooking\Application\Common\Exceptions\AccessDeniedException;
8 use AmeliaBooking\Application\Services\Validation\ValidationService;
9 use AmeliaBooking\Infrastructure\Common\Exceptions\QueryExecutionException;
10 use AmeliaBooking\Infrastructure\Repository\Notification\NotificationSMSHistoryRepository;
11
12 /**
13 * Class UpdateSMSNotificationHistoryCommandHandler
14 *
15 * @package AmeliaBooking\Application\Commands\Notification
16 */
17 class UpdateSMSNotificationHistoryCommandHandler extends CommandHandler
18 {
19 /**
20 * @param UpdateSMSNotificationHistoryCommand $command
21 *
22 * @return CommandResult
23 * @throws QueryExecutionException
24 * @throws AccessDeniedException
25 */
26 public function handle(UpdateSMSNotificationHistoryCommand $command)
27 {
28 $result = new CommandResult();
29
30 /** @var NotificationSMSHistoryRepository $notificationsSMSHistoryRepo */
31 $notificationsSMSHistoryRepo = $this->container->get('domain.notificationSMSHistory.repository');
32
33 $updateData = [
34 'status' => $command->getField('status'),
35 'price' => $command->getField('price'),
36 'logId' => $command->getField('logId'),
37 'dateTime' => $command->getField('dateTime')
38 ];
39
40 if (!ValidationService::verifySignature(json_encode($updateData), 'smsApi', $command->getField('signature'))) {
41 throw new AccessDeniedException('Signature mismatch.');
42 }
43
44 $updateData = apply_filters('amelia_before_sms_notification_history_updated_filter', $updateData, $command->getArg('id'));
45
46 do_action('amelia_before_sms_notification_history_updated', $updateData, $command->getArg('id'));
47
48 if ($notificationsSMSHistoryRepo->update((int)$command->getArg('id'), $updateData)) {
49 do_action('amelia_after_sms_notification_history_updated', $updateData, $command->getArg('id'));
50
51 $result->setResult(CommandResult::RESULT_SUCCESS);
52 $result->setMessage('Successfully updated SMS notification history.');
53 }
54
55 return $result;
56 }
57 }
58