<?php

declare(strict_types=1);

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use ImovelZapAi\Owners\Domain\Enums\ListingStageKey;
use ImovelZapAi\Owners\Infrastructure\Persistence\Eloquent\ListingPipelineModel;
use ImovelZapAi\Owners\Infrastructure\Persistence\Eloquent\ListingStageModel;
use ImovelZapAi\Tenancy\Infrastructure\Persistence\Eloquent\TenantModel;

/** @extends Factory<ListingStageModel> */
class ListingStageFactory extends Factory
{
    protected $model = ListingStageModel::class;

    public function definition(): array
    {
        return [
            'tenant_id' => TenantModel::factory(),
            'pipeline_id' => ListingPipelineModel::factory(),
            'key' => ListingStageKey::NewContact,
            'name' => ListingStageKey::NewContact->label(),
            'position' => 1,
            'is_won' => false,
            'is_lost' => false,
        ];
    }
}
