<?php

/**
 * Local Configuration Override
 *
 * This configuration override file is for overriding environment-specific and
 * security-sensitive configuration information. Copy this file without the
 * .dist extension at the end and populate values as needed.
 *
 * NOTE: This file is ignored from Git by default with the .gitignore included
 * in laminas-mvc-skeleton. This is a good practice, as it prevents sensitive
 * credentials from accidentally being committed into version control.
 */

return [
    // A PAGINA DE ERRO, e o que ela conta a quem a ve (D16).
    //
    // Deixe estes dois DESLIGADOS em producao -- que e o efeito de nao
    // declara-los. Ligados, a pagina de erro imprime a classe da excecao, o
    // caminho absoluto do arquivo, a mensagem e o rastro completo; e a
    // mensagem do Doctrine carrega o SQL e os parametros ligados junto, o que
    // inclui telefone de cliente numa consulta que falhe.
    //
    // Numa maquina de desenvolvimento, ligue:
    //
    //     'view_manager' => [
    //         'display_exceptions' => true,
    //         'display_not_found_reason' => true,
    //     ],
    //
    'doctrine' => [
        'connection' => [
            'orm_default' => [
                'params' => [
                    'host' => 'localhost',
                    'port' => '3306',
                    'dbname' => '',
                    'user' => '',
                    'password' => '',
                    // utf8mb4 declarado na conexao. Antes disso, a conexao nascia
                    // em utf8mb3 e 18 pontos do sistema faziam `SET NAMES utf8mb4`
                    // na mao -- instrucao que o PostgreSQL nao entende. Ver
                    // ISBase\Doctrine\Charset.
                    'charset' => 'utf8mb4',
                ],
            ],
        ],
    ],

    'mail' => [
        'connection_config' => [
            'password' => '',
        ],
    ],

    'zoomtec' => [
        'bearer_token' => '',
    ],

    'sms' => [
        'usuario' => '',
        'senha' => '',
    ],

    // O push no aplicativo dos clientes (10/10/2026, PUSH-FCM-ENVIO; o dono
    // decidiu trocar o OneSignal pelo Firebase, com os dois convivendo ate o
    // aplicativo novo).
    //
    // `provedor`: 'onesignal' (o padrao, e o da producao ate o aplicativo novo),
    // 'ambos' (FCM a quem tiver aparelho registrado, OneSignal aos demais) ou
    // 'fcm'. Sem a conta de servico, qualquer um deles vai pelo OneSignal. O
    // 'ambos' e o 'fcm' leem a tabela `clientes_aparelhos`, que o aplicativo novo
    // enche (scripts/migracao-clientes-aparelhos.sql, D461); sem ela neste banco,
    // tambem vai tudo pelo OneSignal, com uma linha no registro das rotinas.
    //
    // `fcm.conta_de_servico`: o CAMINHO ABSOLUTO do JSON da conta de servico do
    // Firebase, FORA do repositorio (por exemplo /etc/franquiabv/, 0640, dono
    // root, grupo do php-fpm). O arquivo dentro da arvore do projeto e recusado.
    'push' => [
        'provedor' => 'onesignal',
        'fcm' => [
            'conta_de_servico' => '',
        ],
    ],

    // `app_api_key` e a App API Key NOVA do OneSignal (a que o D3 manda criar no
    // lugar da legada): preenchida, o envio passa a api.onesignal.com com o
    // cabecalho `Key`; vazia, segue a `rest_api_key` legada. O web push saiu do
    // codigo em 10/10/2026 (era codigo morto): as chaves dele nao sao mais lidas.
    'onesignal' => [
        'app' => [
            'app_id' => '',
            'rest_api_key' => '',
            'app_api_key' => '',
        ],
    ],

    // A integracao de faturamento da Yungas (D89).
    //
    // Ate 03/09/2026 estes tres valores estavam ESCRITOS dentro do
    // `CronJobService`, e portanto no repositorio e no historico do git. Sem
    // eles preenchidos aqui, a rotina `yungasFaturamentoAtualizar` nao roda --
    // e diz no log que nao rodou, em vez de calar.
    'yungas' => [
        'apikey' => '',
        'email' => '',
        'password' => '',
    ],

    // A cobranca de royalties no Asaas (SEGREDOS, D3).
    //
    // Ate 03/10/2026 a chave de PRODUCAO estava ESCRITA em
    // `module/ISBase/src/Util/Asaas.php` -- no repositorio e no historico do
    // git, onde continua. Sem ela aqui, as rotinas
    // `relatoriosRoyaltiesFaturasGerar` e `relatoriosRoyaltiesFaturasAtualizar`
    // lancam excecao antes de falar com o Asaas: nenhuma fatura e emitida nem
    // atualizada. A chave e a ROTACIONADA pelo D3, nunca a antiga.
    //
    // `url` vazia vale a de producao (`https://api.asaas.com/v3/`).
    'asaas' => [
        'url' => '',
        'api_key' => '',
    ],

    // O WHATSAPP CENTRAL DA FRANQUEADORA (12/10/2026, a resposta 147 do dono ao
    // D59): o codigo de entrada do aplicativo novo (o login V4) sai por ele, e nao
    // pelo WhatsApp da unidade do cliente. So o codigo de entrada: o do resgate, o
    // parabens, o aviso e as campanhas seguem pela unidade.
    //
    // QUAL NUMERO E QUAL CREDENCIAL SAO DO DONO. Vazio, o login V4 nao manda codigo
    // a ninguem, e nenhuma sessao nasce. Para ligar: crie (ou escolha) a instancia
    // da franqueadora no provedor -- `evolution` ou `waha`, os mesmos das unidades
    // --, conecte nela o telefone da franqueadora, e preencha os tres valores. A
    // chave fica so aqui: a fila `push_app` grava o provedor `central`, sem a chave,
    // e a rotina da fila a le daqui na hora do envio.
    'whatsapp' => [
        'central' => [
            'provedor' => 'evolution',
            'instancia' => '',
            'api_key' => '',
        ],
    ],

    // O token das rotinas chamadas por URL -- o `?token=` do crontab (D4).
    //
    // Ate 03/10/2026 ele estava ESCRITO em `CronJobController`. Sem ele aqui,
    // as 26 rotinas com token RECUSAM todo pedido -- royalties, dashboards,
    // NPS, envios -- e, como a recusa responde `{"sucesso": true}` (o item 3
    // do D4), o crontab nao percebe. O valor e o MESMO que o crontab manda --
    // e o de hoje esta no repositorio (o `VisagismoController` o traz
    // escrito): a linha 9 do passo 5 do dia 0 o rotaciona, o crontab e este
    // arquivo no mesmo passo.
    'cron' => [
        'token' => '',
    ],

    // OS ASSISTENTES COM A API DA ANTHROPIC, no lugar do Zapier (08/11/2026, a fatia
    // 133; o desenho `docs/f3-telas-restantes/assistentes-anthropic.md`, 2.2).
    //
    // A CHAVE E DO DONO (a resposta 365 (a)): ele a cria no painel da Anthropic, num
    // espaco de trabalho so dos assistentes, com limite de gasto mensal, e a escreve
    // SO no `local.php` da producao. Nenhum ambiente daqui tem chave: vazia, o
    // assistente diz "O assistente esta indisponivel no momento.", e o resto funciona.
    //
    // O ENDERECO NAO TEM PADRAO NO CODIGO: vazio, nenhum pedido sai. Na producao, e
    // https://api.anthropic.com -- este comentario e o UNICO lugar do repositorio com
    // o endereco real (o portao `scripts/conferir-sem-anthropic-nos-testes.php`). Outro
    // `http://` que nao o 127.0.0.1 nao vale aqui: so no arquivo a parte do duble,
    // `config/autoload/assistentes-duble.local.php`, que o roteiro que precisa cria e
    // apaga.
    //
    // O SAL e um texto aleatorio, so do servidor: o `metadata.user_id` que vai a
    // Anthropic e o HMAC do id da pessoa com ele (2.10). Sem o sal, indisponivel.
    //
    // Os limites (a resposta 367 (a)); sem eles, valem os padroes do codigo, estes.
    // O lado das paginas entra com a fatia 89.
    'assistentes' => [
        'anthropic' => [
            'chave' => '',
            'url' => '',
            'sal' => '',
            'por_pessoa_dia' => 30,
            'erp_dia' => 300,
            'teto_mes_erp_usd' => 225,
            'vagas_erp' => 2,
        ],
    ],
];
