"""Configuración de desarrollo."""

from .base import *

DEBUG = True

#: Dominio local que sirve la aplicación detrás de un proxy con TLS.
#:
#: Es opcional: sin él se entra por `127.0.0.1:8000` y no cambia nada. Existe
#: porque mirar el producto en un dominio propio y por HTTPS se parece más a lo
#: que ve un cliente que un puerto en la máquina.
APP_HOST = env('APP_HOST', default='')

# El aviso de «binding a todas las interfaces» no aplica: esto es una lista de
# hosts admitidos en la cabecera Host, no una dirección de escucha. El comodín
# hace falta para alcanzar el servidor desde un contenedor vecino.
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '0.0.0.0', 'web']  # noqa: S104

if APP_HOST:
    ALLOWED_HOSTS.append(APP_HOST)

    # El proxy termina el TLS y habla con Django por HTTP plano. Sin esto,
    # `request.is_secure()` es falso y Django descarta el origen `https://…`
    # como si no coincidiera: el ingreso falla por CSRF sin decir por qué.
    CSRF_TRUSTED_ORIGINS = [f'https://{APP_HOST}']
    SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

#: El proveedor de prueba del generador (`apps/ai/fake.py`). Sólo se lee acá:
#: en `base.py` queda apagado sin mirar el `.env`, así que producción no lo
#: puede prender. El worker de Celery lee estos valores al arrancar: cambiarlos
#: pide reiniciarlo.
AI_FAKE_PROVIDER = env.bool('AI_FAKE_PROVIDER', default=False)
AI_FAKE_ANALYSIS_OUTCOME = env('AI_FAKE_ANALYSIS_OUTCOME', default='success')
AI_FAKE_GENERATION_OUTCOME = env('AI_FAKE_GENERATION_OUTCOME', default='success')
AI_FAKE_DELAY_SECONDS = env.float('AI_FAKE_DELAY_SECONDS', default=6.0)
