FASE 4: - Redis cache de stock con fallback graceful - Multi-moneda (MXN/USD) con contabilidad en MXN - Proveedores y ordenes de compra completo - Meilisearch 1.5M+ partes indexadas - Metabase KPIs con dashboard auto-generado FASE 5: - CRM mejorado: activities, tags, loyalty program, analytics - Imagenes de partes: upload, resize, thumbnails WebP - Ordenes de servicio Kanban: received->diagnosis->repair->ready->delivered - Garantias/RMA, alertas de reorden, multi-sucursal - Stubs BNPL (APLAZO) y ERP Sync (Aspel/Contpaqi) FASE 6: - Notificaciones automaticas: push/WhatsApp/email/in-app - Reportes de ahorro vs retail_price - Logistica + tracking: DHL, FedEx, Estafeta, 99min, Uber - API Publica: API keys, rate limiting, catalog search Migraciones: v1.9-v3.0 Tests: 93/93 pasando Backup: nexus_backup_20260427_045859.tar.gz
20 lines
701 B
Python
20 lines
701 B
Python
import os, sys
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
from tenant_db import get_tenant_conn_by_dbname
|
|
from services.notification_engine import create_template, dispatch_notification
|
|
|
|
conn = get_tenant_conn_by_dbname("tenant_refaccionaria_demo")
|
|
conn.rollback()
|
|
try:
|
|
tid = create_template(conn, 1, "test_event2", "push", "Test", "Hello {name}")
|
|
print("Template created:", tid)
|
|
log_ids = dispatch_notification(conn, 1, "test_event2", {"name": "World"}, recipient_type="owner")
|
|
print("Dispatched:", log_ids)
|
|
except Exception as e:
|
|
conn.rollback()
|
|
print("ERROR:", e)
|
|
import traceback
|
|
traceback.print_exc()
|
|
finally:
|
|
conn.close()
|