"""
Estado por numero de telefono.

Sirve para saber cuando se le pregunto por ultima vez al destinatario de
WhatsApp si quiere seguir recibiendo notificaciones, y no repetir la pregunta
mas de lo necesario.
"""

from django.db import models
from django.utils import timezone


class Numbers(models.Model):
    # E.164 admite hasta 15 digitos mas el '+', es decir 16 caracteres. El
    # limite anterior de 14 truncaba los numeros mas largos.
    number = models.CharField(max_length=20, unique=True, verbose_name="Número")

    # El nombre lleva la errata original ("replay" por "reply"); se conserva
    # para no renombrar una columna de una tabla en produccion.
    #
    # Antes era `auto_now=True`, que actualiza el campo en CADA guardado. Eso
    # hacia que no midiera lo que dice medir: bastaba tocar la fila por
    # cualquier motivo para que pareciera que se acababa de preguntar, y la
    # asignacion explicita del codigo se descartaba en silencio.
    replay_date = models.DateTimeField(
        default=timezone.now,
        verbose_name="Última pregunta de continuidad",
    )

    class Meta:
        verbose_name = "Número"
        verbose_name_plural = "Números"

    def __str__(self):
        return f"{self.number}"
