using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;
using TakeoutSaaS.Application.Identity.Models;

namespace TakeoutSaaS.Application.Identity.Commands;

/// <summary>
/// 批量用户操作命令。
/// </summary>
public sealed record BatchIdentityUserOperationCommand : IRequest<BatchIdentityUserOperationResult>
{
    /// <summary>
    /// 目标租户 ID（可选，默认当前登录租户；禁止跨租户操作）。
    /// </summary>
    public long? TenantId { get; init; }

    /// <summary>
    /// 操作类型。
    /// </summary>
    public IdentityUserBatchOperation Operation { get; init; }

    /// <summary>
    /// 用户 ID 列表（字符串）。
    /// </summary>
    public string[] UserIds { get; init; } = Array.Empty<string>();
}
