30 lines
672 B
PHP
30 lines
672 B
PHP
<?php
|
|
|
|
namespace App\Schedule\UseCases\GetSchedule;
|
|
|
|
use App\Exceptions\NotFoundException;
|
|
use App\Schedule\Schedule;
|
|
use App\Schedule\ScheduleRepository;
|
|
|
|
class GetSchedule
|
|
{
|
|
public function __construct(
|
|
private ScheduleRepository $scheduleRepository,
|
|
) {}
|
|
|
|
/**
|
|
* @throws NotFoundException
|
|
*/
|
|
public function execute(GetScheduleRequest $request): Schedule
|
|
{
|
|
$schedule = $this->scheduleRepository->findForUser(
|
|
$request->scheduleId,
|
|
$request->user,
|
|
);
|
|
if ($schedule === null) {
|
|
throw new NotFoundException('schedule not found');
|
|
}
|
|
|
|
return $schedule;
|
|
}
|
|
}
|