26 lines
552 B
PHP
26 lines
552 B
PHP
<?php
|
|
|
|
namespace App\Plan\UseCases;
|
|
|
|
use App\Plan\CreatePlanDto;
|
|
use App\Plan\Plan;
|
|
use App\Plan\PlanRepository;
|
|
use App\User\UserRepository;
|
|
|
|
class CreatePlan
|
|
{
|
|
public function __construct(
|
|
private PlanRepository $planRepo,
|
|
private UserRepository $userRepo,
|
|
) {}
|
|
|
|
public function execute(CreatePlanRequest $request): Plan
|
|
{
|
|
$user = $this->userRepo->find($request->userId);
|
|
|
|
return $this->planRepo->create(new CreatePlanDto(
|
|
name: $request->name,
|
|
user: $user,
|
|
));
|
|
}
|
|
}
|