elsa-core/src/modules/Elsa.Expressions.CSharp/Providers/CSharpExpressionDescriptorProvider.cs
Sipke Schoorstra 2fa1a9ef8e
[codex] Harden C# expression host-code execution (#7519)
* Harden C# expression host-code execution

* Address script authorization review feedback

* Harden script authorization failure responses

* Address code quality review feedback

* Use explicit failure filter in script authorization

* Centralize script activity type names

* Address script authorization review feedback
2026-05-21 00:50:25 +02:00

27 lines
889 B
C#

using Elsa.Expressions.CSharp.Expressions;
using Elsa.Expressions.CSharp.Options;
using Elsa.Expressions.Contracts;
using Elsa.Expressions.Models;
using Elsa.Extensions;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
namespace Elsa.Expressions.CSharp.Providers;
internal class CSharpExpressionDescriptorProvider(IOptions<CSharpOptions> options) : IExpressionDescriptorProvider
{
private const string TypeName = "CSharp";
public IEnumerable<ExpressionDescriptor> GetDescriptors()
{
yield return new()
{
Type = TypeName,
DisplayName = "C#",
IsBrowsable = options.Value.AllowHostCodeExecution,
Properties = new { MonacoLanguage = "csharp" }.ToDictionary(),
HandlerFactory = ActivatorUtilities.GetServiceOrCreateInstance<CSharpExpressionHandler>
};
}
}