Skip to content

Commit 0de06a9

Browse files
author
Jicheng Lu
committed
temp save
1 parent eac490e commit 0de06a9

File tree

7 files changed

+19
-28
lines changed

7 files changed

+19
-28
lines changed

src/Infrastructure/BotSharp.Abstraction/Crontab/Models/CrontabItem.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ namespace BotSharp.Abstraction.Crontab.Models;
22

33
public class CrontabItem : ScheduleTaskArgs
44
{
5-
[JsonPropertyName("id")]
6-
public string Id { get; set; }
7-
85
[JsonPropertyName("user_id")]
96
public string UserId { get; set; } = null!;
107

src/Infrastructure/BotSharp.Abstraction/Repositories/IBotSharpRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public interface IBotSharpRepository : IHaveServiceProvider
147147
#endregion
148148

149149
#region Crontab
150-
bool InsertCrontabItem(CrontabItem item) => throw new NotImplementedException();
150+
bool InsertCrontabItem(CrontabItem cron) => throw new NotImplementedException();
151151
PagedItems<CrontabItem> GetCrontabItems(CrontabItemFilter filter) => throw new NotImplementedException();
152152
#endregion
153153
}

src/Infrastructure/BotSharp.Core/Repository/FileRepository/FileRepository.Crontab.cs

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,24 @@ namespace BotSharp.Core.Repository;
44

55
public partial class FileRepository
66
{
7-
public bool InsertCrontabItem(CrontabItem item)
7+
public bool InsertCrontabItem(CrontabItem cron)
88
{
9-
if (item == null)
9+
if (cron == null || string.IsNullOrWhiteSpace(cron.ConversationId))
1010
{
1111
return false;
1212
}
1313

1414
try
1515
{
16-
var baseDir = Path.Combine(_dbSettings.FileRepository, CRONTAB_FOLDER);
17-
item.Id = Guid.NewGuid().ToString();
18-
var dir = Path.Combine(baseDir, item.Id);
19-
20-
if (Directory.Exists(dir))
16+
var baseDir = Path.Combine(_dbSettings.FileRepository, _conversationSettings.DataDir, cron.ConversationId);
17+
if (!Directory.Exists(baseDir))
2118
{
2219
return false;
2320
}
2421

25-
Directory.CreateDirectory(dir);
26-
Thread.Sleep(50);
27-
28-
var itemFile = Path.Combine(dir, CRONTAB_FILE);
29-
var json = JsonSerializer.Serialize(item, _options);
30-
File.WriteAllText(itemFile, json);
22+
var cronFile = Path.Combine(baseDir, CRON_FILE);
23+
var json = JsonSerializer.Serialize(cronFile, _options);
24+
File.WriteAllText(cronFile, json);
3125
return true;
3226
}
3327
catch (Exception ex)
@@ -47,17 +41,17 @@ public PagedItems<CrontabItem> GetCrontabItems(CrontabItemFilter filter)
4741
}
4842

4943
var records = new List<CrontabItem>();
50-
var dir = Path.Combine(_dbSettings.FileRepository, CRONTAB_FOLDER);
44+
var baseDir = Path.Combine(_dbSettings.FileRepository, _conversationSettings.DataDir);
5145

52-
if (!Directory.Exists(dir))
46+
if (!Directory.Exists(baseDir))
5347
{
54-
Directory.CreateDirectory(dir);
48+
Directory.CreateDirectory(baseDir);
5549
}
5650

57-
var totalDirs = Directory.GetDirectories(dir);
51+
var totalDirs = Directory.GetDirectories(baseDir);
5852
foreach (var d in totalDirs)
5953
{
60-
var file = Path.Combine(d, CRONTAB_FILE);
54+
var file = Path.Combine(d, CRON_FILE);
6155
if (!File.Exists(file)) continue;
6256

6357
var json = File.ReadAllText(file);

src/Infrastructure/BotSharp.Core/Repository/FileRepository/FileRepository.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ public partial class FileRepository : IBotSharpRepository
5555
private const string PLUGIN_CONFIG_FILE = "config.json";
5656
private const string STATS_FILE = "stats.json";
5757

58-
private const string CRONTAB_FOLDER = "crontabs";
59-
private const string CRONTAB_FILE = "crontab.json";
58+
private const string CRON_FILE = "cron.json";
6059

6160
public FileRepository(
6261
IServiceProvider services,

src/Plugins/BotSharp.Plugin.MongoStorage/Collections/CrontabItemDocument.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ public static CrontabItem ToDomainModel(CrontabItemDocument item)
1919
{
2020
return new CrontabItem
2121
{
22-
Id = item.Id,
2322
UserId = item.UserId,
2423
AgentId = item.AgentId,
2524
ConversationId = item.ConversationId,
@@ -37,7 +36,6 @@ public static CrontabItemDocument ToMongoModel(CrontabItem item)
3736
{
3837
return new CrontabItemDocument
3938
{
40-
Id = item.Id,
4139
UserId = item.UserId,
4240
AgentId = item.AgentId,
4341
ConversationId = item.ConversationId,

src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.Conversation.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,21 @@ public bool DeleteConversations(IEnumerable<string> conversationIds)
5656
var filterPromptLog = Builders<LlmCompletionLogDocument>.Filter.In(x => x.ConversationId, conversationIds);
5757
var filterContentLog = Builders<ConversationContentLogDocument>.Filter.In(x => x.ConversationId, conversationIds);
5858
var filterStateLog = Builders<ConversationStateLogDocument>.Filter.In(x => x.ConversationId, conversationIds);
59+
var conbTabItems = Builders<CrontabItemDocument>.Filter.In(x => x.ConversationId, conversationIds);
5960

6061
var exeLogDeleted = _dc.ExectionLogs.DeleteMany(filterExeLog);
6162
var promptLogDeleted = _dc.LlmCompletionLogs.DeleteMany(filterPromptLog);
6263
var contentLogDeleted = _dc.ContentLogs.DeleteMany(filterContentLog);
6364
var stateLogDeleted = _dc.StateLogs.DeleteMany(filterStateLog);
6465
var statesDeleted = _dc.ConversationStates.DeleteMany(filterSates);
6566
var dialogDeleted = _dc.ConversationDialogs.DeleteMany(filterDialog);
67+
var cronDeleted = _dc.CrontabItems.DeleteMany(conbTabItems);
6668
var convDeleted = _dc.Conversations.DeleteMany(filterConv);
6769

6870
return convDeleted.DeletedCount > 0 || dialogDeleted.DeletedCount > 0 || statesDeleted.DeletedCount > 0
6971
|| exeLogDeleted.DeletedCount > 0 || promptLogDeleted.DeletedCount > 0
70-
|| contentLogDeleted.DeletedCount > 0 || stateLogDeleted.DeletedCount > 0;
72+
|| contentLogDeleted.DeletedCount > 0 || stateLogDeleted.DeletedCount > 0
73+
|| convDeleted.DeletedCount > 0;
7174
}
7275

7376
[SideCar]

src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.Crontab.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ public bool InsertCrontabItem(CrontabItem item)
1414

1515
try
1616
{
17-
item.Id = Guid.NewGuid().ToString();
1817
var cronDoc = CrontabItemDocument.ToMongoModel(item);
18+
cronDoc.Id = Guid.NewGuid().ToString();
1919
_dc.CrontabItems.InsertOne(cronDoc);
2020
return true;
2121
}

0 commit comments

Comments
 (0)