Update File activities
This commit is contained in:
parent
c907bf994d
commit
0b334a54d1
|
|
@ -12,7 +12,7 @@ namespace Elsa.Activities.File
|
|||
public class DeleteFile : Activity
|
||||
{
|
||||
[ActivityInput(Hint = "Path of the file to delete.")]
|
||||
public string Path { get; set; }
|
||||
public string Path { get; set; } = default!;
|
||||
|
||||
protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -14,10 +14,10 @@ namespace Elsa.Activities.File
|
|||
public class EnumerateFiles : Activity
|
||||
{
|
||||
[ActivityInput(Hint = "Path of the folder to enumerate files.")]
|
||||
public string Path { get; set; }
|
||||
public string Path { get; set; } = default!;
|
||||
|
||||
[ActivityInput(Hint = "Pattern for files to return.")]
|
||||
public string Pattern { get; set; }
|
||||
public string? Pattern { get; set; }
|
||||
|
||||
[ActivityInput(Hint = "Ignore inaccessible files.", Label = "Ignore Inaccessible")]
|
||||
public bool IgnoreInaccessible { get; set; } = true;
|
||||
|
|
@ -29,12 +29,12 @@ namespace Elsa.Activities.File
|
|||
public bool SubDirectories { get; set; } = false;
|
||||
|
||||
[ActivityOutput(Hint = "List of files.")]
|
||||
public IEnumerable<string> Files { get; set; }
|
||||
public IEnumerable<string>? Files { get; set; }
|
||||
|
||||
protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(Pattern))
|
||||
return Done(Directory.EnumerateFiles(Path));
|
||||
return Done(Directory.EnumerateFiles(Path!));
|
||||
|
||||
var options = new EnumerationOptions()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ namespace Elsa.Activities.File
|
|||
public class FileExists : Activity
|
||||
{
|
||||
[ActivityInput(Hint = "Path of the file to delete.")]
|
||||
public string Path { get; set; }
|
||||
public string Path { get; set; } = default!;
|
||||
|
||||
protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,25 +12,25 @@ namespace Elsa.Activities.File
|
|||
{
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Action<ISetupActivity<FileExists>> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile);
|
||||
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<ActivityExecutionContext, string> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<ActivityExecutionContext, string?> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.FileExists(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<ActivityExecutionContext, ValueTask<string>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<ActivityExecutionContext, ValueTask<string?>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.FileExists(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<string> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<string?> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.FileExists(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<ValueTask<string>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder FileExists(this IActivityBuilder builder, Func<ValueTask<string?>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.FileExists(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ namespace Elsa.Activities.File
|
|||
public class OutFile : Activity
|
||||
{
|
||||
[ActivityInput(Hint = "Bytes to write to file.", SupportedSyntaxes = new[] { SyntaxNames.JavaScript }, DefaultSyntax = SyntaxNames.JavaScript)]
|
||||
public byte[] Bytes { get; set; }
|
||||
public byte[] Bytes { get; set; } = default!;
|
||||
|
||||
[ActivityInput(Hint = "Path to create file at.", UIHint = ActivityInputUIHints.SingleLine, SupportedSyntaxes = new[] { SyntaxNames.JavaScript, SyntaxNames.Liquid })]
|
||||
public string Path { get; set; }
|
||||
public string Path { get; set; } = default!;
|
||||
|
||||
[ActivityInput(Hint = "How the output file should be written to.", UIHint = ActivityInputUIHints.Dropdown)]
|
||||
public CopyMode Mode { get; set; } = CopyMode.CreateNew;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ namespace Elsa.Activities.File
|
|||
{
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Action<ISetupActivity<OutFile>> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile);
|
||||
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<ActivityExecutionContext, byte[]> bytes, Func<ActivityExecutionContext, string> path, Func<ActivityExecutionContext, CopyMode> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<ActivityExecutionContext, byte[]?> bytes, Func<ActivityExecutionContext, string?> path, Func<ActivityExecutionContext, CopyMode> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Bytes, bytes)
|
||||
.Set(x => x.Path, path)
|
||||
|
|
@ -20,7 +20,7 @@ namespace Elsa.Activities.File
|
|||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<byte[]>> bytes, Func<ActivityExecutionContext, ValueTask<string>> path, Func<ActivityExecutionContext, ValueTask<CopyMode>> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<byte[]?>> bytes, Func<ActivityExecutionContext, ValueTask<string?>> path, Func<ActivityExecutionContext, ValueTask<CopyMode>> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Bytes, bytes)
|
||||
.Set(x => x.Path, path)
|
||||
|
|
@ -28,7 +28,7 @@ namespace Elsa.Activities.File
|
|||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<byte[]> bytes, Func<string> path, Func<CopyMode> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<byte[]?> bytes, Func<string?> path, Func<CopyMode> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Bytes, bytes)
|
||||
.Set(x => x.Path, path)
|
||||
|
|
@ -36,7 +36,7 @@ namespace Elsa.Activities.File
|
|||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<ValueTask<byte[]>> bytes, Func<ValueTask<string>> path, Func<ValueTask<CopyMode>> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder OutFile(this IBuilder builder, Func<ValueTask<byte[]?>> bytes, Func<ValueTask<string?>> path, Func<ValueTask<CopyMode>> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Bytes, bytes)
|
||||
.Set(x => x.Path, path)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using Elsa.Services;
|
|||
using Elsa.Services.Models;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace Elsa.Activities.File
|
||||
{
|
||||
[Action(Category = "File",
|
||||
|
|
@ -14,14 +15,14 @@ namespace Elsa.Activities.File
|
|||
public class ReadFile : Activity
|
||||
{
|
||||
[ActivityInput(Hint = "Path to read content from.", UIHint = ActivityInputUIHints.SingleLine, SupportedSyntaxes = new[] { SyntaxNames.JavaScript, SyntaxNames.Liquid })]
|
||||
public string Path { get; set; }
|
||||
public string Path { get; set; } = default!;
|
||||
|
||||
[ActivityOutput(Hint = "Bytes of the file read.")]
|
||||
public byte[] Bytes { get; set; }
|
||||
public byte[]? Bytes { get; set; }
|
||||
|
||||
public async override ValueTask<IActivityExecutionResult> ExecuteAsync(ActivityExecutionContext context)
|
||||
public override async ValueTask<IActivityExecutionResult> ExecuteAsync(ActivityExecutionContext context)
|
||||
{
|
||||
var Bytes = await System.IO.File.ReadAllBytesAsync(Path);
|
||||
Bytes = await System.IO.File.ReadAllBytesAsync(Path);
|
||||
return Done();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,40 +4,42 @@ using System;
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
// ReSharper disable ExplicitCallerInfoArgument
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace Elsa.Activities.File
|
||||
{
|
||||
public static class ReadFileBuilderExtensions
|
||||
{
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Action<ISetupActivity<OutFile>> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile);
|
||||
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<ActivityExecutionContext, string> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<ActivityExecutionContext, string?> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<string> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string?>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<ValueTask<string>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<string?> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, string path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, Func<ValueTask<string?>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
|
||||
public static IActivityBuilder ReadFile(this IBuilder builder, string? path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
|
||||
builder.OutFile(activity => activity
|
||||
.Set(x => x.Path, path),
|
||||
lineNumber,
|
||||
sourceFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3,14 +3,15 @@ using Elsa.Services.Models;
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace Elsa.Activities.File
|
||||
{
|
||||
public static class ReadFileExtensions
|
||||
{
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<ActivityExecutionContext, ValueTask<string>> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<ActivityExecutionContext, string> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<ValueTask<string>> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<string> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, string path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<ActivityExecutionContext, ValueTask<string?>> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<ActivityExecutionContext, string?> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<ValueTask<string?>> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, Func<string?> path) => setup.Set(x => x.Path, path);
|
||||
public static ISetupActivity<ReadFile> WithPath(this ISetupActivity<ReadFile> setup, string? path) => setup.Set(x => x.Path, path);
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ using Elsa.ActivityResults;
|
|||
using Elsa.Attributes;
|
||||
using Elsa.Services;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace Elsa.Activities.File
|
||||
{
|
||||
[Action(Category = "File",
|
||||
|
|
@ -10,7 +11,7 @@ namespace Elsa.Activities.File
|
|||
public class TempFile : Activity
|
||||
{
|
||||
[ActivityOutput(Hint = "Path of the created temporary file.")]
|
||||
public string Path { get; set; }
|
||||
public string Path { get; set; } = default!;
|
||||
|
||||
protected override IActivityExecutionResult OnExecute()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ namespace Elsa.Activities.File.Models
|
|||
public class FileSystemChanged
|
||||
{
|
||||
public FileSystemChanged()
|
||||
{ }
|
||||
{
|
||||
}
|
||||
|
||||
public FileSystemChanged(WatcherChangeTypes changeType, string directory, string fileName, string fullPath)
|
||||
{
|
||||
|
|
@ -19,14 +20,12 @@ namespace Elsa.Activities.File.Models
|
|||
|
||||
public WatcherChangeTypes ChangeType { get; set; }
|
||||
|
||||
public string Directory { get; set; }
|
||||
public string Directory { get; set; } = default!;
|
||||
|
||||
public string FileName { get; set; }
|
||||
public string FileName { get; set; } = default!;
|
||||
|
||||
public string FullPath { get; set; }
|
||||
public string FullPath { get; set; } = default!;
|
||||
|
||||
public string Pattern { get; set; }
|
||||
|
||||
public DateTime TimeStamp { get; set; }
|
||||
public DateTime TimeStamp { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue