58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
"""
|
||
URL Configuration for the project.
|
||
|
||
The `urlpatterns` list routes URLs to views.
|
||
"""
|
||
|
||
from django.conf import settings
|
||
from django.conf.urls.static import static
|
||
from django.contrib import admin
|
||
from django.urls import include, path
|
||
from drf_yasg import openapi
|
||
from drf_yasg.views import get_schema_view
|
||
from rest_framework import permissions
|
||
|
||
# Swagger schema view
|
||
schema_view = get_schema_view(
|
||
openapi.Info(
|
||
title="Mostovik API",
|
||
default_version="v1",
|
||
description="""
|
||
## API документация для проекта Mostovik
|
||
|
||
### Авторизация
|
||
Для доступа к защищённым эндпоинтам используйте JWT токен:
|
||
1. Получите токен через `POST /api/v1/users/login/`
|
||
2. Добавьте заголовок: `Authorization: Bearer <access_token>`
|
||
|
||
### Обновление токена
|
||
Используйте `POST /api/v1/users/token/refresh/` с refresh токеном.
|
||
|
||
### Парсеры
|
||
API предоставляет только чтение данных (GET, GET list).
|
||
Добавление и удаление записей происходит через парсеры и админку.
|
||
""",
|
||
contact=openapi.Contact(email="contact@mostovik.local"),
|
||
license=openapi.License(name="BSD License"),
|
||
),
|
||
public=True,
|
||
permission_classes=(permissions.AllowAny,),
|
||
)
|
||
|
||
urlpatterns = [
|
||
path(
|
||
"",
|
||
schema_view.with_ui("swagger", cache_timeout=0),
|
||
name="schema-swagger-ui",
|
||
),
|
||
path("admin/", admin.site.urls),
|
||
path("health/", include("apps.core.urls")),
|
||
path("api/v1/", include("config.api_v1_urls", namespace="api_v1")),
|
||
path("auth/", include("rest_framework.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)
|