using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
namespace Umbraco.Cms.Core.Models.ContentEditing;
///
/// Represents a macro parameter with an editor
///
[DataContract(Name = "macroParameter", Namespace = "")]
public class MacroParameter
{
[DataMember(Name = "alias", IsRequired = true)]
[Required]
public string Alias { get; set; } = null!;
[DataMember(Name = "name")]
public string? Name { get; set; }
[DataMember(Name = "sortOrder")]
public int SortOrder { get; set; }
///
/// The editor view to render for this parameter
///
[DataMember(Name = "view", IsRequired = true)]
[Required(AllowEmptyStrings = false)]
public string? View { get; set; }
///
/// The configuration for this parameter editor
///
[DataMember(Name = "config", IsRequired = true)]
[Required(AllowEmptyStrings = false)]
public IDictionary? Configuration { get; set; }
///
/// Since we don't post this back this isn't currently really used on the server side
///
[DataMember(Name = "value")]
public object? Value { get; set; }
}