// ReSharper disable UnusedAutoPropertyAccessor.Global

namespace NodePipeline.Abstractions.Exceptions.NodeFactory;

public class NodeParameterNotFoundException : PipelineException
{
    public NodeParameterNotFoundException(string pipelineId, string parameterName, string nodeType, string? nodeId)
        : base(pipelineId, Constants.Exceptions.NodeFactory.NodeParameterNotFoundException)
    {
        ParameterName = parameterName;
        NodeType = nodeType;
        NodeId = nodeId;
    }

    public NodeParameterNotFoundException(string parameterName, string nodeType)
        : base(string.Empty, Constants.Exceptions.NodeFactory.NodeParameterNotFoundExceptionShort)
    {
        ParameterName = parameterName;
        NodeType = nodeType;
    }

    public string ParameterName { get; }
    public string NodeType { get; }

    public string? NodeId { get; }
}