File tree Expand file tree Collapse file tree 6 files changed +35
-13
lines changed
BotSharp.Abstraction/Crontab/Models
BotSharp.Core/Repository/FileRepository
Plugins/BotSharp.Plugin.MongoStorage Expand file tree Collapse file tree 6 files changed +35
-13
lines changed Original file line number Diff line number Diff line change @@ -11,9 +11,6 @@ public class CrontabItemFilter : Pagination
11
11
[ JsonPropertyName ( "conversation_ids" ) ]
12
12
public IEnumerable < string > ? ConversationIds { get ; set ; }
13
13
14
- [ JsonPropertyName ( "titles" ) ]
15
- public IEnumerable < string > ? Titles { get ; set ; }
16
-
17
14
public CrontabItemFilter ( )
18
15
{
19
16
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ public class ScheduleTaskArgs
12
12
public string Description { get ; set ; } = null ! ;
13
13
14
14
[ JsonPropertyName ( "to_do_list" ) ]
15
- public ScheduleTaskItemArgs [ ] Tasks { get ; set ; } = null ! ;
15
+ public ScheduleTaskItemArgs [ ] Tasks { get ; set ; } = [ ] ;
16
16
}
17
17
18
18
public class ScheduleTaskItemArgs
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ public bool InsertCrontabItem(CrontabItem cron)
21
21
}
22
22
23
23
var cronFile = Path . Combine ( baseDir , CRON_FILE ) ;
24
- var json = JsonSerializer . Serialize ( cronFile , _options ) ;
24
+ var json = JsonSerializer . Serialize ( cron , _options ) ;
25
25
File . WriteAllText ( cronFile , json ) ;
26
26
return true ;
27
27
}
@@ -72,10 +72,6 @@ public PagedItems<CrontabItem> GetCrontabItems(CrontabItemFilter filter)
72
72
{
73
73
matched = matched && filter . UserIds . Contains ( record . UserId ) ;
74
74
}
75
- if ( filter ? . Titles != null )
76
- {
77
- matched = matched && filter . Titles . Contains ( record . Title ) ;
78
- }
79
75
80
76
if ( ! matched ) continue ;
81
77
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ public class CrontabItemDocument : MongoBase
11
11
public string Cron { get ; set ; }
12
12
public string Title { get ; set ; }
13
13
public string Description { get ; set ; }
14
+ public IEnumerable < CronTaskMongoElement > Tasks { get ; set ; } = [ ] ;
14
15
public DateTime CreatedTime { get ; set ; } = DateTime . UtcNow ;
15
16
16
17
public static CrontabItem ToDomainModel ( CrontabItemDocument item )
@@ -24,6 +25,7 @@ public static CrontabItem ToDomainModel(CrontabItemDocument item)
24
25
Cron = item . Cron ,
25
26
Title = item . Title ,
26
27
Description = item . Description ,
28
+ Tasks = item . Tasks ? . Select ( x => CronTaskMongoElement . ToDomainElement ( x ) ) ? . ToArray ( ) ?? [ ] ,
27
29
CreatedTime = item . CreatedTime
28
30
} ;
29
31
}
@@ -39,6 +41,7 @@ public static CrontabItemDocument ToMongoModel(CrontabItem item)
39
41
Cron = item . Cron ,
40
42
Title = item . Title ,
41
43
Description = item . Description ,
44
+ Tasks = item . Tasks ? . Select ( x => CronTaskMongoElement . ToMongoElement ( x ) ) ? . ToList ( ) ?? [ ] ,
42
45
CreatedTime = item . CreatedTime
43
46
} ;
44
47
}
Original file line number Diff line number Diff line change
1
+ using BotSharp . Abstraction . Crontab . Models ;
2
+
3
+ namespace BotSharp . Plugin . MongoStorage . Models ;
4
+
5
+ public class CronTaskMongoElement
6
+ {
7
+ public string Topic { get ; set ; }
8
+ public string Script { get ; set ; }
9
+ public string Language { get ; set ; }
10
+
11
+ public static CronTaskMongoElement ToMongoElement ( ScheduleTaskItemArgs model )
12
+ {
13
+ return new CronTaskMongoElement
14
+ {
15
+ Topic = model . Topic ,
16
+ Script = model . Script ,
17
+ Language = model . Language
18
+ } ;
19
+ }
20
+
21
+ public static ScheduleTaskItemArgs ToDomainElement ( CronTaskMongoElement model )
22
+ {
23
+ return new ScheduleTaskItemArgs
24
+ {
25
+ Topic = model . Topic ,
26
+ Script = model . Script ,
27
+ Language = model . Language
28
+ } ;
29
+ }
30
+ }
Original file line number Diff line number Diff line change @@ -46,10 +46,6 @@ public PagedItems<CrontabItem> GetCrontabItems(CrontabItemFilter filter)
46
46
{
47
47
cronFilters . Add ( cronBuilder . In ( x => x . ConversationId , filter . ConversationIds ) ) ;
48
48
}
49
- if ( filter ? . Titles != null )
50
- {
51
- cronFilters . Add ( cronBuilder . In ( x => x . Title , filter . Titles ) ) ;
52
- }
53
49
if ( filter ? . UserIds != null )
54
50
{
55
51
cronFilters . Add ( cronBuilder . In ( x => x . UserId , filter . UserIds ) ) ;
You can’t perform that action at this time.
0 commit comments