Files
bogazici-api/app/Actions/Schedule/UpdateScheduleAction.php
2026-03-27 10:41:54 +03:00

23 lines
578 B
PHP

<?php
namespace App\Actions\Schedule;
use App\DTOs\ScheduleData;
use App\Events\ModelChanged;
use App\Models\CourseSchedule;
use App\Repositories\Contracts\ScheduleRepositoryInterface;
final class UpdateScheduleAction
{
public function __construct(private ScheduleRepositoryInterface $repository) {}
public function execute(CourseSchedule $schedule, ScheduleData $data): CourseSchedule
{
$result = $this->repository->update($schedule, $data->toArray());
ModelChanged::dispatch(CourseSchedule::class, 'updated');
return $result;
}
}