using System.ComponentModel.DataAnnotations; using System.Text.Json; using Tiku.Application.Catalog; using Tiku.Domain.Catalog; using Tiku.Domain.Common; using Tiku.Domain.Content; namespace Tiku.Api.Contracts; /// /// 创建分类节点请求 DTO。 /// public sealed class CreateTaxonomyNodeDto { /// /// 父节点 ID。 /// public Guid? ParentId { get; set; } /// /// 父级来源。 /// public QuestionSource? ParentSource { get; set; } /// /// 节点Type。 /// [Required] public TaxonomyNodeType NodeType { get; set; } /// /// 编码。 /// [Required, StringLength(100)] public string Code { get; set; } = string.Empty; /// /// 名称。 /// [Required, StringLength(300)] public string Name { get; set; } = string.Empty; /// /// 排序值。 /// public int SortOrder { get; set; } /// /// 扩展元数据。 /// public JsonElement Metadata { get; set; } = JsonDefaults.Object(); public CreateTaxonomyNodeCommand ToCommand() => new( ParentId, ParentSource, NodeType, Code, Name, SortOrder, Metadata); }