client-ui
Version:
Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront
84 lines (71 loc) • 2.93 kB
JavaScript
/* global moduleName */
(function () {
"use strict";
angular.module(moduleName).factory("sessionInterceptor", sessionInterceptor);
sessionInterceptor.$inject = ["$injector", "$q"];
function sessionInterceptor($injector, $q) {
var self = {
responseError: function(response) {
if(typeof response === "object"
&& response
&& response.data
&& response.data.code === "INVALID_SESSION") {
$injector.get("$state").go("login", {forceLogout: "true"});
}
return $q.reject(response);
}
};
return self;
}
angular.module(moduleName).factory("invalidLoanInterceptor", invalidLoanInterceptor);
invalidLoanInterceptor.$inject = ["$injector", "$q"];
function invalidLoanInterceptor($injector, $q) {
var self = {
responseError: function (response) {
if (typeof response === "object"
&& response
&& response.data
&& response.data.code === "INVALID_LOAN") {
var reason = "INVALID_LOAN";
$injector.get("$state").transitionTo("sorry", {reasons: [reason]});
}
return $q.reject(response);
}
};
return self;
}
angular.module(moduleName).factory("invalidSelectedOfferInterceptor", invalidSelectedOfferInterceptor);
invalidSelectedOfferInterceptor.$inject = ["$injector", "$q"];
function invalidSelectedOfferInterceptor($injector, $q) {
var self = {
responseError: function (response) {
if (typeof response === "object"
&& response
&& response.data
&& response.data.code === "NO_SELECTED_OFFER") {
var reason = "NO_SELECTED_OFFER";
$injector.get("$state").transitionTo("loanApplication.loanOptions", {reasons: [reason]});
}
return $q.reject(response);
}
};
return self;
}
angular.module(moduleName).factory("invalidClientInterceptor", invalidClientInterceptor);
invalidClientInterceptor.$inject = ["$injector", "$q"];
function invalidClientInterceptor($injector, $q) {
var self = {
responseError: function (response) {
if (typeof response === "object"
&& response
&& response.data
&& response.data.code === "INVALID_CLIENT") {
var reason = "INVALID_CLIENT";
$injector.get("$state").transitionTo("sorry", {reasons: [reason]});
}
return $q.reject(response);
}
};
return self;
}
})();