package com.intrbiz.bergamot.ui.router.admin;
import com.intrbiz.balsa.engine.route.Router;
import com.intrbiz.balsa.metadata.WithDataAdapter;
import com.intrbiz.bergamot.config.model.CommandCfg;
import com.intrbiz.bergamot.data.BergamotDB;
import com.intrbiz.bergamot.metadata.GetBergamotSite;
import com.intrbiz.bergamot.model.Site;
import com.intrbiz.bergamot.ui.BergamotApp;
import com.intrbiz.configuration.Configuration;
import com.intrbiz.metadata.Any;
import com.intrbiz.metadata.Prefix;
import com.intrbiz.metadata.RequirePermission;
import com.intrbiz.metadata.RequireValidPrincipal;
import com.intrbiz.metadata.Template;
@Prefix("/admin/command")
@Template("layout/main")
@RequireValidPrincipal()
@RequirePermission("ui.admin")
public class CommandAdminRouter extends Router<BergamotApp>
{
@Any("/")
@WithDataAdapter(BergamotDB.class)
public void index(BergamotDB db, @GetBergamotSite() Site site)
{
model("commands", db.listCommands(site.getId()));
model("command_templates", db.listConfigTemplates(site.getId(), Configuration.getRootElement(CommandCfg.class)));
encode("admin/command/index");
}
}