diff --git a/src/activities/Elsa.Activities.File/Bookmarks/FileSystemChangedBookmark.cs b/src/activities/Elsa.Activities.File/Bookmarks/FileSystemChangedBookmark.cs new file mode 100644 index 000000000..1b3834c0c --- /dev/null +++ b/src/activities/Elsa.Activities.File/Bookmarks/FileSystemChangedBookmark.cs @@ -0,0 +1,23 @@ +using Elsa.Bookmarks; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace Elsa.Activities.File.Bookmarks +{ + public record FileSystemChangedBookmark(WatcherChangeTypes ChangeType, string Directory) : IBookmark + { } + + public class FileSystemChangedBookmarkProvider : BookmarkProvider + { + public override async ValueTask> GetBookmarksAsync(BookmarkProviderContext context, CancellationToken cancellationToken) => new[] + { + new FileSystemChangedBookmark( + ChangeType: await context.Activity.GetPropertyValueAsync(x => x.ChangeType), + Directory: await context.Activity.GetPropertyValueAsync(x => x.Directory)) + }; + } +}