update certificate request data structure

Change-Id: Id73428d07e6a0315dcdf78da8aba380f429a8f46
diff --git a/src/challenge-module.cpp b/src/challenge-module.cpp
index a54a3e7..38cd284 100644
--- a/src/challenge-module.cpp
+++ b/src/challenge-module.cpp
@@ -75,25 +75,17 @@
 {
   request.m_status = Status::FAILURE;
   request.m_challengeType = "";
-  request.m_challengeStatus = "";
-  request.m_challengeSecrets = JsonSection();
-  request.m_challengeTp = "";
-  request.m_remainingTime = 0;
-  request.m_remainingTries = 0;
+  request.m_challengeState = boost::none;
   return std::make_tuple(errorCode, std::move(errorInfo));
 }
 
 std::tuple<ErrorCode, std::string>
 ChallengeModule::returnWithNewChallengeStatus(CertificateRequest& request, const std::string& challengeStatus,
-                                              JsonSection&& challengeSecret, size_t remainingTries, size_t remainingTime)
+                                              JsonSection&& challengeSecret, size_t remainingTries, time::seconds remainingTime)
 {
   request.m_status = Status::CHALLENGE;
   request.m_challengeType = CHALLENGE_TYPE;
-  request.m_challengeStatus = std::move(challengeStatus);
-  request.m_challengeSecrets = std::move(challengeSecret);
-  request.m_challengeTp = time::toIsoString(time::system_clock::now());
-  request.m_remainingTime = remainingTries;
-  request.m_remainingTries = remainingTime;
+  request.m_challengeState = ChallengeState(challengeStatus, time::system_clock::now(), remainingTries, remainingTime, std::move(challengeSecret));
   return std::make_tuple(ErrorCode::NO_ERROR, "");
 }
 
@@ -102,11 +94,7 @@
 {
   request.m_status = Status::PENDING;
   request.m_challengeType = CHALLENGE_TYPE;
-  request.m_challengeStatus = "";
-  request.m_challengeSecrets = JsonSection();
-  request.m_challengeTp = "";
-  request.m_remainingTime = 0;
-  request.m_remainingTries = 0;
+  request.m_challengeState = boost::none;
   return std::make_tuple(ErrorCode::NO_ERROR, "");
 }