diff --git a/src/domain/orchestrator/sync.ts b/src/domain/orchestrator/sync.ts index a1d0a97..c66f7d2 100644 --- a/src/domain/orchestrator/sync.ts +++ b/src/domain/orchestrator/sync.ts @@ -209,16 +209,13 @@ export class SyncOrchestrator { throw ErrorMarkTypeError() } - // 从 metadata 中提取 root_id、parent_id、source_id let rootUuid = '' let parentUuid = '' - let sourceId = '' if (change.data['metadata']) { try { - const metadata = JSON.parse(change.data['metadata']) as { root_id?: string; parent_id?: string; source_id?: string } + const metadata = JSON.parse(change.data['metadata']) as { root_id?: string; parent_id?: string } rootUuid = metadata.root_id || '' parentUuid = metadata.parent_id || '' - sourceId = metadata.source_id || '' } catch { // metadata parse failure } @@ -237,8 +234,8 @@ export class SyncOrchestrator { parentUuid, approxSource: change.data['approx_source'] || '', content: change.data['content'] || '', - sourceType: sourceId ? 'bookmark' : '', - sourceId + sourceType: 'bookmark', + sourceId: '' } }) return diff --git a/src/infra/repository/dbSyncBatch.ts b/src/infra/repository/dbSyncBatch.ts index 7d7c550..8a1a6ef 100644 --- a/src/infra/repository/dbSyncBatch.ts +++ b/src/infra/repository/dbSyncBatch.ts @@ -295,6 +295,9 @@ export class DBSyncBatchOperation { if (parentComment.root_id > 0) rootId = parentComment.root_id } + const finalSourceType = sourceType || 'bookmark' + const finalSourceId = sourceId || userBookmark.id.toString() + const created = await tx.sr_bookmark_comment.create({ data: { uuid: operation.commentUuid, @@ -308,8 +311,8 @@ export class DBSyncBatchOperation { parent_id: parentId, approx_source: approxSource, content, - source_type: sourceType, - source_id: sourceId, + source_type: finalSourceType, + source_id: finalSourceId, is_deleted: false, created_at: new Date(), updated_at: new Date()