Beispiel #1
0
 /**
  * This endpoint create an interview. It return the new interview if success.
  * @param $param string[]
  * @throws InvalidRequestError
  * @return Applicant
  */
 public static function create($param)
 {
     if (!isset($param["mail"]) || !isset($param["alert"]) || !isset($param["lang"]) || !isset($param["deadline"])) {
         $missing = array();
         !isset($param["mail"]) ? $missing[] = "mail" : null;
         !isset($param["alert"]) ? $missing[] = "alert" : null;
         !isset($param["lang"]) ? $missing[] = "lang" : null;
         !isset($param["deadline"]) ? $missing[] = "deadline" : null;
         throw new InvalidRequestError("missing param: " . implode($missing, ", "));
     }
     if (isset($param["questions"]) && is_array($param["questions"]) && count($param["questions"]) != 0) {
         foreach ($param["questions"] as $q) {
             if (!isset($q["content"]) || !isset($q["readingTime"]) || !isset($q["answerTime"]) || !isset($q["number"])) {
                 $missing = array();
                 if (!isset($q["content"])) {
                     $missing[] = "content";
                 }
                 if (!isset($q["readingTime"])) {
                     $missing[] = "readingTime";
                 }
                 if (!isset($q["answerTime"])) {
                     $missing[] = "answerTime";
                 }
                 if (!isset($q["number"])) {
                     $missing[] = "number";
                 }
                 throw new InvalidRequestError("missing param: " . implode($missing, ", "));
             } else {
                 if (!in_array($q["readingTime"], Applicant::$acceptedValue) || !in_array($q["answerTime"], Applicant::$acceptedValue)) {
                     throw new InvalidRequestError("invalid duration of readingTime or answerTime");
                 }
             }
         }
     } else {
         if (!isset($param["interview"])) {
             throw new InvalidRequestError("missing param: interview and questions");
         }
     }
     $app = ApiRequest::post("/api/v1/applicant/", $param);
     $questions = array();
     foreach ($app["questions"] as $q) {
         $questions[] = new Question($q["content"], $q["readingTime"], $q["answerTime"], $q["number"]);
     }
     $responses = array();
     foreach ($app["responses"] as $q) {
         $responses[] = new Response($q["file"], $q["duration"], $q["fileSize"], $q["number"], $q["thumbnail"]);
     }
     return new Applicant($app["_id"], $app["mail"], $questions, $responses, $app["interview"], $app["dateBegin"], $app["dateEnd"], $app["dateAnswer"], $app["emailView"], $app["linkClicked"], $app["firstname"], $app["lastname"], $app["lang"], $app["videoLink"], $app["text"], $app["deleted"], $app["callback"], $app["status"]);
 }
Beispiel #2
0
	protected function _request($data, $post = array()) {
		$response = ApiRequest::post ( $this->head_url, $this->apiKey, $this->apiSecret, $data, $post );
		$result = json_decode ( $response, true );
		if (true == $this->debug) {
			$this->_debug($post,$response);
		}
		return $result;
	}
Beispiel #3
0
 /**
  * This endpoint create an interview. It return the new interview if success.
  * @param $param string[]
  * @throws InvalidRequestError
  * @return Interview
  */
 public static function create($param)
 {
     if (!isset($param["name"]) || !isset($param["questions"]) || !isset($param["video"]) || !isset($param["text"])) {
         $missing = array();
         !isset($param["name"]) ? $missing[] = "name" : null;
         !isset($param["questions"]) ? $missing[] = "questions" : null;
         !isset($param["video"]) ? $missing[] = "video" : null;
         !isset($param["text"]) ? $missing[] = "text" : null;
         throw new InvalidRequestError("missing param: " . implode($missing, ", "));
     } else {
         if (!is_array($param["questions"]) || count($param["questions"]) == 0) {
             throw new InvalidRequestError("wrong param questions");
         }
     }
     foreach ($param["questions"] as $questions) {
         if (!isset($questions["content"]) || !isset($questions["readingTime"]) || !isset($questions["answerTime"]) || !isset($questions["number"])) {
             $missing = array();
             !isset($param["content"]) ? $missing[] = "content" : null;
             !isset($param["readingTime"]) ? $missing[] = "readingTime" : null;
             !isset($param["answerTime"]) ? $missing[] = "answerTime" : null;
             !isset($param["number"]) ? $missing[] = "number" : null;
             throw new InvalidRequestError("missing param: " . implode($missing, ", "));
         } else {
             if (!in_array($questions["readingTime"], Interview::$acceptedValue) || !in_array($questions["answerTime"], Interview::$acceptedValue)) {
                 throw new InvalidRequestError("invalid duration of readingTime or answerTime");
             }
         }
     }
     $itw = ApiRequest::post("/api/v1/interview/", $param);
     $questions = array();
     foreach ($itw["questions"] as $q) {
         $questions[] = new Question($q["content"], $q["readingTime"], $q["answerTime"], $q["number"]);
     }
     return new Interview($itw["_id"], $itw["name"], $questions, $itw["video"], $itw["text"], $itw["callback"], $itw["sent"], $itw["answers"], $itw["new"]);
 }
Beispiel #4
0
 public function testPostRequest()
 {
     $array = ["name" => "interview 1", "questions" => [["content" => "question 1", "readingTime" => 60, "answerTime" => 60, "number" => 1]], "video" => "", "text" => ""];
     $res = ApiRequest::post("/api/v1/interview/", $array);
     $this->assertTrue(is_array($res));
     $this->assertTrue(isset($res["_id"]));
     ApiRequestTest::$interviewId = $res["_id"];
 }