using HyperBooru.ApiClient; using HyperBooru.ApiModels; using System.Management.Automation; namespace HyperBooru.PowerShell; [Alias("shbtd")] [Cmdlet(VerbsCommon.Set, "HyperBooruTagDefinition")] public class SetTagDefinitionCmdlet : PSCmdlet { [Parameter(Mandatory = true)] public required HBSession Session { get; set; } [Parameter(Mandatory = true)] public required Guid TagDefinitionId { get; set; } [Parameter] public string? Namespace { get; set; } [Parameter] public string? Name { get; set; } [Parameter] public string? Alias { get; set; } protected override void ProcessRecord() { var tagDefinition = Session.Tag.UpdateTagDefinitionAsync( TagDefinitionId, new TagUpdateRequest { Namespace = Namespace, Name = Name, Alias = Alias }).GetAwaiter().GetResult(); WriteObject(tagDefinition); } }