add plan to scheduled node
This commit is contained in:
parent
fd0ee57149
commit
412a74e390
5 changed files with 15 additions and 0 deletions
|
|
@ -2,11 +2,13 @@
|
||||||
|
|
||||||
namespace App\ScheduledNode;
|
namespace App\ScheduledNode;
|
||||||
|
|
||||||
|
use App\Plan\Plan;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
|
|
||||||
class CreateScheduledNodeDto
|
class CreateScheduledNodeDto
|
||||||
{
|
{
|
||||||
public function __construct(
|
public function __construct(
|
||||||
public DateTimeImmutable $date,
|
public DateTimeImmutable $date,
|
||||||
|
public Plan $plan,
|
||||||
) {}
|
) {}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\ScheduledNode;
|
namespace App\ScheduledNode;
|
||||||
|
|
||||||
|
use App\Plan\Plan;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
|
|
||||||
class ScheduledNode
|
class ScheduledNode
|
||||||
|
|
@ -9,5 +10,11 @@ class ScheduledNode
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private int $id,
|
private int $id,
|
||||||
private DateTimeImmutable $date,
|
private DateTimeImmutable $date,
|
||||||
|
private Plan $plan,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
|
public function getPlan(): Plan
|
||||||
|
{
|
||||||
|
return $this->plan;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\ScheduledNode\UseCases;
|
namespace App\ScheduledNode\UseCases;
|
||||||
|
|
||||||
|
use App\Plan\PlanRepository;
|
||||||
use App\ScheduledNode\ScheduledNode;
|
use App\ScheduledNode\ScheduledNode;
|
||||||
use App\ScheduledNode\CreateScheduledNodeDto;
|
use App\ScheduledNode\CreateScheduledNodeDto;
|
||||||
use App\ScheduledNode\ScheduledNodeRepository;
|
use App\ScheduledNode\ScheduledNodeRepository;
|
||||||
|
|
@ -10,14 +11,17 @@ class CreateScheduledNode
|
||||||
{
|
{
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private ScheduledNodeRepository $scheduledNodeRepo,
|
private ScheduledNodeRepository $scheduledNodeRepo,
|
||||||
|
private PlanRepository $planRepo,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function execute(
|
public function execute(
|
||||||
CreateScheduledNodeRequest $request
|
CreateScheduledNodeRequest $request
|
||||||
): ScheduledNode {
|
): ScheduledNode {
|
||||||
|
$plan = $this->planRepo->find($request->planId);
|
||||||
return $this->scheduledNodeRepo->create(
|
return $this->scheduledNodeRepo->create(
|
||||||
new CreateScheduledNodeDto(
|
new CreateScheduledNodeDto(
|
||||||
date: $request->date,
|
date: $request->date,
|
||||||
|
plan: $plan,
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,6 @@ class CreateScheduledNodeRequest
|
||||||
{
|
{
|
||||||
public function __construct(
|
public function __construct(
|
||||||
public DateTimeImmutable $date,
|
public DateTimeImmutable $date,
|
||||||
|
public int $planId,
|
||||||
) {}
|
) {}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ class FakeScheduledNodeRepository implements ScheduledNodeRepository
|
||||||
$scheduledNode = new ScheduledNode(
|
$scheduledNode = new ScheduledNode(
|
||||||
id: $id,
|
id: $id,
|
||||||
date: $dto->date,
|
date: $dto->date,
|
||||||
|
plan: $dto->plan,
|
||||||
);
|
);
|
||||||
$this->existingScheduledNodes[$id] = $scheduledNode;
|
$this->existingScheduledNodes[$id] = $scheduledNode;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue