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
1111 [ JsonPropertyName ( "conversation_ids" ) ]
1212 public IEnumerable < string > ? ConversationIds { get ; set ; }
1313
14- [ JsonPropertyName ( "titles" ) ]
15- public IEnumerable < string > ? Titles { get ; set ; }
16-
1714 public CrontabItemFilter ( )
1815 {
1916
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ public class ScheduleTaskArgs
1212 public string Description { get ; set ; } = null ! ;
1313
1414 [ JsonPropertyName ( "to_do_list" ) ]
15- public ScheduleTaskItemArgs [ ] Tasks { get ; set ; } = null ! ;
15+ public ScheduleTaskItemArgs [ ] Tasks { get ; set ; } = [ ] ;
1616}
1717
1818public class ScheduleTaskItemArgs
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ public bool InsertCrontabItem(CrontabItem cron)
2121 }
2222
2323 var cronFile = Path . Combine ( baseDir , CRON_FILE ) ;
24- var json = JsonSerializer . Serialize ( cronFile , _options ) ;
24+ var json = JsonSerializer . Serialize ( cron , _options ) ;
2525 File . WriteAllText ( cronFile , json ) ;
2626 return true ;
2727 }
@@ -72,10 +72,6 @@ public PagedItems<CrontabItem> GetCrontabItems(CrontabItemFilter filter)
7272 {
7373 matched = matched && filter . UserIds . Contains ( record . UserId ) ;
7474 }
75- if ( filter ? . Titles != null )
76- {
77- matched = matched && filter . Titles . Contains ( record . Title ) ;
78- }
7975
8076 if ( ! matched ) continue ;
8177
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ public class CrontabItemDocument : MongoBase
1111 public string Cron { get ; set ; }
1212 public string Title { get ; set ; }
1313 public string Description { get ; set ; }
14+ public IEnumerable < CronTaskMongoElement > Tasks { get ; set ; } = [ ] ;
1415 public DateTime CreatedTime { get ; set ; } = DateTime . UtcNow ;
1516
1617 public static CrontabItem ToDomainModel ( CrontabItemDocument item )
@@ -24,6 +25,7 @@ public static CrontabItem ToDomainModel(CrontabItemDocument item)
2425 Cron = item . Cron ,
2526 Title = item . Title ,
2627 Description = item . Description ,
28+ Tasks = item . Tasks ? . Select ( x => CronTaskMongoElement . ToDomainElement ( x ) ) ? . ToArray ( ) ?? [ ] ,
2729 CreatedTime = item . CreatedTime
2830 } ;
2931 }
@@ -39,6 +41,7 @@ public static CrontabItemDocument ToMongoModel(CrontabItem item)
3941 Cron = item . Cron ,
4042 Title = item . Title ,
4143 Description = item . Description ,
44+ Tasks = item . Tasks ? . Select ( x => CronTaskMongoElement . ToMongoElement ( x ) ) ? . ToList ( ) ?? [ ] ,
4245 CreatedTime = item . CreatedTime
4346 } ;
4447 }
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)
4646 {
4747 cronFilters . Add ( cronBuilder . In ( x => x . ConversationId , filter . ConversationIds ) ) ;
4848 }
49- if ( filter ? . Titles != null )
50- {
51- cronFilters . Add ( cronBuilder . In ( x => x . Title , filter . Titles ) ) ;
52- }
5349 if ( filter ? . UserIds != null )
5450 {
5551 cronFilters . Add ( cronBuilder . In ( x => x . UserId , filter . UserIds ) ) ;
You can’t perform that action at this time.
0 commit comments