schon/evibes/urls.py
2025-12-28 17:05:20 +03:00

104 lines
2.3 KiB
Python

from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.urls import include, path
from django.views.decorators.csrf import csrf_exempt
from engine.core.graphene.schema import schema
from engine.core.views import (
CustomGraphQLView,
CustomRedocView,
CustomSpectacularAPIView,
CustomSwaggerView,
favicon_view,
index,
)
from evibes.i18n import set_language
urlpatterns = [
### COMMON URLS ###
path(
r"",
index,
),
path(
r"health/",
include(
"health_check.urls",
),
),
path(
r"prometheus/",
include(
"django_prometheus.urls",
),
),
path(
"summernote/",
include("django_summernote.urls"),
),
path(
r"i18n/setlang/",
set_language,
name="set_language",
),
path(
r"i18n/",
include("django.conf.urls.i18n"),
),
path(
r"favicon.ico",
favicon_view,
name="favicon",
),
path(
r"graphql/",
csrf_exempt(CustomGraphQLView.as_view(graphiql=True, schema=schema)),
name="graphql-platform",
),
### DOCUMENTATION URLS ###
path(
r"docs/",
CustomSpectacularAPIView.as_view(urlconf="evibes.urls"),
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",
),
### ENGINE APPS URLS ###
path(
r"b2b/",
include("engine.core.b2b_urls", namespace="core_b2b"),
),
path(
r"",
include("engine.core.urls", namespace="core"),
),
path(
r"authv/",
include("engine.vibes_auth.urls", namespace="vibes_auth"),
),
path(
r"payments/",
include("engine.payments.urls", namespace="payments"),
),
path(
r"blog/",
include("engine.blog.urls", namespace="blog"),
),
### ADMIN URLS ###
path(
"admin/doc/",
include("django.contrib.admindocs.urls"),
),
path(
"admin/",
admin.site.urls,
),
]