package br.gov.mj.sislegis.app.service; import java.util.Collection; import java.util.List; import java.util.Set; import br.gov.mj.sislegis.app.model.Notificacao; import br.gov.mj.sislegis.app.model.Usuario; /** * Serviço de controle de notificações. * * @author coutinho * */ public interface NotificacaoService extends Service<Notificacao> { Notificacao save(Notificacao entity); /** * Lista todas para usuário de qualquer categoria * * @param idUsuario * @return */ List<Notificacao> listaNotificacoesParaUsuario(Long idUsuario); List<Notificacao> listaNotificacoesParaUsuario(Usuario usuario); /** * Lista todas para usuário de uma categoria * * @param idUsuario * @return */ List<Notificacao> listaNotificacoesParaUsuario(Long idUsuario, String categoria); List<Notificacao> listaNotificacoesParaUsuario(Usuario usuario, String categoria); Notificacao buscarPorCategoriaEntidade(String categoria, String entidadeId); void marcarComoVisualizada(Collection<Long> ids); }