*/ class LegalRequestFactory extends Factory { /** * @return array */ public function definition(): array { return [ 'press_release_id' => PressRelease::factory(), 'portal' => 'presseecho', 'type' => fake()->randomElement(LegalRequestType::cases()), 'status' => LegalRequestStatus::Open, 'requester_email' => fake()->safeEmail(), 'message' => fake()->sentence(), 'payload' => null, 'requester_ip' => fake()->ipv4(), ]; } public function type(LegalRequestType $type): static { return $this->state(['type' => $type]); } public function resolved(): static { return $this->state([ 'status' => LegalRequestStatus::Resolved, 'resolved_at' => now(), ]); } }