feat: 更新 API 视图和序列化器
更新内容: 1. views.py - 集成分块读取(所有文件操作强制使用 chunked=True) - 集成语义摘要生成(SemanticSummaryGenerator) - 记录变动行数(lines_changed) - 记录数据源(source: local/database/manual) - 完善 check_sync_status 支持 HARD_CONFLICT 状态 - get_file_diff 返回变动行数 - get_ignore_patterns 返回模式类型(glob/regex) 2. serializers.py - 添加 status_display, source_display 字段 - 更新 LobsterMemorySerializer 包含 summary 字段 - 更新 SyncHistorySerializer 包含 lines_changed, source 字段 所有 API 接口已更新,支持完整功能。
This commit is contained in:
@@ -5,6 +5,8 @@ from .models import LobsterMemory, SyncHistory
|
||||
class LobsterMemorySerializer(serializers.ModelSerializer):
|
||||
"""龙虾记忆序列化器"""
|
||||
|
||||
status_display = serializers.CharField(source='get_status_display', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = LobsterMemory
|
||||
fields = [
|
||||
@@ -14,8 +16,10 @@ class LobsterMemorySerializer(serializers.ModelSerializer):
|
||||
'content',
|
||||
'hash',
|
||||
'status',
|
||||
'status_display',
|
||||
'version',
|
||||
'size',
|
||||
'summary',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
]
|
||||
@@ -27,6 +31,7 @@ class SyncHistorySerializer(serializers.ModelSerializer):
|
||||
|
||||
action_display = serializers.CharField(source='get_action_display', read_only=True)
|
||||
status_display = serializers.CharField(source='get_status_display', read_only=True)
|
||||
source_display = serializers.CharField(source='get_source_display', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = SyncHistory
|
||||
@@ -38,11 +43,14 @@ class SyncHistorySerializer(serializers.ModelSerializer):
|
||||
'action_display',
|
||||
'status',
|
||||
'status_display',
|
||||
'source',
|
||||
'source_display',
|
||||
'old_version',
|
||||
'new_version',
|
||||
'old_hash',
|
||||
'new_hash',
|
||||
'file_size',
|
||||
'lines_changed',
|
||||
'operator',
|
||||
'error_message',
|
||||
'execution_time',
|
||||
@@ -56,9 +64,10 @@ class FileDiffSerializer(serializers.Serializer):
|
||||
|
||||
file_path = serializers.CharField()
|
||||
lobster_id = serializers.CharField()
|
||||
local_content = serializers.CharField(required=False)
|
||||
db_content = serializers.CharField(required=False)
|
||||
local_hash = serializers.CharField(required=False)
|
||||
db_hash = serializers.CharField(required=False)
|
||||
local_content = serializers.CharField(required=False, allow_null=True)
|
||||
db_content = serializers.CharField(required=False, allow_null=True)
|
||||
local_hash = serializers.CharField(required=False, allow_null=True)
|
||||
db_hash = serializers.CharField(required=False, allow_null=True)
|
||||
status = serializers.CharField()
|
||||
message = serializers.CharField(required=False)
|
||||
message = serializers.CharField(required=False)
|
||||
diff = serializers.DictField(required=False)
|
||||
Reference in New Issue
Block a user