using ECMJobRunner.Domain.Entities;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace ECMJobRunner.Domain.Interfaces
{
///
/// Repository interface for CfgProfile entity
///
public interface ICfgProfileRepository : IRepository
{
///
/// Gets a profile by ID with associated SQL jobs eagerly loaded
///
/// Profile ID
/// Cancellation token
/// Profile with SQL jobs or null if not found
Task GetByIdWithSqlJobsAsync(long id, CancellationToken cancellationToken = default);
///
/// Gets all active profiles with associated SQL jobs eagerly loaded
///
/// Cancellation token
/// List of active profiles with SQL jobs
Task> GetAllActiveWithSqlJobsAsync(CancellationToken cancellationToken = default);
}
}