162 lines
5.4 KiB
Python
162 lines
5.4 KiB
Python
"""
|
||
URL конфигурация для приложения парсеров.
|
||
|
||
Все эндпоинты только для чтения (GET, GET list).
|
||
"""
|
||
|
||
from apps.parsers.views import (
|
||
FinancialReportViewSet,
|
||
FNSReportUploadView,
|
||
GenericParserRecordListView,
|
||
IndustrialCertificateViewSet,
|
||
IndustrialProductViewSet,
|
||
InspectionViewSet,
|
||
ManufacturerViewSet,
|
||
ParserDashboardDataView,
|
||
ParserLoadLogExportView,
|
||
ParserLoadLogListView,
|
||
ParserLoadLogViewSet,
|
||
ParserRunView,
|
||
ParserScheduleDetailView,
|
||
ParserScheduleListCreateView,
|
||
ParserSourceListView,
|
||
ParserUploadView,
|
||
ParsingSettingsView,
|
||
ProcurementViewSet,
|
||
SourceCardDetailView,
|
||
SourceCardListView,
|
||
SourceCardRefreshView,
|
||
SourceResultDetailView,
|
||
SourceResultListView,
|
||
SourceTaskStatusListView,
|
||
)
|
||
from django.urls import include, path
|
||
from rest_framework.routers import DefaultRouter
|
||
|
||
app_name = "parsers"
|
||
|
||
# =============================================================================
|
||
# Минпромторг: /api/v1/minpromtorg/
|
||
# =============================================================================
|
||
|
||
minpromtorg_router = DefaultRouter()
|
||
minpromtorg_router.register(
|
||
r"certificates", IndustrialCertificateViewSet, basename="certificates"
|
||
)
|
||
minpromtorg_router.register(
|
||
r"manufacturers", ManufacturerViewSet, basename="manufacturers"
|
||
)
|
||
minpromtorg_router.register(
|
||
r"products", IndustrialProductViewSet, basename="industrial-products"
|
||
)
|
||
|
||
minpromtorg_urlpatterns = [
|
||
path("", include(minpromtorg_router.urls)),
|
||
]
|
||
|
||
# =============================================================================
|
||
# Единый реестр проверок: /api/v1/proverki/
|
||
# =============================================================================
|
||
|
||
proverki_router = DefaultRouter()
|
||
proverki_router.register(r"", InspectionViewSet, basename="inspections")
|
||
|
||
proverki_urlpatterns = [
|
||
path("", include(proverki_router.urls)),
|
||
]
|
||
|
||
# =============================================================================
|
||
# Государственные закупки: /api/v1/zakupki/
|
||
# =============================================================================
|
||
|
||
zakupki_router = DefaultRouter()
|
||
zakupki_router.register(r"", ProcurementViewSet, basename="procurements")
|
||
|
||
zakupki_urlpatterns = [
|
||
path("", include(zakupki_router.urls)),
|
||
]
|
||
|
||
# =============================================================================
|
||
# ФНС - Бухгалтерская отчетность: /api/v1/fns/
|
||
# =============================================================================
|
||
|
||
fns_router = DefaultRouter()
|
||
fns_router.register(r"reports", FinancialReportViewSet, basename="fns-reports")
|
||
|
||
fns_urlpatterns = [
|
||
path("upload/", FNSReportUploadView.as_view(), name="fns-upload"),
|
||
path("", include(fns_router.urls)),
|
||
]
|
||
|
||
# =============================================================================
|
||
# Parsing settings: /api/v1/parsing/
|
||
# =============================================================================
|
||
|
||
parsing_urlpatterns = [
|
||
path("settings/", ParsingSettingsView.as_view(), name="parsing-settings"),
|
||
]
|
||
|
||
# =============================================================================
|
||
# Frontend sources: /api/v1/sources/
|
||
# =============================================================================
|
||
|
||
sources_urlpatterns = [
|
||
path("", SourceCardListView.as_view(), name="source-cards-list"),
|
||
path("statuses/", SourceTaskStatusListView.as_view(), name="source-cards-statuses"),
|
||
path("<slug:slug>/", SourceCardDetailView.as_view(), name="source-cards-detail"),
|
||
path(
|
||
"<slug:slug>/refresh/",
|
||
SourceCardRefreshView.as_view(),
|
||
name="source-cards-refresh",
|
||
),
|
||
]
|
||
|
||
# =============================================================================
|
||
# Системные (логи, прокси): /api/v1/system/
|
||
# =============================================================================
|
||
|
||
system_router = DefaultRouter()
|
||
system_router.register(r"logs", ParserLoadLogViewSet, basename="parser-logs")
|
||
|
||
system_urlpatterns = [
|
||
path("logs/export/", ParserLoadLogExportView.as_view(), name="parser-logs-export"),
|
||
path("", include(system_router.urls)),
|
||
]
|
||
|
||
# =============================================================================
|
||
# Legacy urlpatterns (пусто, используется app_name)
|
||
# =============================================================================
|
||
|
||
urlpatterns = [
|
||
path("sources/", ParserSourceListView.as_view(), name="source-list"),
|
||
path("dashboard/", ParserDashboardDataView.as_view(), name="dashboard-data"),
|
||
path("run/<str:source_key>/", ParserRunView.as_view(), name="run-parser"),
|
||
path(
|
||
"upload/<str:source_key>/",
|
||
ParserUploadView.as_view(),
|
||
name="upload-parser-data",
|
||
),
|
||
path(
|
||
"results/<str:source_key>/",
|
||
SourceResultListView.as_view(),
|
||
name="source-result-list",
|
||
),
|
||
path(
|
||
"results/<str:source_key>/<int:pk>/",
|
||
SourceResultDetailView.as_view(),
|
||
name="source-result-detail",
|
||
),
|
||
path(
|
||
"schedules/",
|
||
ParserScheduleListCreateView.as_view(),
|
||
name="schedule-list",
|
||
),
|
||
path(
|
||
"schedules/<int:pk>/",
|
||
ParserScheduleDetailView.as_view(),
|
||
name="schedule-detail",
|
||
),
|
||
path("load-logs/", ParserLoadLogListView.as_view(), name="load-log-list"),
|
||
path("records/", GenericParserRecordListView.as_view(), name="generic-record-list"),
|
||
]
|