<?php

namespace Database\Factories;

use App\Models\Finding;
use App\Models\Tenant;
use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Finding>
 */
class FindingFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'tenant_id' => Tenant::factory(),
            'finding_type' => Finding::FINDING_TYPE_DRIFT,
            'scope_key' => hash('sha256', fake()->uuid()),
            'baseline_run_id' => null,
            'current_run_id' => null,
            'fingerprint' => hash('sha256', fake()->uuid()),
            'subject_type' => 'assignment',
            'subject_external_id' => fake()->uuid(),
            'severity' => Finding::SEVERITY_MEDIUM,
            'status' => Finding::STATUS_NEW,
            'acknowledged_at' => null,
            'acknowledged_by_user_id' => null,
            'evidence_jsonb' => [],
        ];
    }
}
