<?php

declare(strict_types=1);

namespace Database\Factories;

use App\Enums\DisciplinarySeverity;
use App\Models\DisciplinaryReport;
use App\Models\Employee;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends Factory<DisciplinaryReport>
 */
class DisciplinaryReportFactory extends Factory
{
    protected $model = DisciplinaryReport::class;

    /**
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'employee_id' => Employee::factory(),
            'report_date' => fake()->dateTimeBetween('-1 year', 'now'),
            'title' => fake()->sentence(4),
            'description' => fake()->paragraph(),
            'severity' => fake()->randomElement(DisciplinarySeverity::cases()),
            'attachment_path' => null,
            'created_by' => User::factory(),
        ];
    }
}
