package br.gov.servicos.frontend;
import br.gov.servicos.cms.PaginaEstaticaRepository;
import br.gov.servicos.cms.PaginaTematicaRepository;
import br.gov.servicos.orgao.OrgaoRepository;
import br.gov.servicos.servico.ServicoRepository;
import br.gov.servicos.v3.schema.AreaDeInteresse;
import br.gov.servicos.v3.schema.SegmentoDaSociedade;
import lombok.experimental.FieldDefaults;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap;
import java.util.Map;
import static lombok.AccessLevel.PRIVATE;
@Controller
@FieldDefaults(level = PRIVATE, makeFinal = true)
public class SitemapController {
ServicoRepository servicos;
OrgaoRepository orgaos;
PaginaTematicaRepository paginasTematicas;
PaginaEstaticaRepository paginasEstaticas;
@Autowired
SitemapController(ServicoRepository servicos,
OrgaoRepository orgaos,
PaginaTematicaRepository paginasTematicas,
PaginaEstaticaRepository paginasEstaticas) {
this.servicos = servicos;
this.orgaos = orgaos;
this.paginasTematicas = paginasTematicas;
this.paginasEstaticas = paginasEstaticas;
}
@RequestMapping(value = "/sitemap.xml", produces = MediaType.APPLICATION_XML_VALUE)
ModelAndView sitemap() {
Map<String, Object> model = new HashMap<>();
model.put("servicos", servicos.findAll());
model.put("orgaos", orgaos.findAll());
model.put("paginasTematicas", paginasTematicas.findAll());
model.put("paginasEstaticas", paginasEstaticas.findAll());
model.put("publicosAlvo", SegmentoDaSociedade.values());
model.put("areasDeInteresse", AreaDeInteresse.values());
return new ModelAndView("sitemap", model);
}
}