requestHeadersInterceptor.js 1.39 KB
angular.module('focaConfiguracion')
    .factory("RequestHeadersInterceptor", [
        '$localStorage', '$cookies', '$injector',
        function($localStorage, $cookies, $injector) {

            function getPuntoVenta(config) {

                var url = $injector.get('API_ENDPOINT').URL;

                if (url) {

                    var $http = $injector.get('$http');
                    var $timeout = $injector.get('$timeout');
                    config.url = url + '/config/punto-venta';

                    $timeout(function() {
                        $http(config).then(function(res) {
                            $cookies.put('puntoVenta', res.data[0]);
                        });
                    });
                }
           }

            var request = {
                request: function(config) {

                    var nombreUsuario = $cookies.get('nombreUsuario');
                    var puntoVenta = $cookies.get('puntoVenta');

                    if (!puntoVenta) {
                        getPuntoVenta(angular.copy(config));
                    }

                    config.headers["X-Terminal-Key"] = $localStorage.terminalKey;
                    config.headers["X-Nombre-Usuario"] = nombreUsuario;
                    config.headers["X-Punto-Venta"] = puntoVenta;
                    return config;
                }
            }

            return request;
        }
    ]);