PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
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 / Settings / StartImportDataTransferCommandHandler.php
ameliabooking / src / Application / Commands / Settings Last commit date
FeaturesIntegrations 1 week ago ExportDataTransferCommand.php 1 month ago ExportDataTransferCommandHandler.php 1 month ago GetSettingsCommand.php 1 year ago GetSettingsCommandHandler.php 1 week ago ProcessImportDataTransferCommand.php 1 month ago ProcessImportDataTransferCommandHandler.php 1 month ago StartImportDataTransferCommand.php 1 month ago StartImportDataTransferCommandHandler.php 1 month ago UpdateSettingsCategoriesCommand.php 8 months ago UpdateSettingsCategoriesCommandHandler.php 1 week ago UpdateSettingsCommand.php 1 year ago UpdateSettingsCommandHandler.php 1 week ago
StartImportDataTransferCommandHandler.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 StartImportDataTransferCommandHandler extends CommandHandler
12 {
13 protected $mandatoryFields = [
14 'file',
15 ];
16
17 public function handle(StartImportDataTransferCommand $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 initialized the Amelia import.');
31 $result->setData([
32 'importData' => $dataTransferService->startImportJob($command->getField('file'))
33 ]);
34
35 return $result;
36 }
37 }
38