Fix production issues

This commit is contained in:
myrmidex 2026-01-08 21:54:11 +01:00
parent ea6f7ebf29
commit fa3cb218a9
3 changed files with 12 additions and 6 deletions

View file

@ -2,6 +2,7 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
@ -12,6 +13,7 @@
/** /**
* @property int $id * @property int $id
* @property static PlannerFactory factory($count = null, $state = []) * @property static PlannerFactory factory($count = null, $state = [])
* @property Collection<User> $users
* @method static first() * @method static first()
* @method static create(array $array) * @method static create(array $array)
*/ */
@ -35,4 +37,9 @@ public function schedules(): HasMany
{ {
return $this->hasMany(Schedule::class); return $this->hasMany(Schedule::class);
} }
public function users(): HasMany
{
return $this->hasMany(User::class);
}
} }

View file

@ -92,8 +92,7 @@ private function createDishes(Planner $planner, array $users): void
// Randomly assign dish to 1-3 users // Randomly assign dish to 1-3 users
$count = rand(1, count($users)); $count = rand(1, count($users));
$assignedUsers = collect($users)->random($count); $userIds = collect($users)->random($count)->pluck('id');
$userIds = $count === 1 ? [$assignedUsers->id] : $assignedUsers->pluck('id');
$dish->users()->attach($userIds); $dish->users()->attach($userIds);
} }
} }

View file

@ -10,9 +10,9 @@ class RegenerateScheduleDayAction
{ {
public function execute(Planner $planner, Schedule $schedule, bool $overwrite = false): void public function execute(Planner $planner, Schedule $schedule, bool $overwrite = false): void
{ {
User::all() /** @var RegenerateScheduleDayForUserAction $action */
->each(fn (User $user) => resolve(RegenerateScheduleDayForUserAction::class) $action = resolve(RegenerateScheduleDayForUserAction::class);
->execute($planner, $schedule, $user, $overwrite)
); $planner->users->each(fn (User $user) => $action->execute($planner, $schedule, $user, $overwrite));
} }
} }