"""
Notifications Application Configuration

This module defines the configuration for the notifications Django application,
which handles multi-channel notifications including Telegram, email, and webhooks.
"""

from django.apps import AppConfig


class NotificationsConfig(AppConfig):
    """
    Configuration class for the notifications application.
    
    This class defines the notifications application settings and handles
    application initialization, including setting up signal handlers
    for notification processing.
    
    Attributes:
        default_auto_field (str): The default primary key field type for models
        name (str): The application name used by Django
        verbose_name (str): Human-readable name for the application
    """
    
    # Use BigAutoField as the default primary key type
    default_auto_field = 'django.db.models.BigAutoField'
    
    # Application name as registered in Django
    name = 'apps.notifications'
    
    # Human-readable application name
    verbose_name = 'Notifications'
    
    def ready(self):
        """
        Perform initialization when the application is ready.
        
        This method is called once Django has loaded all applications
        and models. It imports signal handlers to set up automatic
        notification processing.
        """
        # Import signal handlers for notifications
        try:
            import apps.notifications.signals  # noqa: F401
        except ImportError:
            # Signal handlers are optional
            pass
