package carpool.resources.userResource.userEmailResource;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import org.restlet.engine.header.Header;
import org.restlet.ext.json.JsonRepresentation;
import org.restlet.representation.Representation;
import org.restlet.resource.*;
import org.restlet.util.Series;
import org.restlet.data.Status;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import carpool.common.Validator;
import carpool.configurations.EnumConfig;
import carpool.dbservice.*;
import carpool.exception.PseudoException;
import carpool.factory.JSONFactory;
import carpool.model.*;
import carpool.resources.PseudoResource;
public class UserEmailResource extends PseudoResource{
@Get
/**used when user registers email or tries to change the email later on
* @return true or false, true if email available, false if the user name has already been taken
*/
public Representation verifyEmail(){
boolean isFormatCorrect = false;
boolean isAvailable = false;
JSONObject jsonObject = new JSONObject();
String email = "";
try {
email = this.getQueryVal("email");
isFormatCorrect = Validator.isEmailFormatValid(email);
if (isFormatCorrect){
isAvailable = EmailDaoService.isEmailAvailable(email);
jsonObject = JSONFactory.toJSON(isAvailable);
}
else{
setStatus(Status.CLIENT_ERROR_BAD_REQUEST);
}
} catch (Exception e) {
return this.doException(e);
}
Representation result = new JsonRepresentation(jsonObject);
this.addCORSHeader();
return result;
}
}