//------------------------------------------------------------------------------ // // This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. // // Changes to this file may cause incorrect behavior and will be lost when // the code is regenerated. // //------------------------------------------------------------------------------ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; /// /// the name of the task to be started. /// [JsonConverter(typeof(OpenEnumConverter))] public class TaskName : IEquatable { public static readonly TaskName BackupDatabase = new TaskName("BackupDatabase"); public static readonly TaskName BuildGracenoteCollections = new TaskName("BuildGracenoteCollections"); public static readonly TaskName CheckForUpdates = new TaskName("CheckForUpdates"); public static readonly TaskName CleanOldBundles = new TaskName("CleanOldBundles"); public static readonly TaskName CleanOldCacheFiles = new TaskName("CleanOldCacheFiles"); public static readonly TaskName DeepMediaAnalysis = new TaskName("DeepMediaAnalysis"); public static readonly TaskName GenerateAutoTags = new TaskName("GenerateAutoTags"); public static readonly TaskName GenerateChapterThumbs = new TaskName("GenerateChapterThumbs"); public static readonly TaskName GenerateMediaIndexFiles = new TaskName("GenerateMediaIndexFiles"); public static readonly TaskName OptimizeDatabase = new TaskName("OptimizeDatabase"); public static readonly TaskName RefreshLibraries = new TaskName("RefreshLibraries"); public static readonly TaskName RefreshLocalMedia = new TaskName("RefreshLocalMedia"); public static readonly TaskName RefreshPeriodicMetadata = new TaskName("RefreshPeriodicMetadata"); public static readonly TaskName UpgradeMediaAnalysis = new TaskName("UpgradeMediaAnalysis"); private static readonly Dictionary _knownValues = new Dictionary () { ["BackupDatabase"] = BackupDatabase, ["BuildGracenoteCollections"] = BuildGracenoteCollections, ["CheckForUpdates"] = CheckForUpdates, ["CleanOldBundles"] = CleanOldBundles, ["CleanOldCacheFiles"] = CleanOldCacheFiles, ["DeepMediaAnalysis"] = DeepMediaAnalysis, ["GenerateAutoTags"] = GenerateAutoTags, ["GenerateChapterThumbs"] = GenerateChapterThumbs, ["GenerateMediaIndexFiles"] = GenerateMediaIndexFiles, ["OptimizeDatabase"] = OptimizeDatabase, ["RefreshLibraries"] = RefreshLibraries, ["RefreshLocalMedia"] = RefreshLocalMedia, ["RefreshPeriodicMetadata"] = RefreshPeriodicMetadata, ["UpgradeMediaAnalysis"] = UpgradeMediaAnalysis }; private static readonly ConcurrentDictionary _values = new ConcurrentDictionary(_knownValues); private TaskName(string value) { if (value == null) throw new ArgumentNullException(nameof(value)); Value = value; } public string Value { get; } public static TaskName Of(string value) { return _values.GetOrAdd(value, _ => new TaskName(value)); } public static implicit operator TaskName(string value) => Of(value); public static implicit operator string(TaskName taskname) => taskname.Value; public static TaskName[] Values() { return _values.Values.ToArray(); } public override string ToString() => Value.ToString(); public bool IsKnown() { return _knownValues.ContainsKey(Value); } public override bool Equals(object? obj) => Equals(obj as TaskName); public bool Equals(TaskName? other) { if (ReferenceEquals(this, other)) return true; if (other is null) return false; return string.Equals(Value, other.Value); } public override int GetHashCode() => Value.GetHashCode(); } }