"""
Core admin package providing base classes and mixins for standardized admin behavior.

This package provides reusable admin components that ensure consistency across
all Django admin interfaces in the ThrillWiki application.

Usage:
    from apps.core.admin import BaseModelAdmin, QueryOptimizationMixin, ExportActionMixin

Classes:
    - BaseModelAdmin: Standard base class with common settings
    - QueryOptimizationMixin: Automatic query optimization based on list_display
    - ReadOnlyAdminMixin: Disable modifications for auto-generated data
    - TimestampFieldsMixin: Standard handling for created_at/updated_at
    - SlugFieldMixin: Standard prepopulated_fields for slug
    - ExportActionMixin: CSV/JSON export functionality
    - BulkStatusChangeMixin: Bulk status change actions
"""

from apps.core.admin.base import BaseModelAdmin
from apps.core.admin.mixins import (
    BulkStatusChangeMixin,
    ExportActionMixin,
    QueryOptimizationMixin,
    ReadOnlyAdminMixin,
    SlugFieldMixin,
    TimestampFieldsMixin,
)

__all__ = [
    "BaseModelAdmin",
    "QueryOptimizationMixin",
    "ReadOnlyAdminMixin",
    "TimestampFieldsMixin",
    "SlugFieldMixin",
    "ExportActionMixin",
    "BulkStatusChangeMixin",
]
