<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use ImovelZapAi\Organizations\Infrastructure\Persistence\Eloquent\OrganizationSettingsModel;
use ImovelZapAi\Tenancy\Infrastructure\Persistence\Eloquent\TenantModel;

/**
 * @extends Factory<OrganizationSettingsModel>
 */
class OrganizationSettingsFactory extends Factory
{
    protected $model = OrganizationSettingsModel::class;

    /**
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'tenant_id' => TenantModel::factory(),
            'trade_name' => fake()->company(),
            'legal_name' => fake()->company().' LTDA',
            'document' => fake()->numerify('##.###.###/####-##'),
            'creci' => 'J-'.fake()->numerify('####'),
            'email' => fake()->companyEmail(),
            'phone' => fake()->numerify('(11) ####-####'),
            'whatsapp' => fake()->numerify('(11) 9####-####'),
            'website' => 'https://example.com',
            'cep' => fake()->numerify('#####-###'),
            'street' => fake()->streetName(),
            'number' => (string) fake()->buildingNumber(),
            'complement' => null,
            'district' => fake()->citySuffix(),
            'city' => fake()->city(),
            'state' => fake()->stateAbbr(),
            'timezone' => 'America/Sao_Paulo',
            'locale' => 'pt_BR',
            'currency' => 'BRL',
            'about' => fake()->sentence(),
        ];
    }
}
