*/ final class PerformanceFactory extends Factory { /** @return array */ public function definition(): array { $start = CarbonImmutable::now()->addDays(7)->setTime(20, 0); return [ 'engagement_id' => ArtistEngagement::factory(), 'event_id' => Event::factory(), 'stage_id' => Stage::factory(), 'lane' => 0, 'start_at' => $start, 'end_at' => $start->addMinutes(60), 'version' => 0, 'notes' => null, ]; } public function parked(): static { return $this->state(fn () => ['stage_id' => null]); } public function scheduled(Stage $stage, CarbonImmutable $start, int $minutes): static { return $this->state(fn () => [ 'stage_id' => $stage->id, 'event_id' => $stage->event_id, 'start_at' => $start, 'end_at' => $start->addMinutes($minutes), ]); } }