# -*- coding: utf-8 -*-
"""
Adtlas Core URL Configuration

This module defines the main URL routing for the Adtlas DAI Management System. 
including all app URLs, admin interface, static/media files,
and error handlers.

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/5.2/topics/http/urls/

URL Structure:
    - / : Core app (landing pages, dashboard)
    - /admin/ : Django admin interface
    - /accounts/ : User management and profiles
    - /auth/ : Authentication and authorization
    - /api/ : API endpoints

Features:
    - Comprehensive URL routing for all apps
    - Static and media file serving in development
    - Custom error handlers
    - API versioning support
    - Internationalization support

"""

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from apps.core.landing_views import landing_page
from apps.core.health import health_check

urlpatterns = [
    # Health check endpoint for Docker
    path('health/', health_check, name='health_check'),
    
    # Admin
    path('admin/', admin.site.urls),
     
    # App URLs
    path('', landing_page, name='index'),
    path('accounts/', include('apps.accounts.urls')),
    path('auth/', include('apps.authentication.urls')),
    path('dashboard/', include('apps.core.urls')),
    path('campaigns/', include('apps.campaigns.urls')),
    path('advertisers/', include('apps.advertisers.urls')),
    path('channels/', include('apps.channels.urls')),
    path('playlists/', include('apps.playlists.urls')),
    path('analytics/', include('apps.analytics.urls')),
    path('vast/', include('apps.vast.urls')),
    
    # API URLs
    path('api/v1/', include('apps.core.api_urls')),
]

# Serve media files in development
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

# Admin site customization
admin.site.site_header = "Adtlas Administration"
admin.site.site_title = "Adtlas Admin Portal"
admin.site.index_title = "Welcome to Adtlas Administration Portal"