PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.4
Booking for Appointments and Events Calendar – Amelia v1.2.4
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 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 / Commands / Notification / GetSMSNotificationsHistoryCommandHandler.php
ameliabooking / src / Application / Commands / Notification Last commit date
GetNotificationsCommand.php 1 year ago GetNotificationsCommandHandler.php 1 year ago GetSMSNotificationsHistoryCommand.php 1 year ago GetSMSNotificationsHistoryCommandHandler.php 1 year ago SendAmeliaSmsApiRequestCommand.php 1 year ago SendAmeliaSmsApiRequestCommandHandler.php 1 year ago SendTestEmailCommand.php 1 year ago SendTestEmailCommandHandler.php 1 year ago SendUndeliveredNotificationsCommand.php 1 year ago SendUndeliveredNotificationsCommandHandler.php 1 year ago UpdateNotificationCommand.php 1 year ago UpdateNotificationCommandHandler.php 1 year ago UpdateNotificationStatusCommand.php 1 year ago UpdateNotificationStatusCommandHandler.php 1 year ago UpdateSMSNotificationHistoryCommand.php 1 year ago UpdateSMSNotificationHistoryCommandHandler.php 1 year ago
GetSMSNotificationsHistoryCommandHandler.php
64 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Commands\Notification;
4
5 use AmeliaBooking\Application\Commands\CommandResult;
6 use AmeliaBooking\Application\Commands\CommandHandler;
7 use AmeliaBooking\Application\Common\Exceptions\AccessDeniedException;
8 use AmeliaBooking\Domain\Collection\AbstractCollection;
9 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
10 use AmeliaBooking\Domain\Entity\Entities;
11 use AmeliaBooking\Domain\Services\Settings\SettingsService;
12 use AmeliaBooking\Infrastructure\Common\Exceptions\QueryExecutionException;
13 use AmeliaBooking\Infrastructure\Repository\Notification\NotificationRepository;
14 use AmeliaBooking\Infrastructure\Repository\Notification\NotificationSMSHistoryRepository;
15
16 /**
17 * Class GetSMSNotificationsHistoryCommandHandler
18 *
19 * @package AmeliaBooking\Application\Commands\Notification
20 */
21 class GetSMSNotificationsHistoryCommandHandler extends CommandHandler
22 {
23 /**
24 * @param GetSMSNotificationsHistoryCommand $command
25 *
26 * @return CommandResult
27 * @throws AccessDeniedException
28 * @throws QueryExecutionException
29 * @throws \Interop\Container\Exception\ContainerException
30 */
31 public function handle(GetSMSNotificationsHistoryCommand $command)
32 {
33 if (!$command->getPermissionService()->currentUserCanRead(Entities::NOTIFICATIONS)) {
34 throw new AccessDeniedException('You are not allowed to read notifications');
35 }
36
37 $result = new CommandResult();
38
39 /** @var NotificationSMSHistoryRepository $notificationsSMSHistoryRepo */
40 $notificationsSMSHistoryRepo = $this->container->get('domain.notificationSMSHistory.repository');
41 /** @var SettingsService $settingsService */
42 $settingsService = $this->container->get('domain.settings.service');
43
44 $itemsPerPage = $settingsService->getSetting('general', 'itemsPerPage');
45
46 $params = $command->getField('params');
47
48 $notifications = $notificationsSMSHistoryRepo->getFiltered($params, $itemsPerPage);
49
50 $notifications = apply_filters('amelia_get_sms_history_filter', $notifications);
51
52 do_action('amelia_get_sms_history', $notifications);
53
54 $result->setResult(CommandResult::RESULT_SUCCESS);
55 $result->setMessage('Successfully retrieved notifications.');
56 $result->setData([
57 Entities::NOTIFICATIONS => $notifications,
58 'countFiltered' => (int)$notificationsSMSHistoryRepo->getCount($params)
59 ]);
60
61 return $result;
62 }
63 }
64