var app=angular.module("Login",[]),i18n_registry=(app.config(function($locationProvider,$httpProvider){$locationProvider.html5Mode(!0),$httpProvider.defaults.withCredentials=!0}).run(function($controller,$rootScope,$location,$http){$http({url:"/api/solutions/current"}).then(function(res){$rootScope.theme=res.data&&res.data.theme?res.data.theme:"iotfactory",$rootScope.register=!(!res.data||null==res.data.register)&&res.data.register,$rootScope.termsAndConditions=res.data&&res.data.termsAndConditions?res.data.termsAndConditions:"https://iotfactory.eu/terms-conditions/"},function(){$rootScope.theme="iotfactory",$rootScope.register=!1,$rootScope.termsAndConditions="https://iotfactory.eu/terms-conditions/"}),$rootScope.checkResetPassAccess=function(path){var pathTab=$location.url().split("/"),appPath=pathTab[1].split("?")[0],pathTab=("resetpassword"!=appPath&&"invitation"!=appPath&&"activate-account"!=appPath||1()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test($scope.lostpassword.email)&&($scope.emailValid=!0)}}}),app.component("appLogin",{templateUrl:"login/login.pug",controller:function($element,$window,$location,$scope,$http,$controller){console.log("login controller loaded"),$scope.login={email:"",password:"",keep:!1},$scope.defaultRedirectAddress="/deviceManager",$scope.failed=!1,$scope.failedMessage="",$scope.emailValid=!0,console.log("location.path",$location.path()),console.log("location",$location),$scope.getApps=function(){},$http.get("/api/users/me").then(function(sess){var defaultAppName,redirectPath=$location.search().r,homepage=(angular.isDefined(redirectPath)&&redirectPath.startsWith("/")||(redirectPath=""),""),defaultApp=(sess.data&&sess.data.user&&"string"==typeof sess.data.user.homepage&&sess.data.user.homepage.startsWith("/")&&(homepage=sess.data.user.homepage),sess.data.team.defaultApp);angular.isString(defaultApp)&&defaultApp.startsWith("/")&&(defaultAppName=defaultApp.substring(1),sess.data.role&&sess.data.role.permissions&&sess.data.role.permissions.APP&&angular.isObject(sess.data.role.permissions.APP)&&Object.keys(sess.data.role.permissions.APP).length&&!sess.data.role.permissions.APP[defaultAppName]&&Object.keys(sess.data.role.permissions.APP).some(function(appName){var done=!1;return sess.data.role.permissions.APP[appName]&&(defaultApp="/"+appName,done=!0),done})),defaultApp=defaultApp||(sess.data&&sess.data.role&&sess.data.role.permissions&&sess.data.role.permissions.APP&&angular.isObject(sess.data.role.permissions.APP)&&Object.keys(sess.data.role.permissions.APP).length?"/"+Object.keys(sess.data.role.permissions.APP)[0]:sess.data&&sess.data.team&&sess.data.team.permissions&&sess.data.team.permissions.APP&&angular.isObject(sess.data.team.permissions.APP)&&Object.keys(sess.data.team.permissions.APP).length?"/"+Object.keys(sess.data.team.permissions.APP)[0]:$scope.defaultRedirectAddress),$window.location.replace(redirectPath||homepage||defaultApp)},function(){}),$scope.loginFn=function(){$scope.failedMessage="",console.info("Try to authenticate",$scope.login.email),$http.post("/login/web",{email:$scope.login.email,password:$scope.login.password,keep:$scope.login.keep||!1}).then(function(response){console.info("Now authenticated resp data",response.data),console.info("Now authenticated resp",response);var defaultAppName,redirectPath=$location.search().r,homepage=(angular.isDefined(redirectPath)&&redirectPath.startsWith("/")||(redirectPath=""),""),defaultApp=(response.data&&response.data.user&&"string"==typeof response.data.user.homepage&&response.data.user.homepage.startsWith("/")&&(homepage=response.data.user.homepage),response.data.team.defaultApp);angular.isString(defaultApp)&&defaultApp.startsWith("/")&&(defaultAppName=defaultApp.substring(1),response.data.role&&response.data.role.permissions&&response.data.role.permissions.APP&&angular.isObject(response.data.role.permissions.APP)&&Object.keys(response.data.role.permissions.APP).length&&!response.data.role.permissions.APP[defaultAppName]&&Object.keys(response.data.role.permissions.APP).some(function(appName){var done=!1;return response.data.role.permissions.APP[appName]&&(defaultApp="/"+appName,done=!0),done})),defaultApp=defaultApp||(response.data&&response.data.role&&response.data.role.permissions&&response.data.role.permissions.APP&&angular.isObject(response.data.role.permissions.APP)&&Object.keys(response.data.role.permissions.APP).length?"/"+Object.keys(response.data.role.permissions.APP)[0]:response.data&&response.data.team&&response.data.team.permissions&&response.data.team.permissions.APP&&angular.isObject(response.data.team.permissions.APP)&&Object.keys(response.data.team.permissions.APP).length?"/"+Object.keys(response.data.team.permissions.APP)[0]:$scope.defaultRedirectAddress),$window.location.replace(redirectPath||homepage||defaultApp)},function(response){var message;response&&response.data&&"string"==typeof response.data.message&&response.data.message&&((message=response.data.message).includes("expired")&&($scope.failedMessage=message)),console.warn("Authentication failed",response),$scope.failed=!0})},$scope.changePage=function(page){var lang=$location.search().lang;angular.isDefined(lang)&&-1==page.indexOf("?lang")&&-1==page.indexOf("&lang")&&(page+=(-1()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test($scope.login.email)&&($scope.emailValid=!0)}}}),app.component("appRegister",{templateUrl:"login/register.pug",controller:function($element,$window,$location,$scope,$http,$controller,$timeout){console.log("register controller loaded"),$scope.register={email:"",language:"en",firstName:"",lastName:"",phone:"0000000000",company:"",name:"",solutionID:$location.host(),theme:"defaultSolutionTheme",accountLevel:"Free",maxUsers:5,status:"active",trial:0==$location.url().split("/")[1].indexOf("register-trial")},$scope.failed=!1,$scope.succeed=!1,$scope.emailValid=!0,$scope.failedMsg="",$scope.succeedMsg="",$scope.registerFn=function(){$scope.register.name=$scope.register.company,console.log("sending register request"),$http.post("/api/users",$scope.register).then(function(response){console.log(response),$scope.failed=!1,$scope.succeed=!0,$scope.succeedMsg="Authentification success, an email has been sent to your email address.",$timeout(function(){$scope.changePage("/")},5e3)},function(response){406===response.status?(console.info(response.data.message),$scope.failedMsg=response.data.message):(console.info(response.status),$scope.failedMsg=response.status),console.log(response),$scope.failed=!0})},$scope.changePage=function(page){var lang=$location.search().lang;angular.isDefined(lang)&&-1==page.indexOf("?lang")&&-1==page.indexOf("&lang")&&(page+=(-1()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test($scope.register.email)&&($scope.emailValid=!0)}}}),app.component("appLostpassword",{templateUrl:"manage-password/lostpassword.pug",controller:function($element,$window,$location,$scope,$http,$controller){console.log("lostpassword controller loaded"),$scope.lostpassword={email:""},$scope.failed=!1,$scope.failedMsg="",$scope.emailValid=!0,$scope.changePage=function(page){var lang=$location.search().lang;angular.isDefined(lang)&&-1==page.indexOf("?lang")&&-1==page.indexOf("&lang")&&(page+=(-1()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test($scope.lostpassword.email)&&($scope.emailValid=!0)}}}),app.component("appResetpassword",{templateUrl:"manage-password/resetpassword.pug",controller:function($element,$window,$location,$scope,$http,$controller,$filter){console.log("resetpassword controller loaded"),$scope.resetpassword={password1:"",password2:""},$scope.failed=!1,$scope.failedMsg="",$scope.passwordValid=!0,$scope.email=$location.url().split("/")[2].split("?")[0],$scope.token=$location.url().split("/")[2].split("?")[1],$location.search().hasOwnProperty("lang")&&($scope.token=$scope.token.split("&lang")[0]),console.log("location",$location),console.log("scope email",$scope.email),console.log("token",$scope.token),$scope.changePage=function(page){var lang=$location.search().lang;angular.isDefined(lang)&&-1==page.indexOf("?lang")&&-1==page.indexOf("&lang")&&(page+=(-1