|
|
@@ -1,8 +1,11 @@
|
|
|
import { Router, Request } from 'express';
|
|
|
import { body, validationResult } from 'express-validator';
|
|
|
|
|
|
+import { IProactiveQuestionnaireAnswer } from '~/interfaces/questionnaire/proactive-questionnaire-answer';
|
|
|
import { StatusType } from '~/interfaces/questionnaire/questionnaire-answer-status';
|
|
|
import Crowi from '~/server/crowi';
|
|
|
+import ProactiveQuestionnaireAnswer from '~/server/models/questionnaire/proactive-questionnaire-answer';
|
|
|
+import QuestionnaireAnswer from '~/server/models/questionnaire/questionnaire-answer';
|
|
|
import QuestionnaireAnswerStatus from '~/server/models/questionnaire/questionnaire-answer-status';
|
|
|
import axios from '~/utils/axios';
|
|
|
import loggerFactory from '~/utils/logger';
|
|
|
@@ -55,7 +58,6 @@ module.exports = (crowi: Crowi): Router => {
|
|
|
const growiInfo = await crowi.questionnaireService!.getGrowiInfo();
|
|
|
const userInfo = crowi.questionnaireService!.getUserInfo(req.user ?? null, growiInfo.appSiteUrlHashed);
|
|
|
|
|
|
- // TODO: add condition
|
|
|
try {
|
|
|
const questionnaireOrders = await crowi.questionnaireService!.getQuestionnaireOrdersToShow(userInfo, growiInfo, req.user?._id ?? null);
|
|
|
|
|
|
@@ -78,7 +80,7 @@ module.exports = (crowi: Crowi): Router => {
|
|
|
const growiInfo = await crowi.questionnaireService!.getGrowiInfo();
|
|
|
const userInfo = crowi.questionnaireService!.getUserInfo(req.user ?? null, growiInfo.appSiteUrlHashed);
|
|
|
|
|
|
- const body = {
|
|
|
+ const proactiveQuestionnaireAnswer: IProactiveQuestionnaireAnswer = {
|
|
|
satisfaction: req.body.satisfaction,
|
|
|
lengthOfExperience: req.body.lengthOfExperience,
|
|
|
position: req.body.position,
|
|
|
@@ -89,7 +91,12 @@ module.exports = (crowi: Crowi): Router => {
|
|
|
answeredAt: new Date(),
|
|
|
};
|
|
|
|
|
|
- await axios.post(`${growiQuestionnaireServerOrigin}/questionnaire-answer/proactive`, body);
|
|
|
+ await axios.post(`${growiQuestionnaireServerOrigin}/questionnaire-answer/proactive`, proactiveQuestionnaireAnswer)
|
|
|
+ .catch(async(err) => {
|
|
|
+ if (err.request != null) {
|
|
|
+ await ProactiveQuestionnaireAnswer.create(proactiveQuestionnaireAnswer);
|
|
|
+ }
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
const errors = validationResult(req);
|
|
|
@@ -120,7 +127,12 @@ module.exports = (crowi: Crowi): Router => {
|
|
|
answeredAt: new Date(),
|
|
|
};
|
|
|
|
|
|
- await axios.post(`${growiQuestionnaireServerOrigin}/questionnaire-answer`, questionnaireAnswer);
|
|
|
+ await axios.post(`${growiQuestionnaireServerOrigin}/questionnaire-answer`, questionnaireAnswer)
|
|
|
+ .catch(async(err) => {
|
|
|
+ if (err.request != null) {
|
|
|
+ await QuestionnaireAnswer.create(questionnaireAnswer);
|
|
|
+ }
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
const errors = validationResult(req);
|