from django.conf import settings from django.conf.urls.i18n import i18n_patterns from django.conf.urls.static import static from django.contrib import admin from django.urls import include, path from django.views.decorators.csrf import csrf_exempt from drf_spectacular.views import SpectacularAPIView from core.graphene.schema import schema from core.views import ( CustomGraphQLView, CustomRedocView, CustomSwaggerView, favicon_view, index, ) from evibes.settings import SPECTACULAR_PLATFORM_SETTINGS urlpatterns = [ path(r"health/", include("health_check.urls", namespace="health_check")), path("prometheus/", include("django_prometheus.urls")), path(r"graphql/", csrf_exempt(CustomGraphQLView.as_view(graphiql=True, schema=schema)), name="graphql-platform"), path( r"docs/", SpectacularAPIView.as_view(urlconf="evibes.api_urls", custom_settings=SPECTACULAR_PLATFORM_SETTINGS), name="schema-platform", ), path( r"docs/swagger/", CustomSwaggerView.as_view(url_name="schema-platform"), name="swagger-ui-platform", ), path( r"docs/redoc/", CustomRedocView.as_view(url_name="schema-platform"), name="redoc-ui-platform", ), path("summernote/", include("django_summernote.urls")), path(r"i18n/", include("django.conf.urls.i18n")), path(r"favicon.ico", favicon_view), path(r"", index), path(r"", include("core.api_urls", namespace="core")), path(r"auth/", include("vibes_auth.urls", namespace="vibes_auth")), path(r"payments/", include("payments.urls", namespace="payments")), path(r"blog/", include("blog.urls", namespace="blog")), path("admin/doc/", include("django.contrib.admindocs.urls")), ] + i18n_patterns(path("admin/", admin.site.urls)) if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)