Skip to content
Snippets Groups Projects

Issue #72: Add method to get form answers number

Merged Richard Fernando Heise Ferreira requested to merge issue/72 into develop
6 files
+ 55
2
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -26,6 +26,7 @@ import { Form, FormOptions} from "../../core/form";
import { FormUpdate, FormUpdateOptions } from "../../core/formUpdate";
import { Response, NextFunction } from "express";
import { Request } from "../apiTypes";
import { FormAnswer, FormAnswerOptions } from "../../core/formAnswer";
export class FormCtrl {
@@ -166,4 +167,35 @@ export class FormCtrl {
return;
});
}
public static answerNumber(req: Request, res: Response, next: NextFunction) {
waterfall([
(callback: (err: Error, answer?: FormAnswer[]) => void) => {
req.db.answer.readAll(req.params.id, (err: Error, resultAnswer?: FormAnswer[]) => {
if (err) {
callback(err);
return;
}
let sum: number = 0;
for (const forms of resultAnswer) {
sum += Object.keys(forms.inputAnswers).length
}
res.status(200).json({
answerNumber: sum
});
});
}
], (error: Error) => {
if (error) {
res.status(500).json({
message: "Some error has ocurred. Check error property for details.",
error: error.message
});
return;
}
});
}
}
Loading