Add plugin platform with modular backend and frontend registry.

Split graph/import/meta into Django apps, add API v1 with OpenAPI and pytest, and introduce plugin registry with the tags reference plugin on both FE and BE.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-25 09:35:51 +03:00
co-authored by Cursor
parent b694a596b8
commit cafc7335ad
77 changed files with 1801 additions and 490 deletions
+2 -28
View File
@@ -1,32 +1,6 @@
"""Legacy /api/ routes — mirrors v1 for backward compatibility."""
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from . import views
router = DefaultRouter()
router.register('contacts', views.ContactViewSet)
router.register('relations', views.RelationViewSet)
router.register('network-maps', views.NetworkMapViewSet)
urlpatterns = [
path('', include(router.urls)),
path(
'network-maps/<int:map_pk>/memberships/',
views.NetworkMapMembershipViewSet.as_view({'get': 'list', 'post': 'create'}),
name='network-map-memberships-list',
),
path(
'network-maps/<int:map_pk>/memberships/<int:pk>/',
views.NetworkMapMembershipViewSet.as_view({
'get': 'retrieve',
'patch': 'partial_update',
'put': 'update',
'delete': 'destroy',
}),
name='network-map-memberships-detail',
),
path('graph/', views.graph_data),
path('network-map-graph/', views.network_map_graph),
path('relation-types/', views.relation_types),
path('network-map-choices/', views.network_map_choices),
path('import/', views.import_contacts),
path('', include('api.v1.urls')),
]