*/ class PlanFactory extends Factory { /** * Define the model's default state. * * @return array */ public function definition(): array { return [ 'slug' => fake()->randomElement(Slug::cases()), 'name' => fake()->word(), 'stripe_monthly_price_id' => null, 'stripe_yearly_price_id' => null, 'monthly_price' => fake()->randomElement([900, 1900, 3900, 7900]), 'yearly_price' => fake()->randomElement([9000, 19000, 39000, 79000]), 'social_account_limit' => fake()->randomElement([3, 10, 25, 100]), 'member_limit' => fake()->randomElement([1, 3, 10, 50]), 'brand_limit' => fake()->randomElement([1, 3, 10, 50]), 'ai_images_limit' => fake()->randomElement([10, 50, 200, 1000]), 'ai_videos_limit' => fake()->randomElement([5, 25, 100, 500]), 'data_retention_days' => fake()->randomElement([30, 90, 365, 730]), 'sort' => 0, 'is_archived' => false, ]; } public function archived(): static { return $this->state(fn (array $attributes): array => [ 'is_archived' => true, ]); } }