Goal-Calibration/app/ScheduledNode/UseCases/CreateScheduledNode.php

28 lines
721 B
PHP

<?php
namespace App\ScheduledNode\UseCases;
use App\Plan\PlanRepository;
use App\ScheduledNode\ScheduledNode;
use App\ScheduledNode\CreateScheduledNodeDto;
use App\ScheduledNode\ScheduledNodeRepository;
class CreateScheduledNode
{
public function __construct(
private ScheduledNodeRepository $scheduledNodeRepo,
private PlanRepository $planRepo,
) {}
public function execute(
CreateScheduledNodeRequest $request
): ScheduledNode {
$plan = $this->planRepo->find($request->planId);
return $this->scheduledNodeRepo->create(
new CreateScheduledNodeDto(
date: $request->date,
plan: $plan,
)
);
}
}