import json
from pywebpush import webpush, WebPushException
from django.conf import settings
from avisos.models import PushSuscriptions

s = PushSuscriptions.objects.latest("id")
subscription_info = {
    "endpoint": s.endpoint,
    "keys": {"p256dh": s.p256dh, "auth": s.auth},
}

payload = {"title": "Prueba backend", "body": "TTL only", "url": "/avisos"}

try:
    webpush(
        subscription_info=subscription_info,
        data=json.dumps(payload),
        vapid_private_key=settings.WEBPUSH_VAPID_PRIVATE_KEY,
        vapid_claims={"sub": settings.WEBPUSH_VAPID_SUBJECT},
        ttl=60,
    )
    print("OK enviado")
except WebPushException as e:
    print("status:", getattr(e.response, "status_code", None))
    print("headers:", getattr(e.response, "headers", None))
    print("err:", str(e))