using System.ComponentModel.DataAnnotations;

namespace Tiku.Api.Contracts;

/// <summary>租户生命周期变更原因。</summary>
public sealed class TenantLifecycleReasonDto
{
    /// <summary>审计原因。</summary>
    [Required]
    [StringLength(1000, MinimumLength = 3)]
    public string Reason { get; set; } = string.Empty;
}

/// <summary>租户所有者转移请求。</summary>
public sealed class TenantOwnerTransferDto
{
    /// <summary>新的所有者用户 ID；必须是现有活跃成员。</summary>
    [Required]
    public Guid TargetUserId { get; set; }

    /// <summary>审计原因。</summary>
    [Required]
    [StringLength(1000, MinimumLength = 3)]
    public string Reason { get; set; } = string.Empty;
}