Attainly/backend/app/Schedule/UseCases/GetSchedule/GetSchedule.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;
}
}