""" 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("/", SourceCardDetailView.as_view(), name="source-cards-detail"), path( "/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//", ParserRunView.as_view(), name="run-parser"), path( "upload//", ParserUploadView.as_view(), name="upload-parser-data", ), path( "results//", SourceResultListView.as_view(), name="source-result-list", ), path( "results///", SourceResultDetailView.as_view(), name="source-result-detail", ), path( "schedules/", ParserScheduleListCreateView.as_view(), name="schedule-list", ), path( "schedules//", 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"), ]