using System.Collections.Generic; using System.Threading.Tasks; using GestionIntegral.Api.Dtos.Anomalia; namespace GestionIntegral.Api.Services.Anomalia { public interface IAlertaService { /// /// Obtiene todas las alertas que no han sido marcadas como leídas. /// /// Una colección de DTOs de alertas genéricas. Task> ObtenerAlertasNoLeidasAsync(); /// /// Marca una alerta específica como leída. /// /// El ID de la alerta a marcar. /// Una tupla indicando si la operación fue exitosa y un mensaje de error si falló. Task<(bool Exito, string? Error)> MarcarComoLeidaAsync(int idAlerta); /// /// Marca como leídas todas las alertas de un mismo tipo y para una misma entidad. /// (Ej: todas las alertas de "DevolucionAnomala" para el Canillita ID 45). /// /// El tipo de alerta a marcar (ej. "DevolucionAnomala"). /// El ID de la entidad afectada (ej. el IdCanilla). /// Una tupla indicando si la operación fue exitosa y un mensaje de error si falló. Task<(bool Exito, string? Error)> MarcarGrupoComoLeidoAsync(string tipoAlerta, int idEntidad); } }