"""
Notification Service Models Package

Import all models to ensure they are registered with SQLAlchemy Base.
"""

# Import AuditLog model for this service
from shared.security import create_audit_log_model
from shared.database.base import Base

# Create audit log model for this service
AuditLog = create_audit_log_model(Base)

# Import all models to register them with the Base metadata
from .notifications import (
    Notification,
    NotificationTemplate,
    NotificationType,
    NotificationStatus,
    NotificationPriority,
    NotificationPreference,
    NotificationLog,
)
from .templates import (
    EmailTemplate,
)
from .whatsapp_messages import (
    WhatsAppTemplate,
    WhatsAppMessage,
    WhatsAppMessageStatus,
    WhatsAppMessageType,
)

# List all models for easier access
__all__ = [
    "Notification",
    "NotificationTemplate",
    "NotificationType",
    "NotificationStatus",
    "NotificationPriority",
    "NotificationPreference",
    "NotificationLog",
    "EmailTemplate",
    "WhatsAppTemplate",
    "WhatsAppMessage",
    "WhatsAppMessageStatus",
    "WhatsAppMessageType",
    "AuditLog",
]