60 lines
3.7 KiB
Python
60 lines
3.7 KiB
Python
from django.urls import path, include
|
||
from rest_framework.routers import DefaultRouter
|
||
from .views import (
|
||
ConversationViewSet, MessageViewSet, FeedbackViewSet,
|
||
FeedbackTagViewSet, DetailedFeedbackViewSet, ConversationSubmissionViewSet,
|
||
ConversationEvaluationViewSet, SystemConfigViewSet
|
||
)
|
||
|
||
router = DefaultRouter()
|
||
router.register(r'conversations', ConversationViewSet)
|
||
router.register(r'messages', MessageViewSet)
|
||
router.register(r'feedback', FeedbackViewSet)
|
||
router.register(r'feedback-tags', FeedbackTagViewSet)
|
||
router.register(r'detailed-feedback', DetailedFeedbackViewSet)
|
||
router.register(r'submissions', ConversationSubmissionViewSet)
|
||
router.register(r'evaluations', ConversationEvaluationViewSet)
|
||
router.register(r'system-config', SystemConfigViewSet)
|
||
|
||
urlpatterns = [
|
||
path('', include(router.urls)),
|
||
|
||
# 对话相关API端点
|
||
path('conversation/<str:pk>/messages/', ConversationViewSet.as_view({'get': 'messages'}), name='conversation-messages'),
|
||
path('conversation/<str:pk>/message/', ConversationViewSet.as_view({'post': 'message'}), name='send-message'),
|
||
path('conversation/<str:pk>/submit/', ConversationViewSet.as_view({'post': 'submit'}), name='submit-conversation'),
|
||
path('conversation/<str:pk>/resume/', ConversationViewSet.as_view({'post': 'resume'}), name='resume-conversation'),
|
||
|
||
# 仪表盘和统计分析API端点
|
||
path('dashboard/', ConversationViewSet.as_view({'get': 'dashboard'}), name='dashboard'),
|
||
|
||
# 提交评审API端点
|
||
path('submission/<str:pk>/review/', ConversationSubmissionViewSet.as_view({'post': 'review'}), name='review-submission'),
|
||
|
||
# 系统配置和模型管理API端点
|
||
path('models/', SystemConfigViewSet.as_view({'get': 'models'}), name='models-lst'),
|
||
path('model/', SystemConfigViewSet.as_view({'get': 'model', 'post': 'model'}), name='current-model'),
|
||
|
||
# 数据导出和命令执行API端点
|
||
path('export-feedback/', SystemConfigViewSet.as_view({'post': 'export_feedback'}), name='export-feedback'),
|
||
path('run-command/', SystemConfigViewSet.as_view({'post': 'run_command'}), name='run-command'),
|
||
|
||
# 将原app.py中的API路径映射到相应ViewSet方法,方便前端迁移
|
||
path('api/conversation/new', ConversationViewSet.as_view({'post': 'create'}), name='new-conversation'),
|
||
path('api/conversation/<str:pk>/messages', ConversationViewSet.as_view({'get': 'messages'}), name='api-conversation-messages'),
|
||
path('api/conversation/<str:pk>/message', ConversationViewSet.as_view({'post': 'message'}), name='api-send-message'),
|
||
path('api/conversation/<str:pk>/submit', ConversationViewSet.as_view({'post': 'submit'}), name='api-submit-conversation'),
|
||
path('api/conversation/<str:pk>/resume', ConversationViewSet.as_view({'post': 'resume'}), name='api-resume-conversation'),
|
||
path('api/conversation/<str:pk>/evaluation', ConversationEvaluationViewSet.as_view({
|
||
'get': 'retrieve',
|
||
'post': 'create',
|
||
'put': 'update',
|
||
'patch': 'partial_update'
|
||
}), name='api-conversation-evaluation'),
|
||
path('api/feedback', FeedbackViewSet.as_view({'post': 'create'}), name='api-create-feedback'),
|
||
path('api/feedback/detailed', DetailedFeedbackViewSet.as_view({'post': 'create'}), name='api-create-detailed-feedback'),
|
||
path('api/feedback/tags', FeedbackTagViewSet.as_view({'get': 'list'}), name='api-feedback-tags'),
|
||
path('api/annotations/dashboard', ConversationViewSet.as_view({'get': 'dashboard'}), name='api-annotations-dashboard'),
|
||
path('api/models', SystemConfigViewSet.as_view({'get': 'models'}), name='api-models-list'),
|
||
path('api/model', SystemConfigViewSet.as_view({'get': 'model', 'post': 'model'}), name='api-current-model'),
|
||
] |