added questionnaire completed method

This commit is contained in:
iironside
2022-03-14 17:47:01 +03:00
parent 60ad6c0e00
commit 745c53ed39
5 changed files with 1119 additions and 8 deletions

View File

@ -2,6 +2,7 @@
namespace frontend\modules\api\controllers;
use common\helpers\ScoreCalculatorHelper;
use common\models\UserQuestionnaire;
use Yii;
use yii\filters\auth\HttpBearerAuth;
@ -25,6 +26,7 @@ class UserQuestionnaireController extends ApiController
{
return [
'questionnaires-list' => ['get'],
'questionnaire-completed' => ['get'],
];
}
@ -56,4 +58,26 @@ class UserQuestionnaireController extends ApiController
return $userQuestionnaireModel;
}
public function actionQuestionnaireCompleted()
{
// return Yii::$app->request;
$user_questionnaire_uuid = Yii::$app->request->get('user_questionnaire_uuid');
if(empty($user_questionnaire_uuid))
{
throw new NotFoundHttpException('Incorrect user ID');
}
$userQuestionnaireModel = UserQuestionnaire::findOne(['uuid' => $user_questionnaire_uuid]);
if(empty($userQuestionnaireModel)) {
throw new NotFoundHttpException('Active questionnaire not found');
}
ScoreCalculatorHelper::rateResponses($userQuestionnaireModel);
ScoreCalculatorHelper::calculateScore($userQuestionnaireModel);
return $userQuestionnaireModel;
}
}