"""config URL configuration."""

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import include, path
from decouple import config
# API v1
v1_patterns = [
    path("", include(("apps.core.urls", "core"), namespace="core")),
    path("auth/", include(("apps.users.urls", "users"), namespace="users")),
    path("", include(("apps.stores.urls", "stores"), namespace="stores")),
    path("", include(("apps.products.urls", "products"), namespace="products")),
    path("", include(("apps.events.urls", "events"), namespace="events")),
    path("", include(("apps.engagement.urls", "engagement"), namespace="engagement")),
    path("", include(("apps.referrals.urls", "referrals"), namespace="referrals")),
    path("", include(("apps.content.urls", "content"), namespace="content")),
]

# API docs
api_patterns = [
    path("v1/", include((v1_patterns, "v1"), namespace="v1")),

]

urlpatterns = [
    path("admin/", admin.site.urls),
    path("api/", include((api_patterns, "api"), namespace="api")),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
elif config("SERVE_MEDIA", default=False, cast=bool):
    # On cPanel/Passenger we can let Django serve uploaded media too,
    # since Apache is not configured to serve from MEDIA_ROOT directly.
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
