Files
exchange-2.0/app/Classes/Modules/Transactions/ControllersLogic/ETLPurchaseOrderTransactionLogic.php
T
2025-12-30 16:09:16 +08:00

73 lines
2.5 KiB
PHP

<?php
namespace App\Classes\Modules\Transactions\ControllersLogic;
use App\Classes\Exceptions\InternalServerErrorException;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Transactions\Processors\ETLPDFPurchaseOrderTransactionProcessor;
use App\Classes\Modules\Transactions\Standards\Rules\CanETLPurchaseOrder;
use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class ETLPurchaseOrderTransactionLogic extends AbstractControllerLogic
{
/**
* @return array
*/
protected function notification(): array
{
return [
'title' => 'ETL Purchase Order',
'message' => 'You have successfully etl purchase order document'
];
}
/** @var CanETLPurchaseOrder */
private $canETLPurchaseOrder;
/** @var ETLPDFPurchaseOrderTransactionProcessor */
private $etlPDFPurchaseOrderTransactionProcessor;
/**
* ETLPurchaseOrderTransactionLogic constructor.
* @param CanETLPurchaseOrder $canETLPurchaseOrder
* @param ETLPDFPurchaseOrderTransactionProcessor $etlPDFPurchaseOrderTransactionProcessor
*/
public function __construct(CanETLPurchaseOrder $canETLPurchaseOrder, ETLPDFPurchaseOrderTransactionProcessor $etlPDFPurchaseOrderTransactionProcessor)
{
$this->canETLPurchaseOrder = $canETLPurchaseOrder;
$this->etlPDFPurchaseOrderTransactionProcessor = $etlPDFPurchaseOrderTransactionProcessor;
}
/**
* @param Request $request
* @param string $id
* @return JsonResponse
* @throws \App\Classes\Exceptions\MalformedRequestException
* @throws \App\Classes\Exceptions\InternalServerErrorException
*/
public function logic(Request $request, $id = ''): JsonResponse
{
$this->canETLPurchaseOrder->passes();
// if ($request->has('products') && is_array($request->input('products'))) {
// $products = $request->input('products');
// $productsMetadata = $request->input('productsMetadata');
// }
// try{
// $products = $this->etlPDFPurchaseOrderTransactionProcessor->execute($products, $productsMetadata);
// } catch (\Exception $exception) {
// throw new InternalServerErrorException('Something went wrong!');
// }
$files = $request->input('files');
$result = $this->etlPDFPurchaseOrderTransactionProcessor->execute($files);
return $this->response($result);
}
}