using System.Management.Automation; namespace HyperBooru.PowerShell; [Alias("ahbmt")] [Cmdlet(VerbsCommon.Add, "HyperBooruMediaTag")] public class AddMediaTagCmdlet : 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.AddTagsAsync(MediaId, TagId) .GetAwaiter() .GetResult(); var id = MediaId.ToString().ToUpper(); var tags = TagId .Order() .Distinct() .Select(t => t.ToString().ToUpper()); WriteVerbose($"Added tags {string.Join(", ", tags)} to media item {id}"); } }