diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExectionLogCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogCollection.cs similarity index 75% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExectionLogCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogCollection.cs index 8f111f84..1a2c4c6c 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExectionLogCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogCollection.cs @@ -1,6 +1,6 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class ExectionLogCollection : MongoBase +public class ExecutionLogCollection : MongoBase { public string ConversationId { get; set; } public List Logs { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs index 86992094..0b5f2fe8 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs @@ -37,8 +37,8 @@ public class MongoDbContext public IMongoCollection ConversationDialogs => Database.GetCollection($"{_collectionPrefix}_ConversationDialogs"); - public IMongoCollection ExectionLogs - => Database.GetCollection($"{_collectionPrefix}_ExectionLogs"); + public IMongoCollection ExectionLogs + => Database.GetCollection($"{_collectionPrefix}_ExecutionLogs"); public IMongoCollection Users => Database.GetCollection($"{_collectionPrefix}_Users"); diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs index 3e957bc4..5f238e2f 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs @@ -605,9 +605,14 @@ public class MongoRepository : IBotSharpRepository public bool DeleteConversation(string conversationId) { if (string.IsNullOrEmpty(conversationId)) return false; + var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); var filterDialog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filterExeLog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filterPromptLog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var exeLogDeleted = _dc.ExectionLogs.DeleteMany(filterExeLog); + var promptLogDeleted = _dc.LlmCompletionLogs.DeleteMany(filterPromptLog); var dialogDeleted = _dc.ConversationDialogs.DeleteMany(filterDialog); var convDeleted = _dc.Conversations.DeleteMany(filterConv); return convDeleted.DeletedCount > 0 || dialogDeleted.DeletedCount > 0; @@ -843,8 +848,8 @@ public class MongoRepository : IBotSharpRepository { if (string.IsNullOrEmpty(conversationId) || logs.IsNullOrEmpty()) return; - var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var update = Builders.Update .SetOnInsert(x => x.Id, Guid.NewGuid().ToString()) .PushEach(x => x.Logs, logs); @@ -856,7 +861,7 @@ public class MongoRepository : IBotSharpRepository var logs = new List(); if (string.IsNullOrEmpty(conversationId)) return logs; - var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); var logCollection = _dc.ExectionLogs.Find(filter).FirstOrDefault(); logs = logCollection?.Logs ?? new List();