dishplanner/src/DishPlanner/ScheduledUserDish/Actions/SkipScheduledUserDishForDateAction.php

40 lines
893 B
PHP
Raw Normal View History

<?php
namespace DishPlanner\ScheduledUserDish\Actions;
use App\Models\Planner;
use App\Models\Schedule;
use App\Models\ScheduledUserDish;
use Carbon\Carbon;
class SkipScheduledUserDishForDateAction
{
public function execute(Planner $planner, Carbon $date, int $userId): bool
{
$schedule = Schedule::query()
->where('planner_id', $planner->id)
->whereDate('date', $date)
->first();
if (! $schedule) {
return false;
}
$scheduledUserDish = ScheduledUserDish::query()
->where('schedule_id', $schedule->id)
->where('user_id', $userId)
->first();
if (! $scheduledUserDish) {
return false;
}
$scheduledUserDish->update([
'is_skipped' => true,
'user_dish_id' => null,
]);
return true;
}
}