<?php

namespace Database\Factories;

use App\Models\ManagedEnvironment;
use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\InventoryItem>
 */
class InventoryItemFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'managed_environment_id' => ManagedEnvironment::factory(),
            'policy_type' => 'deviceConfiguration',
            'external_id' => fake()->uuid(),
            'display_name' => fake()->words(3, true),
            'category' => 'Configuration',
            'platform' => fake()->randomElement(['android', 'iOS', 'macOS', 'windows10', 'windows']),
            'meta_jsonb' => [
                'odata_type' => '#microsoft.graph.deviceConfiguration',
                'etag' => null,
                'scope_tag_ids' => [],
                'assignment_target_count' => null,
                'warnings' => [],
            ],
            'last_seen_at' => now(),
            'last_seen_operation_run_id' => null,
        ];
    }
}
