Merge pull request #358 from iceljc/features/refine-conversation

fix validation and truncate message
This commit is contained in:
C. Oceania 2024-03-24 23:49:41 -05:00 committed by GitHub
commit 454802307f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 10 deletions

View file

@ -5,7 +5,7 @@ namespace BotSharp.OpenAPI.ViewModels.Agents;
public class RoutingRuleUpdateModel
{
public string Field { get; set; }
public string Description { get; set; }
public string? Description { get; set; }
public bool Required { get; set; }
public string? RedirectTo { get; set; }

View file

@ -381,23 +381,26 @@ public partial class MongoRepository
var refTime = foundDialog.Dialogs.ElementAt(foundIdx).MetaData.CreateTime;
var stateFilter = Builders<ConversationStateDocument>.Filter.Eq(x => x.ConversationId, conversationId);
var foundStates = _dc.ConversationStates.Find(stateFilter).FirstOrDefault();
// if (foundStates == null || foundStates.States.IsNullOrEmpty()) return false;
var truncatedStates = new List<StateMongoElement>();
foreach (var state in foundStates.States)
if (foundStates != null && !foundStates.States.IsNullOrEmpty())
{
var values = state.Values.Where(x => x.UpdateTime < refTime).ToList();
if (values.Count == 0) continue;
var truncatedStates = new List<StateMongoElement>();
foreach (var state in foundStates.States)
{
var values = state.Values.Where(x => x.UpdateTime < refTime).ToList();
if (values.Count == 0) continue;
state.Values = values;
truncatedStates.Add(state);
state.Values = values;
truncatedStates.Add(state);
}
foundStates.States = truncatedStates;
_dc.ConversationStates.ReplaceOne(stateFilter, foundStates);
}
// Save
foundDialog.Dialogs = truncatedDialogs;
foundStates.States = truncatedStates;
_dc.ConversationDialogs.ReplaceOne(dialogFilter, foundDialog);
_dc.ConversationStates.ReplaceOne(stateFilter, foundStates);
// Remove logs
if (cleanLog)