{"version":3,"file":"appConfigInterceptor.js","sourceRoot":"","sources":["../src/appConfigInterceptor.ts"],"names":[],"mappings":"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","sourcesContent":["module config {\r\n interface IInterceptorResult {\r\n status: number,\r\n data?: any\r\n }\r\n\r\n export class appConfigInterceptor implements ng.IHttpInterceptor {\r\n\r\n static $inject = ['$q', '$location', '$cookies', '$rootScope','ENV'];\r\n\r\n constructor(private $q: ng.IQService, private $location: ng.ILocationService, private $cookies: ng.cookies.ICookiesService,\r\n private $rootScope: interfaces.applicationcore.IRootScope, private ENV: interfaces.applicationcore.serverConfig\r\n ) {\r\n }\r\n\r\n public request = (config: ng.IRequestConfig) => {\r\n if (!(this.$cookies.get(\"userToken\") && this.$cookies.get(\"userFullName\")))\r\n config.headers[\"Authorization\"] = \"\";\r\n\r\n var token = this.$cookies.get(\"userToken\");\r\n if (token && this.$cookies.get(\"userFullName\")) {\r\n var tokenDate: moment.Moment = undefined;\r\n //Get the exp date and username.\r\n const splitStrings = token.split(\".\");\r\n if (splitStrings.length > 0)\r\n {\r\n var decodedString = atob(splitStrings[1]);\r\n var part = angular.fromJson(decodedString);\r\n tokenDate = moment.unix(part.exp).utc();\r\n }\r\n\r\n if (tokenDate) {\r\n if (tokenDate.isBefore(moment().utc().add(1, 'minutes'))) {\r\n this.$location.url(\"/login\");\r\n }\r\n }\r\n }\r\n\r\n if (this.ENV.WINDOWS_AUTHENTICATION){\r\n config.withCredentials = true;\r\n }\r\n else{\r\n config.withCredentials = false;\r\n }\r\n\r\n return config;\r\n };\r\n\r\n public response = (result: ng.IHttpResponse) => {\r\n if (angular.isString(result.data))\r\n {\r\n if (result.data)\r\n {\r\n if (result.data.indexOf('modal') >= 0) {\r\n // Found modal\r\n return result;\r\n }\r\n }\r\n }\r\n\r\n //////////////////////////////\r\n var token = this.$cookies.get(\"userToken\");\r\n if (token && this.$cookies.get(\"userFullName\")) {\r\n var tokenDate: moment.Moment = undefined;\r\n //Get the exp date and username.\r\n const splitStrings = token.split(\".\");\r\n if (splitStrings.length > 0)\r\n {\r\n var decodedString = atob(splitStrings[1]);\r\n var part = angular.fromJson(decodedString);\r\n tokenDate = moment.unix(part.exp).utc();\r\n }\r\n\r\n if (tokenDate) {\r\n if (tokenDate.isBefore(moment().utc().add(10, 'minutes'))) {\r\n this.$rootScope.hasBeenActive = true;\r\n return result;\r\n }\r\n }\r\n }\r\n \r\n return result;\r\n }\r\n\r\n public responseError = (result: IInterceptorResult) => {\r\n if (result.status === 401 || result.status === 403) {\r\n if (!this.$rootScope.previousPath) {\r\n this.$rootScope.previousPath = this.$location.absUrl();\r\n }\r\n this.$location.url(\"/login\");\r\n\r\n var message = {\r\n LocaleDescription: result.data.Message,\r\n TypeEnum: 1\r\n };\r\n\r\n this.$rootScope.Messages = [message];\r\n }\r\n\r\n if (!result.data || result.status === -1) {\r\n result.data = {\r\n error: \"Unkown Error\"\r\n }\r\n var message = {\r\n LocaleDescription: \"Connection Error\",\r\n TypeEnum: 1\r\n };\r\n this.$rootScope.Messages = [message];\r\n }\r\n\r\n return this.$q.reject(result);\r\n }\r\n }\r\n\r\n export class appResourceDateInterceptor {\r\n private static regexIso8601 = /^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\r\n\r\n public static convertDateStringsToDates(input) {\r\n // Ignore things that aren't objects.\r\n if (typeof input !== \"object\") return input;\r\n\r\n for (var key in input) {\r\n if (!input.hasOwnProperty(key)) continue;\r\n \r\n var value = input[key];\r\n var match;\r\n // Check for string properties which look like dates.\r\n if (typeof value === \"string\" && (match = value.match(appResourceDateInterceptor.regexIso8601)) && value.length >= 10) {\r\n\r\n var milliseconds = Date.parse(match[0])\r\n if (!isNaN(milliseconds)) {\r\n input[key] = moment.utc(moment(milliseconds).format(\"YYYY-MM-DDTHH:mm:ss\"));\r\n }\r\n\r\n } else if (typeof value === \"object\") {\r\n // Recurse into object\r\n appResourceDateInterceptor.convertDateStringsToDates(value);\r\n }\r\n }\r\n }\r\n\r\n public static parseResponseDates(response) {\r\n if (!angular.isArray(response.resource))\r\n {\r\n appResourceDateInterceptor.convertDateStringsToDates(response.resource);\r\n }\r\n else\r\n {\r\n angular.forEach(response.resource, function (o) {\r\n appResourceDateInterceptor.convertDateStringsToDates(o);\r\n });\r\n }\r\n \r\n return response.resource;\r\n }\r\n }\r\n\r\n export class appResourceNVD3Interceptor {\r\n public static mapXY(option: interfaces.applicationcore.INVD3Chart) {\r\n\r\n switch (option.type) {\r\n case \"lineChart\":\r\n option[\"x\"] = (d) => {\r\n return d.x;\r\n };\r\n\r\n option[\"y\"] = (d) => {\r\n return d.y;\r\n };\r\n\r\n option[\"yAxis\"][\"tickFormat\"] = (d) => {\r\n return d3.format('.02f')(d);\r\n };\r\n\r\n break;\r\n case \"discreteBarChart\":\r\n option[\"x\"] = (d) => {\r\n return d.label;\r\n };\r\n\r\n option[\"y\"] = (d) => {\r\n return d.value;\r\n };\r\n\r\n option[\"valueFormat\"] = (d) => {\r\n return d3.format(',.4f')(d);\r\n };\r\n\r\n break;\r\n case \"multiBarChart\": case \"multiBarHorizontalChart\" :\r\n option[\"x\"] = (d) => {\r\n return d.label;\r\n };\r\n\r\n option[\"y\"] = (d) => {\r\n return d.value;\r\n };\r\n \r\n break;\r\n\r\n \r\n default:\r\n option[\"x\"] = (d) => {\r\n return d.key;\r\n };\r\n\r\n option[\"y\"] = (d) => {\r\n return d.y;\r\n };\r\n break;\r\n }\r\n }\r\n\r\n public static parseResponseOptions(response) {\r\n if (!angular.isArray(response.resource)) {\r\n appResourceNVD3Interceptor.mapXY(response.resource.Options.chart);\r\n }\r\n else {\r\n angular.forEach(response.resource, function (o) {\r\n appResourceNVD3Interceptor.mapXY(o.Options.chart);\r\n });\r\n }\r\n\r\n if (!angular.isArray(response.resource)) {\r\n appResourceDateInterceptor.convertDateStringsToDates(response.resource);\r\n }\r\n else {\r\n angular.forEach(response.resource, function (o) {\r\n appResourceDateInterceptor.convertDateStringsToDates(o);\r\n });\r\n }\r\n\r\n return response.resource;\r\n }\r\n }\r\n\r\n angular.module(\"app\").service(\"appConfigInterceptor\", config.appConfigInterceptor);\r\n}"]}