UNPKG

client-ui

Version:

Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront

99 lines (92 loc) 4.11 kB
(function () { 'use strict'; angular.module(moduleName).controller('knowledgeAssessmentController', knowledgeAssessmentController); knowledgeAssessmentController.$inject = ['loan', 'client', '$state', 'equifax']; function knowledgeAssessmentController(loanService, clientService, $state, equifax) { var self = this; self.getQuizQuestions = getQuizQuestions; self.submitQuizForm = submitQuizForm; self.quizzes = 0; self.quizObj = false; self.showSpinner = false; self.errorMessage = false; function getQuizQuestions() { var clientObj = clientService.getClientStore(); self.KBAsAccepted = clientObj.KBAsAccepted; if (!clientObj.KBAsAccepted) { self.showSpinner = true; equifax.getQuizQuestions(clientObj.clientId) .then(function (response) { handleResponse(response); }, function (errorResponse) { handleResponse(errorResponse); }); } } function submitQuizForm() { self.showSpinner = true; var clientObj = clientService.getClientStore(); equifax.sendQuizResponse(clientObj.clientId, self.quizObj) .then(function (response) { handleResponse(response); }, function (errorResponse) { handleResponse(errorResponse); }); } function handleResponse(response) { self.showSpinner = false; if (response.hasOwnProperty("code")) { switch (response.code) { case "PREEXISTING_KBAS": self.showSpinner = true; clientService.getClient() .then(function (client) { if (client.KBAsAccepted) { self.showSpinner = false; $state.go(loanService.getNextStep()); } else { self.showSpinner = false; $state.go("sorry"); } }, function (error) { self.showSpinner = false; $state.go("sorry"); }); break; case "CONTACT_US": $state.go("sorry", {reasons: ["CONTACT_US"]}); break; case "COMPLETE": self.showSpinner = true; clientService.setClientStore(response.data); //this loan refresh here helps for when loading the income summary pages loanService.refreshCurrentLoanFromDB() .then(function (loan) { self.showSpinner = false; $state.go(loanService.getNextStep()); }, function (errorResponse) { self.showSpinner = false; $state.go("sorry"); }); break; case "QUIZ": resetForm(); self.quizObj = response.data; self.quizzes++; break; default: $state.go("sorry", {reasons: [response.code]}); break; } } else { $state.go("sorry"); } } function resetForm() { if (self.kbaform && self.kbaform.hasOwnProperty("$setPristine")) { self.kbaform["$setPristine"](); } } } })();