45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
"""
|
|
Integration URLs
|
|
Phase 6: Site Integration & Multi-Destination Publishing
|
|
"""
|
|
from django.urls import path, include
|
|
from rest_framework.routers import DefaultRouter
|
|
|
|
from igny8_core.modules.integration.views import IntegrationViewSet, PublishingSettingsViewSet
|
|
from igny8_core.modules.integration.webhooks import (
|
|
wordpress_status_webhook,
|
|
wordpress_metadata_webhook,
|
|
)
|
|
from igny8_core.api.unified_settings import UnifiedSiteSettingsViewSet
|
|
|
|
router = DefaultRouter()
|
|
router.register(r'integrations', IntegrationViewSet, basename='integration')
|
|
|
|
# Create PublishingSettings ViewSet instance
|
|
publishing_settings_viewset = PublishingSettingsViewSet.as_view({
|
|
'get': 'retrieve',
|
|
'put': 'update',
|
|
'patch': 'partial_update',
|
|
})
|
|
|
|
# Create Unified Settings ViewSet instance
|
|
unified_settings_viewset = UnifiedSiteSettingsViewSet.as_view({
|
|
'get': 'retrieve',
|
|
'put': 'update',
|
|
})
|
|
|
|
urlpatterns = [
|
|
path('', include(router.urls)),
|
|
|
|
# Site-level publishing settings
|
|
path('sites/<int:site_id>/publishing-settings/', publishing_settings_viewset, name='publishing-settings'),
|
|
|
|
# Unified site settings (AI & Automation consolidated)
|
|
path('sites/<int:site_id>/unified-settings/', unified_settings_viewset, name='unified-settings'),
|
|
|
|
# Webhook endpoints
|
|
path('webhooks/wordpress/status/', wordpress_status_webhook, name='wordpress-status-webhook'),
|
|
path('webhooks/wordpress/metadata/', wordpress_metadata_webhook, name='wordpress-metadata-webhook'),
|
|
]
|
|
|