feat: move version update logic out of save_memory

This commit is contained in:
Stream 2025-09-23 23:17:34 +08:00
parent 5bf642c3f9
commit 8833fee232
No known key found for this signature in database
GPG Key ID: 033728094B100D70
3 changed files with 6 additions and 16 deletions

View File

@ -73,7 +73,7 @@ class MemoryEditApi(Resource):
is_draft=False
)
# Create updated memory instance
# Create updated memory instance with incremented version
updated_memory = MemoryBlock(
spec=existing_memory.spec,
tenant_id=existing_memory.tenant_id,
@ -81,7 +81,7 @@ class MemoryEditApi(Resource):
conversation_id=existing_memory.conversation_id,
node_id=existing_memory.node_id,
value=update, # New value
version=existing_memory.version, # Keep current version (save_memory will handle version increment)
version=existing_memory.version + 1, # Increment version for update
edited_by_user=True,
created_by=existing_memory.created_by,
)

View File

@ -73,7 +73,7 @@ class MemoryEditApi(WebApiResource):
is_draft=False
)
# Create updated memory instance
# Create updated memory instance with incremented version
updated_memory = MemoryBlock(
spec=existing_memory.spec,
tenant_id=existing_memory.tenant_id,
@ -81,7 +81,7 @@ class MemoryEditApi(WebApiResource):
conversation_id=existing_memory.conversation_id,
node_id=existing_memory.node_id,
value=update, # New value
version=existing_memory.version, # Keep current version (save_memory will handle version increment)
version=existing_memory.version + 1, # Increment version for update
edited_by_user=True,
created_by=existing_memory.created_by,
)

View File

@ -114,16 +114,6 @@ class ChatflowMemoryService:
created_by = memory.created_by.id
with Session(db.engine) as session:
existing = session.query(ChatflowMemoryVariable).filter_by(
memory_id=memory.spec.id,
tenant_id=memory.tenant_id,
app_id=memory.app_id,
node_id=memory.node_id,
conversation_id=memory.conversation_id,
created_by_role=created_by_role,
created_by=created_by,
).order_by(ChatflowMemoryVariable.version.desc()).first()
new_version = 1 if not existing else existing.version + 1
session.add(
ChatflowMemoryVariable(
memory_id=memory.spec.id,
@ -138,7 +128,7 @@ class ChatflowMemoryService:
).model_dump_json(),
term=memory.spec.term,
scope=memory.spec.scope,
version=new_version,
version=memory.version, # Use version from MemoryBlock directly
created_by_role=created_by_role,
created_by=created_by,
)
@ -555,7 +545,7 @@ class ChatflowMemoryService:
node_id=memory_block.node_id,
edited_by_user=False,
created_by=memory_block.created_by,
version=memory_block.version,
version=memory_block.version + 1, # Increment version for business logic update
)
ChatflowMemoryService.save_memory(updated_memory, variable_pool, is_draft)