using Newtonsoft.Json; using Newtonsoft.Json.Converters; using static SharedLibraryCore.Database.Models.EFClient; using static SharedLibraryCore.Server; namespace SharedLibraryCore.Configuration { /// /// Config driven command properties /// public class CommandProperties { /// /// Specifies the command name /// public string Name { get; set; } /// /// Alias of this command /// public string Alias { get; set; } /// /// Specifies the minimum permission level needed to execute the /// [JsonConverter(typeof(StringEnumConverter))] public Permission MinimumPermission { get; set; } /// /// Indicates if the command can be run by another user (impersonation) /// public bool AllowImpersonation { get; set; } /// /// Specifies the games supporting the functionality of the command /// [JsonProperty(ItemConverterType = typeof(StringEnumConverter))] public Game[] SupportedGames { get; set; } = new Game[0]; } }