package virtualconference;

import java.io.IOException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.json.JSONException;
import org.json.JSONObject;

@WebServlet("/signIn")
public class SignIn extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// get request json object
		JSONObject jsonRequest = Http.getRequest(request);
		
		String email;
		String password;
		try {
			email = jsonRequest.getString("email");
			password = jsonRequest.getString("password");
		} catch (JSONException e) {
			Error.print("Sign In", e.getMessage());
			return;
		}
				
		// attempt to sign in
		boolean success = Authentication.signIn(email, password, request.getSession());
		
		// set response
		JSONObject jsonResponse = new JSONObject();
		try {
			jsonResponse.put("success", success);
			jsonResponse.put("data", success ? "" : "Invalid email or password.");
		} catch (JSONException e) {
			Error.print("Sign In", e.getMessage());
		}
		Http.setResponse(response, jsonResponse);
	}
}
