using Newtonsoft.Json.Converters; using System.Text.Json.Serialization; using static SharedLibraryCore.Database.Models.EFClient; namespace SharedLibraryCore.Configuration { /// <summary> /// Config driven command properties /// </summary> public class CommandProperties { /// <summary> /// Specifies the command name /// </summary> public string Name { get; set; } /// <summary> /// Alias of this command /// </summary> public string Alias { get; set; } /// <summary> /// Specifies the minimum permission level needed to execute the /// </summary> [JsonConverter(typeof(StringEnumConverter))] public Permission MinimumPermission { get; set; } /// <summary> /// Indicates if the command can be run by another user (impersonation) /// </summary> public bool AllowImpersonation { get; set; } } }