"use strict";app.factory("authInterceptorService",["$q","$injector","$location","localStorageService",function(n,t,i,r){var u={},f=function(n){n.headers=n.headers||{};var t=r.get("authorizationData");return t&&(n.headers.Authorization="Bearer "+t.token),n},e=function(u){if(u.status===401){var e=t.get("authService"),f=r.get("authorizationData");if(f&&f.useRefreshTokens)return i.path("/refresh"),n.reject(u);e.logOut();i.path("/login")}return n.reject(u)};return u.request=f,u.responseError=e,u}]);app.factory("authService",["$http","$q","localStorageService","ngAuthSettings",function(n,t,i,r){var e=r.apiServiceBaseUri,f={},u={isAuth:!1,userName:"",name:"",role:1,useRefreshTokens:!1},s=function(t){return o(),n.post(e+"api/account/register",t).then(function(n){return n})},h=function(t){return o(),n.post(e+"api/account/register-our-partners",t).then(function(n){return n})},c=function(f){var h="grant_type=password&username="+f.userName+"&password="+f.password,s;return f.useRefreshTokens&&(h=h+"&client_id="+r.clientId),s=t.defer(),n.post(e+"token",h,{headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(n){f.useRefreshTokens?i.set("authorizationData",{token:n.access_token,userName:n.userName,id:n.id,name:n.name,contactNumber:n.contactNumber,r:n.r,p:n.p,refreshToken:n.refresh_token,useRefreshTokens:!0}):i.set("authorizationData",{token:n.access_token,userName:f.userName,id:n.id,name:n.name,contactNumber:n.contactNumber,r:n.r,p:n.p,refreshToken:"",useRefreshTokens:!1});u.isAuth=!0;u.userName=f.userName;u.name=n.name;u.role=parseInt(n.r,10);u.useRefreshTokens=f.useRefreshTokens;s.resolve(n)}).error(function(n){o();s.reject(n)}),s.promise},l=function(r){var f=t.defer();return n.post(e+"api/account/confirmemail",r).success(function(n){r.useRefreshTokens?i.set("authorizationData",{token:n.access_token,userName:n.userName,id:n.id,name:n.name,contactNumber:n.contactNumber,r:n.r,p:n.p,refreshToken:n.refresh_token,useRefreshTokens:!0}):i.set("authorizationData",{token:n.access_token,userName:n.userName,id:n.id,name:n.name,contactNumber:n.contactNumber,r:n.r,p:n.p,refreshToken:"",useRefreshTokens:!1});u.isAuth=!0;u.userName=n.userName;u.name=n.name;u.role=parseInt(n.r,10);u.useRefreshTokens=r.useRefreshTokens;f.resolve(n)}).error(function(n){o();f.reject(n)}),f.promise},o=function(){i.remove("authorizationData");u.isAuth=!1;u.userName="";u.name="";u.useRefreshTokens=!1},a=function(){var n=i.get("authorizationData");n&&(u.isAuth=!0,u.userName=n.userName,u.name=n.name,u.role=parseInt(n.r,10),u.useRefreshTokens=n.useRefreshTokens)},v=function(){var s=t.defer(),f=i.get("authorizationData"),h;return f&&f.useRefreshTokens&&(h="grant_type=refresh_token&refresh_token="+f.refreshToken+"&client_id="+r.clientId,i.remove("authorizationData"),n.post(e+"token",h,{headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(n){i.set("authorizationData",{token:n.access_token,userName:n.userName,id:n.id,name:n.name,contactNumber:n.contactNumber,r:n.r,p:n.p,refreshToken:n.refresh_token,useRefreshTokens:!0});s.resolve(n);u.isAuth=!0;u.userName=n.userName;u.name=f.name;u.role=parseInt(n.r,10);u.useRefreshTokens=!0}).error(function(n){o();s.reject(n)})),s.promise},y=function(r){var f=t.defer();return n.get(e+"api/account/ObtainLocalAccessToken",{params:{provider:r.provider,externalAccessToken:r.externalAccessToken}}).success(function(n){i.set("authorizationData",{token:n.access_token,userName:n.userName,id:n.id,name:n.name,contactNumber:n.contactNumber,r:n.r,p:n.p,refreshToken:"",useRefreshTokens:!1});u.isAuth=!0;u.userName=n.userName;u.name=n.name;u.role=parseInt(n.r,10);u.useRefreshTokens=!1;f.resolve(n)}).error(function(n){o();f.reject(n)}),f.promise},p=function(r){var f=t.defer();return n.post(e+"api/account/registerexternal",r).success(function(n){i.set("authorizationData",{token:n.access_token,userName:n.userName,id:n.id,name:n.name,contactNumber:n.contactNumber,r:n.r,p:n.p,refreshToken:"",useRefreshTokens:!1});u.isAuth=!0;u.userName=n.userName;u.name=n.name;u.role=parseInt(n.r,10);u.useRefreshTokens=!1;f.resolve(n)}).error(function(n){o();f.reject(n)}),f.promise},w=function(i){var r=t.defer();return n.post(e+"api/account/forgotpassword",i).success(function(n){u.isAuth=!1;u.userName="";u.name="";u.useRefreshTokens=!1;r.resolve(n)}).error(function(n){r.reject(n)})},b=function(i){var r=t.defer();return n.post(e+"api/account/resetpassword",i).success(function(n){u.isAuth=!1;u.userName="";u.name="";u.useRefreshTokens=!1;r.resolve(n)}).error(function(n){r.reject(n)})},k=function(i){var r=t.defer();return n.post(e+"api/account/changepassword",i).success(function(n){r.resolve(n)}).error(function(n){r.reject(n)})},d=function(r){var u=t.defer();return n.post(e+"api/account/changepersonalinfo",r).success(function(n){var t=i.get("authorizationData");t!=null&&i.set("authorizationData",{token:t.token,userName:t.userName,id:t.id,name:t.name,contactNumber:r.contactNumber,r:t.r,p:t.p,refreshToken:t.refreshToken,useRefreshTokens:t.useRefreshTokens});u.resolve(n)}).error(function(n){u.reject(n)})},g=function(){return n.get(e+"api/account/getuserinfo").then(function(n){return n})},nt=function(i){var r=t.defer();return n.post(e+"api/profile/saveBankAccountInfo",i).success(function(n){r.resolve(n)}).error(function(n){r.reject(n)})};return f.saveRegistration=s,f.saveRegistrationPartners=h,f.login=c,f.userVerifySignin=l,f.logOut=o,f.fillAuthData=a,f.authentication=u,f.refreshToken=v,f.forgetPasswordUser=w,f.resetPasswordUser=b,f.changePasswordUser=k,f.updatePersonalInfo=d,f.obtainAccessToken=y,f.externalAuthData={provider:"",userName:"",email:"",contactNumber:"",externalAccessToken:""},f.registerExternal=p,f.getUserInfo=g,f.saveBankAccountInfo=nt,f}]);app.factory("bookingService",["$http","ngAuthSettings",function(n,t){var i=t.apiServiceBaseUri,r={},u=function(){return n.get(i+"api/bookings").then(function(n){return n})},f=function(t){n.get(i+"api/bookings/getinvoice/"+t,{responseType:"arraybuffer"}).success(function(n,r,u){var p="application/octet-stream",e=!1,h,l,a,c,o,y,f,s;u=u();h="invoice.pdf";l=u["content-type"]||p;try{if(console.log("Trying saveBlob method ..."),f=new Blob([n],{type:l}),navigator.msSaveBlob)navigator.msSaveBlob(f,h);else{if(a=navigator.webkitSaveBlob||navigator.mozSaveBlob||navigator.saveBlob,a===undefined)throw"Not supported";a(f,h)}console.log("saveBlob succeeded");e=!0}catch(v){console.log("saveBlob method failed with the following exception:");console.log(v)}if(!e&&(c=window.URL||window.webkitURL||window.mozURL||window.msURL,c)){if(o=document.createElement("a"),"download"in o)try{console.log("Trying download link method with simulated click ...");f=new Blob([n],{type:l});s=c.createObjectURL(f);o.setAttribute("href",s);o.setAttribute("download",h);y=document.createEvent("MouseEvents");y.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,0,null);o.dispatchEvent(y);console.log("Download link method with simulated click succeeded");e=!0}catch(v){console.log("Download link method with simulated click failed with the following exception:");console.log(v)}if(!e)try{console.log("Trying download link method with window.location ...");f=new Blob([n],{type:p});s=c.createObjectURL(f);window.location=s;console.log("Download link method with window.location succeeded");e=!0}catch(v){console.log("Download link method with window.location failed with the following exception:");console.log(v)}}e||(console.log("No methods worked for saving the arraybuffer, using last resort window.open"),window.open(i+"api/bookings/getinvoice/"+t,"_blank",""))}).error(function(n,t){console.log("Request failed with status: "+t)})},e=function(){return n.get(i+"api/bookings/getpointsummery").then(function(n){return n})};return r.getBooking=u,r.getInvoice=f,r.getRewardPoints=e,r}]);app.factory("tokensManagerService",["$http","ngAuthSettings",function(n,t){var r=t.apiServiceBaseUri,i={},u=function(){return n.get(r+"api/refreshtokens").then(function(n){return n})},f=function(t){return n.delete(r+"api/refreshtokens/?tokenid="+t).then(function(n){return n})};return i.deleteRefreshTokens=f,i.getRefreshTokens=u,i}])