using System.Management.Automation; namespace HyperBooru.PowerShell; [Alias("shbit")] [Cmdlet(VerbsCommon.Set, "HyperBooruImplicitTag")] public class SetImplicitTagCmdlet : SessionCmdlet { [Parameter(Mandatory = true)] public required Guid TagDefinitionId { get; set; } [Parameter(Mandatory = true)] public required Guid[] ImplicitTagId { get; set; } protected override void ProcessRecord() { Session.Tag.ReplaceImplicitTagsAsync(TagDefinitionId, ImplicitTagId) .GetAwaiter() .GetResult(); var id = TagDefinitionId.ToString().ToUpper(); var impl = ImplicitTagId .Order() .Distinct() .Select(t => t.ToString().ToUpper()); WriteVerbose($"Set implicit tags for {id} to {string.Join(", ", impl)}"); } }