cobuild-angular-stack
Version:
Base stack angular sass jade gulp
64 lines (50 loc) • 2.34 kB
JavaScript
(function () {
'use strict';
angular.module('uniko.authSatellizer', [
'satellizer',
'toastr'
]);
function $config($httpProvider) {
function $interceptor($q, $localStorage, $window, $rootScope, toastr, LoopBackAuth) {
return {
'responseError': function (rejection) {
switch (rejection.status) {
case 401:
case 403:
if (LoopBackAuth.accessTokenId) {
localStorage.clear();
$rootScope.$emit('Auth::unauthorized');
}
break;
case 500:
var id = Date.now();
if (location.host === 'cobuild.dev:4000' ) {
if (!rejection.data || !rejection.data.error || !rejection.data.error.verify){
toastr.error('Un error inesperado ha ocurrido. Id en consola: ' + id);
}
}
break;
default:
if (rejection.status < 100) {
toastr.error('Se ha perdido la conexión. Por favor revise su conexion a internet e intente nuevamente mas tarde.');
}
break;
}
return $q.reject(rejection);
}
};
}
$interceptor.$inject = ['$q', '$localStorage', '$window', '$rootScope', 'toastr', 'LoopBackAuth'];
$httpProvider.interceptors.push($interceptor);
}
$config.$inject = ['$httpProvider'];
function $run($templateCache) {
$templateCache.put('searchbox.tpl.html', '<input id="pac-input" class="pac-controls" type="text" placeholder="Search">');
$templateCache.put('window.tpl.html', '<div ng-controller="WindowCtrl" ng-init="showPlaceDetails(parameter)">{{place.name}}</div>');
}
$run.$inject = ['$templateCache'];
angular
.module('uniko.authSatellizer')
.config($config)
.run($run);
})();