PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
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 / Settings / ProcessImportDataTransferCommandHandler.php
ameliabooking / src / Application / Commands / Settings Last commit date
FeaturesIntegrations 1 month ago ExportDataTransferCommand.php 4 weeks ago ExportDataTransferCommandHandler.php 4 weeks ago GetSettingsCommand.php 1 year ago GetSettingsCommandHandler.php 1 month ago ProcessImportDataTransferCommand.php 4 weeks ago ProcessImportDataTransferCommandHandler.php 4 weeks ago StartImportDataTransferCommand.php 4 weeks ago StartImportDataTransferCommandHandler.php 4 weeks ago UpdateSettingsCategoriesCommand.php 7 months ago UpdateSettingsCategoriesCommandHandler.php 1 month ago UpdateSettingsCommand.php 1 year ago UpdateSettingsCommandHandler.php 1 month ago
ProcessImportDataTransferCommandHandler.php
38 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Commands\Settings;
4
5 use AmeliaBooking\Application\Commands\CommandHandler;
6 use AmeliaBooking\Application\Commands\CommandResult;
7 use AmeliaBooking\Application\Common\Exceptions\AccessDeniedException;
8 use AmeliaBooking\Domain\Entity\Entities;
9 use AmeliaBooking\Infrastructure\Services\DataTransfer\DataTransferService;
10
11 class ProcessImportDataTransferCommandHandler extends CommandHandler
12 {
13 protected $mandatoryFields = [
14 'jobId',
15 ];
16
17 public function handle(ProcessImportDataTransferCommand $command): CommandResult
18 {
19 if (!$command->getPermissionService()->currentUserCanWrite(Entities::SETTINGS)) {
20 throw new AccessDeniedException('You are not allowed to import Amelia settings and data.');
21 }
22
23 $this->checkMandatoryFields($command);
24
25 /** @var DataTransferService $dataTransferService */
26 $dataTransferService = $this->container->get('infrastructure.dataTransfer.service');
27
28 $result = new CommandResult();
29 $result->setResult(CommandResult::RESULT_SUCCESS);
30 $result->setMessage('Successfully processed the Amelia import step.');
31 $result->setData([
32 'importData' => $dataTransferService->processImportJob($command->getField('jobId'))
33 ]);
34
35 return $result;
36 }
37 }
38