add set scheduling api
This commit is contained in:
parent
bdb266746d
commit
98ae9bf088
20 changed files with 935 additions and 1 deletions
30
backend/app/Schedule/UseCases/GetSchedule/GetSchedule.php
Normal file
30
backend/app/Schedule/UseCases/GetSchedule/GetSchedule.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?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;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
namespace App\Schedule\UseCases\GetSchedule;
|
||||
|
||||
use App\User\User;
|
||||
|
||||
final readonly class GetScheduleRequest
|
||||
{
|
||||
public function __construct(
|
||||
public int $scheduleId,
|
||||
public User $user,
|
||||
) {}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue