Files
mostovik-backend/src/apps/parsers/urls.py
Aleksandr Meshchriakov be7af18c36
All checks were successful
CI/CD Pipeline / Quality Gate (push) Successful in 21s
CI/CD Pipeline / Build and Push Images (push) Successful in 6s
CI/CD Pipeline / Internal Notify (push) Successful in 1s
CI/CD Pipeline / Deploy Dev in Dokploy (push) Successful in 1s
feat(dashboard): improve parser API checks
2026-04-29 11:47:45 +02:00

162 lines
5.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
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"),
]