<?php

declare(strict_types=1);

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use ImovelZapAi\Visits\Domain\Enums\VisitParticipantRole;
use ImovelZapAi\Visits\Infrastructure\Persistence\Eloquent\VisitModel;
use ImovelZapAi\Visits\Infrastructure\Persistence\Eloquent\VisitParticipantModel;
use ImovelZapAi\Tenancy\Infrastructure\Persistence\Eloquent\TenantModel;

/**
 * @extends Factory<VisitParticipantModel>
 */
class VisitParticipantFactory extends Factory
{
    protected $model = VisitParticipantModel::class;

    public function definition(): array
    {
        return [
            'tenant_id' => TenantModel::factory(),
            'visit_id' => VisitModel::factory(),
            'user_id' => null,
            'contact_id' => null,
            'role' => VisitParticipantRole::Companion,
            'name' => fake()->name(),
        ];
    }
}
