package com.intrbiz.bergamot.ui.router;
import java.util.stream.Collectors;
import com.intrbiz.balsa.engine.route.Router;
import com.intrbiz.balsa.metadata.WithDataAdapter;
import com.intrbiz.bergamot.data.BergamotDB;
import com.intrbiz.bergamot.metadata.GetBergamotSite;
import com.intrbiz.bergamot.model.Alert;
import com.intrbiz.bergamot.model.Site;
import com.intrbiz.bergamot.ui.BergamotApp;
import com.intrbiz.metadata.Any;
import com.intrbiz.metadata.Prefix;
import com.intrbiz.metadata.RequireValidPrincipal;
import com.intrbiz.metadata.Template;
@Prefix("/alerts")
@Template("layout/main")
@RequireValidPrincipal()
public class AlertsRouter extends Router<BergamotApp>
{
@Any("/")
@WithDataAdapter(BergamotDB.class)
public void index(BergamotDB db, @GetBergamotSite() Site site)
{
model("alerts", db.listAlerts(site.getId()).stream().map(Alert::getCheck).filter((c) -> permission("read", c)).collect(Collectors.toList()));
encode("alerts/index");
}
}