feat(api): полное API для всех парсеров с документацией

This commit is contained in:
2026-02-01 15:19:21 +01:00
parent eacb1527c4
commit efa5c3ae34
8 changed files with 840 additions and 141 deletions

View File

@@ -1,10 +1,66 @@
from apps.parsers.views import FinancialReportViewSet, FNSReportUploadView
"""
URL конфигурация для приложения парсеров.
Все эндпоинты только для чтения (GET, GET list).
"""
from apps.parsers.views import (
FinancialReportViewSet,
FNSReportUploadView,
IndustrialCertificateViewSet,
InspectionViewSet,
ManufacturerViewSet,
ParserLoadLogViewSet,
ProcurementViewSet,
ProxyViewSet,
)
from django.urls import include, path
from rest_framework.routers import DefaultRouter
app_name = "parsers"
# FNS router
# =============================================================================
# Минпромторг: /api/v1/minpromtorg/
# =============================================================================
minpromtorg_router = DefaultRouter()
minpromtorg_router.register(
r"certificates", IndustrialCertificateViewSet, basename="certificates"
)
minpromtorg_router.register(
r"manufacturers", ManufacturerViewSet, basename="manufacturers"
)
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")
@@ -13,4 +69,20 @@ fns_urlpatterns = [
path("", include(fns_router.urls)),
]
# =============================================================================
# Системные (логи, прокси): /api/v1/system/
# =============================================================================
system_router = DefaultRouter()
system_router.register(r"logs", ParserLoadLogViewSet, basename="parser-logs")
system_router.register(r"proxies", ProxyViewSet, basename="proxies")
system_urlpatterns = [
path("", include(system_router.urls)),
]
# =============================================================================
# Legacy urlpatterns (пусто, используется app_name)
# =============================================================================
urlpatterns = []