# -*- coding: utf-8 -*-
"""
Authentification App Configuration

This module configures the authentification Django app which handles
user authentication views including login, logout, registration,
password reset, and email confirmation.

Features:
    - Email-based authentication
    - JWT and session-based auth support
    - Password reset with email confirmation
    - User registration with email verification
    - Class-based views for all auth operations

Author: AdTlas Development Team
Version: 1.0.0
Last Updated: 2024
"""

from django.apps import AppConfig


class AuthentificationConfig(AppConfig):
    """
    Django app configuration for the authentification application.
    
    This configuration class sets up the authentification app with
    proper naming and auto field configuration.
    
    Attributes:
        default_auto_field (str): The default auto field type for models
        name (str): The full Python path to the application
        verbose_name (str): Human-readable name for the application
    """
    
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.authentification'
    verbose_name = 'Authentication'
    
    def ready(self):
        """
        Perform initialization when Django starts.
        
        This method is called when the app is ready and can be used
        to import signal handlers or perform other initialization tasks.
        """
        # Import signal handlers if any
        try:
            import apps.authentification.signals  # noqa F401
        except ImportError:
            pass