diff --git a/src/activities/Elsa.Activities.File/Activities/WatchDirectory/WatchDirectory.cs b/src/activities/Elsa.Activities.File/Activities/WatchDirectory/WatchDirectory.cs new file mode 100644 index 000000000..de9a65d37 --- /dev/null +++ b/src/activities/Elsa.Activities.File/Activities/WatchDirectory/WatchDirectory.cs @@ -0,0 +1,40 @@ +using Elsa.ActivityResults; +using Elsa.Attributes; +using Elsa.Services; +using Elsa.Services.Models; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Elsa.Activities.File +{ + [Trigger(Category = "File", + DisplayName = "Watch Directory", + Description = "Watches a directory for file system changes", + Outcomes = new[] { OutcomeNames.Done })] + public class WatchDirectory : Activity + { + private ILogger _logger; + + public WatchDirectory(ILogger logger) + { + _logger = logger; + } + + public WatcherChangeTypes ChangeType { get; set; } + + public string Directory { get; set; } + + public string FileName { get; set; } + + public async override ValueTask ExecuteAsync(ActivityExecutionContext context) + { + _logger.LogInformation($"Directory={Directory}"); + return Done(); + } + } +}