using System.Management.Automation; namespace HyperBooru.PowerShell; [Alias("rhbmt")] [Cmdlet(VerbsCommon.Remove, "HyperBooruMediaTag")] public class RemoveMediaTagCmdlet : SessionCmdlet { [Parameter(Position = 1, Mandatory = true)] public Guid MediaId { get; set; } [Parameter(Position = 2, Mandatory = true)] public Guid[] TagId { get; set; } protected override void ProcessRecord() { Session.Media.DeleteTagsAsync(MediaId, TagId) .GetAwaiter() .GetResult(); var id = MediaId.ToString().ToUpper(); var tags = TagId .Order() .Distinct() .Select(t => t.ToString().ToUpper()); WriteVerbose($"Removed tags {string.Join(", ", tags)} from media item {id}"); } }