package com.juick.api; import com.juick.Message; import com.juick.User; import com.juick.json.UserSerializer; import com.juick.server.MessagesQueries; import com.juick.server.SubscriptionsQueries; import com.juick.server.UserQueries; import org.apache.commons.lang3.math.NumberUtils; import org.springframework.jdbc.core.JdbcTemplate; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; /** * Created by vitalyster on 24.10.2016. */ public class Subscriptions { JdbcTemplate jdbc; UserSerializer userSerializer = new UserSerializer(); public Subscriptions(JdbcTemplate jdbc) { this.jdbc = jdbc; } public void doGet(HttpServletRequest request, HttpServletResponse response, int vuid) throws IOException { User visitor = UserQueries.getUserByUID(jdbc, vuid).orElse(new User()); if ((visitor.getUID() == 0) && !(visitor.getUName().equals("juick"))) { response.sendError(403); return; } int uid = NumberUtils.toInt(request.getParameter("uid"), 0); int mid = NumberUtils.toInt(request.getParameter("mid"), 0); if (uid > 0) { List users = SubscriptionsQueries.getSubscribedUsers(jdbc, uid, mid); Main.replyJSON(request, response, userSerializer.serializeList(users)); } else { // thread Message msg = MessagesQueries.getMessage(jdbc, mid); if (msg != null) { List users = SubscriptionsQueries.getUsersSubscribedToComments(jdbc, mid, msg.getUser().getUID()); Main.replyJSON(request, response, userSerializer.serializeList(users)); } } response.sendError(400); } }