RefresherRestController.java
package sk.iway.iwcm.admin;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import sk.iway.iwcm.InitServlet;
import sk.iway.iwcm.Tools;
import sk.iway.iwcm.admin.layout.RefreshBean;
import sk.iway.iwcm.system.msg.AdminMessageBean;
import sk.iway.iwcm.system.msg.MessageDB;
/**
* #53119
* Zabezpecuje drzanie session v admin casti, tiez vrati zoznam neprecitanych sprav
*/
@RestController
@PreAuthorize("@WebjetSecurityService.isAdmin()")
public class RefresherRestController {
@PostMapping("/admin/rest/refresher")
public RefreshBean refresh(final HttpServletRequest request) {
RefreshBean r = new RefreshBean();
r.setTimestamp(Tools.getNow());
if (InitServlet.isTypeCloud()==false)
{
List<AdminMessageBean> newMessages = MessageDB.getInstance(false).getUnreadedMessages(request.getSession());
if (newMessages!=null && newMessages.size()>0)
{
List<Integer> ids = new ArrayList<>();
for (AdminMessageBean m : newMessages) {
ids.add(m.getAdminMessageId());
}
r.setMessages(ids);
}
}
return r;
}
}