Merge branch 'master' of https://github.com/SciSharp/BotSharp into features/add-fetch-conv-files
This commit is contained in:
commit
c2554509ae
|
|
@ -17,6 +17,6 @@ public interface IConversationStateService
|
|||
int activeRounds = -1, string valueType = StateDataType.String, string source = StateSource.User, bool readOnly = false);
|
||||
void SaveStateByArgs(JsonDocument args);
|
||||
bool RemoveState(string name);
|
||||
void CleanStates(params string[] keepStates);
|
||||
void CleanStates(params string[] excludedStates);
|
||||
void Save();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,16 @@ public class Pagination
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sort by field
|
||||
/// </summary>
|
||||
public string? Sort { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Sort order: asc or desc
|
||||
/// </summary>
|
||||
public string Order { get; set; } = "asc";
|
||||
|
||||
public int Offset
|
||||
{
|
||||
get { return (Page - 1) * Size; }
|
||||
|
|
|
|||
|
|
@ -270,7 +270,7 @@ public class ConversationStateService : IConversationStateService, IDisposable
|
|||
return true;
|
||||
}
|
||||
|
||||
public void CleanStates(params string[] keepStates)
|
||||
public void CleanStates(params string[] excludedStates)
|
||||
{
|
||||
var routingCtx = _services.GetRequiredService<IRoutingContext>();
|
||||
var curMsgId = routingCtx.MessageId;
|
||||
|
|
@ -279,7 +279,7 @@ public class ConversationStateService : IConversationStateService, IDisposable
|
|||
foreach (var key in _curStates.Keys)
|
||||
{
|
||||
// skip state
|
||||
if (keepStates.Contains(key))
|
||||
if (excludedStates.Contains(key))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -481,7 +481,7 @@ namespace BotSharp.Core.Repository
|
|||
// Handle truncated breakpoints
|
||||
var breakpointDir = Path.Combine(convDir, BREAKPOINT_FILE);
|
||||
var breakpoints = CollectConversationBreakpoints(breakpointDir);
|
||||
isSaved = HandleTruncatedBreakpoints(breakpointDir, breakpoints, messageId);
|
||||
isSaved = HandleTruncatedBreakpoints(breakpointDir, breakpoints, refTime);
|
||||
|
||||
// Remove logs
|
||||
if (cleanLog)
|
||||
|
|
@ -585,10 +585,9 @@ namespace BotSharp.Core.Repository
|
|||
return isSaved;
|
||||
}
|
||||
|
||||
private bool HandleTruncatedBreakpoints(string breakpointDir, List<ConversationBreakpoint> breakpoints, string refMessageId)
|
||||
private bool HandleTruncatedBreakpoints(string breakpointDir, List<ConversationBreakpoint> breakpoints, DateTime refTime)
|
||||
{
|
||||
var targetIdx = breakpoints.FindIndex(x => x.MessageId == refMessageId);
|
||||
var truncatedBreakpoints = breakpoints?.Where((x, idx) => idx < targetIdx)?
|
||||
var truncatedBreakpoints = breakpoints?.Where(x => x.CreatedTime < refTime)?
|
||||
.ToList() ?? new List<ConversationBreakpoint>();
|
||||
|
||||
var isSaved = SaveTruncatedBreakpoints(breakpointDir, truncatedBreakpoints);
|
||||
|
|
|
|||
|
|
@ -452,8 +452,7 @@ public partial class MongoRepository
|
|||
if (!foundStates.Breakpoints.IsNullOrEmpty())
|
||||
{
|
||||
var breakpoints = foundStates.Breakpoints ?? new List<BreakpointMongoElement>();
|
||||
var targetIdx = breakpoints.FindIndex(x => x.MessageId == messageId);
|
||||
var truncatedBreakpoints = breakpoints.Where((x, idx) => idx < targetIdx).ToList();
|
||||
var truncatedBreakpoints = breakpoints.Where(x => x.CreatedTime < refTime).ToList();
|
||||
foundStates.Breakpoints = truncatedBreakpoints;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue