Admin Workflow - API code refactor to fetch information to display on workflow + action when answer is saved

This commit is contained in:
Dillon Ngo
2025-01-05 01:14:00 +08:00
parent 38d4da72f7
commit b096b3f93a
6 changed files with 107 additions and 52 deletions
@@ -4,28 +4,27 @@ namespace App\Classes\Modules\Questionnaires\Processors;
use App\Models\QAUserAnswerSelected;
use App\Classes\Modules\Questionnaires\Services\FetchesUserAnswerSelected;
use App\Classes\Modules\Questionnaires\Processors\SaveAnswerActionV1AdminWFProcessor;
use App\Classes\Modules\Documents\Processors\UploadDocumentProcessor;
use App\Classes\ValueObjects\Constants\QAType;
class SaveAnswerV1AdminWFProcessor
{
/** @var FetchesUserAnswerSelected */
private $fetchesUserAnswerSelected;
/** @var UploadDocumentProcessor */
private $uploadDocumentForProcessor;
/** @var SaveAnswerActionV1AdminWFProcessor */
private $saveAnswerActionProcessor;
/**
* SaveAnswerV1AdminWFProcessor constructor.
* @param FetchesUserAnswerSelected $fetchesUserAnswerSelected
* @param UploadDocumentProcessor $uploadDocumentForProcessor
* @param SaveAnswerActionV1AdminWFProcessor $saveAnswerActionProcessor
*/
public function __construct(FetchesUserAnswerSelected $fetchesUserAnswerSelected, UploadDocumentProcessor $uploadDocumentForProcessor)
public function __construct(UploadDocumentProcessor $uploadDocumentForProcessor, SaveAnswerActionV1AdminWFProcessor $saveAnswerActionProcessor)
{
$this->fetchesUserAnswerSelected = $fetchesUserAnswerSelected;
$this->uploadDocumentForProcessor = $uploadDocumentForProcessor;
$this->saveAnswerActionProcessor = $saveAnswerActionProcessor;
}
/**
@@ -80,6 +79,8 @@ class SaveAnswerV1AdminWFProcessor
}
$answer->save();
$this->saveAnswerActionProcessor->execute($questionMetadata, $answerInText);
return $answer;
}
}