# app/modules/messaging/models/__init__.py
"""
Messaging module database models.

This module contains the canonical implementations of messaging-related models:
- Message, Conversation: In-app messaging
- AdminNotification: Admin notifications
- Email templates and settings: Email system
"""

from app.modules.messaging.models.admin_notification import AdminNotification
from app.modules.messaging.models.email import (
    EmailCategory,
    EmailLog,
    EmailStatus,
    EmailTemplate,
)
from app.modules.messaging.models.message import (
    Conversation,
    ConversationParticipant,
    ConversationType,
    Message,
    MessageAttachment,
    ParticipantType,
)
from app.modules.messaging.models.store_email_settings import (
    PREMIUM_EMAIL_PROVIDERS,
    EmailProvider,
    StoreEmailSettings,
)
from app.modules.messaging.models.store_email_template import StoreEmailTemplate

__all__ = [
    # Conversations and messages
    "Conversation",
    "ConversationParticipant",
    "ConversationType",
    "Message",
    "MessageAttachment",
    "ParticipantType",
    # Admin notifications
    "AdminNotification",
    # Email templates
    "EmailCategory",
    "EmailLog",
    "EmailStatus",
    "EmailTemplate",
    # Store email settings
    "EmailProvider",
    "PREMIUM_EMAIL_PROVIDERS",
    "StoreEmailSettings",
    "StoreEmailTemplate",
]
