refine update conv tags
This commit is contained in:
parent
9a8f559785
commit
f4cc8f41fa
|
|
@ -79,6 +79,6 @@ public abstract class ConversationHookBase : IConversationHook
|
|||
public virtual Task OnNotificationGenerated(RoleDialogModel message)
|
||||
=> Task.CompletedTask;
|
||||
|
||||
public Task OnUserDisconnected(Conversation conversation)
|
||||
public virtual Task OnUserDisconnected(Conversation conversation)
|
||||
=> Task.CompletedTask;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -171,7 +171,8 @@ public partial class FileRepository
|
|||
var json = File.ReadAllText(convFile);
|
||||
var conv = JsonSerializer.Deserialize<Conversation>(json, _options);
|
||||
|
||||
var tags = conv.Tags.Concat(toAddTags).ToList();
|
||||
var tags = conv.Tags ?? [];
|
||||
tags = tags.Concat(toAddTags).Distinct().ToList();
|
||||
conv.Tags = tags.Where(x => !toDeleteTags.Contains(x, StringComparer.OrdinalIgnoreCase)).ToList();
|
||||
|
||||
conv.UpdatedTime = DateTime.UtcNow;
|
||||
|
|
|
|||
|
|
@ -142,10 +142,12 @@ public partial class MongoRepository
|
|||
var conv = _dc.Conversations.Find(filter).FirstOrDefault();
|
||||
if (conv == null) return false;
|
||||
|
||||
|
||||
var tags = conv.Tags ?? [];
|
||||
tags = tags.Concat(toAddTags).Distinct().ToList();
|
||||
tags = tags.Where(x => !toDeleteTags.Contains(x, StringComparer.OrdinalIgnoreCase)).ToList();
|
||||
|
||||
var update = Builders<ConversationDocument>.Update
|
||||
.Set(x => x.Tags, tags ?? new())
|
||||
.Set(x => x.Tags, tags)
|
||||
.Set(x => x.UpdatedTime, DateTime.UtcNow);
|
||||
|
||||
var res = _dc.Conversations.UpdateOne(filter, update);
|
||||
|
|
|
|||
Loading…
Reference in a new issue