feat: initial commit

This commit is contained in:
JP
2024-08-05 08:04:35 +08:00
parent 0f3c3db73b
commit 140e821e0c
194 changed files with 14509 additions and 254 deletions

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Actions\Branch;
use App\Actions\BaseAction;
use App\Commands\Series\CreateSeriesCommand;
use App\DataObjects\CreateBranchDTO;
use App\DataObjects\CreateSeriesDTO;
use Spatie\LaravelData\Data;
class StoreBranchSeries extends BaseAction
{
public function __construct(
private CreateSeriesCommand $createSeriesCommand
) {}
public function __invoke(CreateBranchDTO|Data $payload, \Closure $next)
{
try {
$seriesPayload = CreateSeriesDTO::from(['branch_id' => $payload->branch->id, 'series' => $payload->data['series'], 'is_start' => true]);
$payload->series = $this->createSeriesCommand->execute($seriesPayload->toArray());
return $next($payload);
} catch (\Exception $exception) {
throw new \LogicException('Failed to create branch series', $exception->getMessage());
}
}
}