Files
MKM/app/Actions/Branch/StoreBranch.php
2024-08-05 08:04:35 +08:00

32 lines
741 B
PHP

<?php
namespace App\Actions\Branch;
use App\Actions\BaseAction;
use App\Commands\Branches\CreateBranchCommand;
use App\DataObjects\CreateBranchDTO;
use Exception;
use Spatie\LaravelData\Data;
class StoreBranch extends BaseAction
{
public function __construct(private CreateBranchCommand $createBranchCommand) {}
/**
* @throws Exception
*/
public function __invoke(CreateBranchDTO | Data $payload, \Closure $next)
{
try {
$payload->branch = $this->createBranchCommand->execute($payload->data);
return $next($payload);
} catch (Exception $exception)
{
throw new \LogicException('Error Storing Branch: ' . $exception->getMessage());
}
}
}