using System.Management.Automation; namespace HyperBooru.PowerShell; [Alias("rhbit")] [Cmdlet(VerbsCommon.Remove, "HyperBooruImplicitTag")] public class RemoveImplicitTagCmdlet : 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.DeleteImplicitTagAsync(TagDefinitionId, ImplicitTagId) .GetAwaiter() .GetResult(); var id = TagDefinitionId.ToString().ToUpper(); var impl = ImplicitTagId .Order() .Distinct() .Select(t => t.ToString().ToUpper()); WriteVerbose( $"Removed implicit tags {string.Join(", ", impl)} from tag {id}"); } }