namespace SIGCM2.Application.Abstractions.Persistence;

/// <summary>
/// PRD-002 handoff contract — query-only access to Product data needed by ProductType handlers.
/// PRD-001 binds to NullProductQueryRepository (always returns false).
/// PRD-002 binds to Dapper impl against dbo.Product (when that table exists).
/// </summary>
public interface IProductQueryRepository
{
    /// <summary>
    /// Returns true if at least one active Product with the given ProductTypeId exists.
    /// Used by DeactivateProductTypeCommandHandler to guard against orphaning active products.
    /// </summary>
    Task<bool> ExistsActiveByProductTypeAsync(int productTypeId, CancellationToken ct = default);
}
