using System.Data.Common; using EntitlementDAL.DTOs; using GB5Shared.DTO.Framework.Login; namespace EntitlementDAL.Interfaces; public interface IPlanDAL { Task GetByIdAsync(int planId, LoginDTO login, CancellationToken ct); // partnerProductId == null resolves the GoodBooks default catalogue. Task> GetListByPartnerProductAsync(int? partnerProductId, LoginDTO login, CancellationToken ct); Task SaveAsync(PlanDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct); Task UpdateAsync(PlanDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct); Task DeleteAsync(int planId, LoginDTO login, DbTransaction tx, CancellationToken ct); Task> GetPlanFeaturesAsync(int planId, LoginDTO login, CancellationToken ct); Task> GetPlanFeatureDetailsAsync(int planId, LoginDTO login, CancellationToken ct); Task SavePlanFeatureAsync(PlanFeatureDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct); }