using GB5Shared.DTO.Framework.Login; using SwDAL.DTO.RolloutCampaign; namespace SwDAL.CustomCode.RolloutCampaign; public interface IRolloutCampaignDAL { Task InsertCampaign(RolloutCampaignDTO dto, LoginDTO login, CancellationToken ct); Task GetById(int rolloutCampaignId, LoginDTO login, CancellationToken ct); Task> GetList(LoginDTO login, CancellationToken ct); Task UpdateCampaignStatus(int rolloutCampaignId, byte campaignStatus, LoginDTO login, CancellationToken ct); Task> ResolveTargetsAllForDbModel(int dbModelId, LoginDTO login, CancellationToken ct); Task> ResolveTargetsAllOnServer(int dbModelId, int targetServerId, LoginDTO login, CancellationToken ct); Task InsertTarget(RolloutTargetDTO dto, LoginDTO login, CancellationToken ct); Task> GetTargetsForCampaign(int rolloutCampaignId, LoginDTO login, CancellationToken ct); Task GetTargetById(int rolloutTargetId, LoginDTO login, CancellationToken ct); Task> GetDueTargets(DateTime now, LoginDTO login, CancellationToken ct); Task UpdateTargetStatus(RolloutTargetDTO dto, LoginDTO login, CancellationToken ct); Task GetCampaignStatusRollup(int rolloutCampaignId, LoginDTO login, CancellationToken ct); Task IsPackageAlreadyApplied(int clientDbId, int packageId, LoginDTO login, CancellationToken ct); }