1import{a as d}from"./chunk-LT72JKOL.js";import{a as I}from"./chunk-AHQSOXDD.js";import{a as f}from"./chunk-XBBEU2YL.js";import{a as b}from"./chunk-M7VQHQXJ.js";import{a as v}from"./chunk-WZBVDNS6.js";import{a as m,c as S}from"./chunk-SHTGYNA2.js";import{B as u,V as g,_ as a,c as h,k as l}from"./chunk-DQGQ5ICO.js";import{e as A}from"./chunk-4IDNTCH7.js";var p=A(I());var y=class c{constructor(e,t,i,s,r,n){this.http=e;this.helperService=t;this.settingService=i;this.userService=s;this.appService=r;this.sharedSignalsService=n;this.intitalize()}providers;canAdminComments=!1;canAdminContents=!1;canAdminSettings=!1;get user(){return localStorage.getItem("token")||localStorage.removeItem("current-user"),localStorage.getItem("current-user")?JSON.parse(localStorage.getItem("current-user")):{}}set user(e){e&&e.name?(e.isAuthorize=this.hasPermission("Administrator"),e.firstsLetter=this.appService.getFirstsLetters(this.user.name),this.sharedSignalsService.isAuthorized.set(e.isAuthorize),localStorage.setItem("current-user",JSON.stringify(e)),this.setCanAdmins()):(this.sharedSignalsService.isAuthorized.set(!1),localStorage.removeItem("current-user"))}setCanAdmins(){this.canAdminComments=this.hasPermission("Comments"),this.canAdminContents=this.hasPermission("Contents"),this.canAdminSettings=this.hasPermission("Settings"),this.sharedSignalsService.canAdminContents.set(this.canAdminContents),this.sharedSignalsService.canAdminSettings.set(this.canAdminSettings)}intitalize(){this.setCanAdmins(),this.providers={authFacebook:{path:"https://www.facebook.com/v2.5/dialog/oauth",options:{response_type:"token",client_id:this.settingService.settings.user.facebookApp,redirect_uri:this.helperService.getUrlRoot().concat("/user/facebooklogin"),display:"popup",scope:"email",state:"undefined"},name:"Facebook",popupOptions:{width:500,height:350}},authGoogle:{path:"https://accounts.google.com/o/oauth2/auth",options:{response_type:"token",client_id:this.settingService.settings.user.googleClientId,redirect_uri:this.helperService.getUrlRoot().concat("/user/googlelogin"),display:"popup",scope:"openid profile email",state:"undefined"},name:"Google",popupOptions:{width:500,height:500}},authTwitter:{path:"https://api.twitter.com/oauth/authenticate",redirectUri:this.helperService.getUrlRoot().concat("/user/twitterlogin"),name:"Twitter",popupOptions:{width:500,height:500}}}}auth(e,t){if(e==="application")return this.userService.login(t);let i=this.providers[e],s=e!=="authTwitter"?i.path+this.buildQuery(i.options):t,r=i.popupOptions.width,n=i.popupOptions.height,o=window.screenY+(window.outerHeight-i.popupOptions.height)/2.5,k=window.screenX+(window.outerWidth-i.popupOptions.width)/2,w=this.openPopupWindow(s,r,n,o,k);return this.pollForToken(w,i)}openPopupWindow(e,t,i,s,r){return window.open(e,"oauth",`width=${t},height=${i},top=${s},left=${r}`)}pollForToken(e,t){return new h(i=>{let s=setInterval(()=>{if(!e||e.closed){clearInterval(s);return}let r=e.location?.search||e.location?.hash;if(r){let n=this.parseQueryString(r);(n.access_token||n.oauth_token)&&(this.userService.socialLogin({Token:n.access_token||n.oauth_token,SocialNetwork:t.name}).pipe(u(o=>(i.error(o),l(o)))).subscribe({next:o=>{i.next(o),i.complete()}}),e.close(),clearInterval(s))}},500)})}parseQueryString(e=""){let t={};return e.split("&").forEach(i=>{let[s,r]=i.split("=");
1t[decodeURIComponent(s.replace("?",""))]=r?decodeURIComponent(r):!0}),t}buildQuery(e){return Object.keys(e).map(t=>e[t]?`${t}=${e[t]}`:"").filter(Boolean).join("&")}getTwitterLink(){return this.http.get("/api/v1/auth/twitter/")}closeSesionAND(){let e=`${this.settingService.settings.general.autenticatorGovCoURI}/Account/Logout`,t=window.open(e,"DescriptiveWindowName","resizable,scrollbars,status");setTimeout(()=>{t?.close()},600)}logoutKeycloak(e){return this.closeSesionAND(),this.http.get(e)}loginKeycloak(){let e={clientId:this.settingService.settings.general.clientId,realm:this.settingService.settings.general.realm,url:`${this.settingService.settings.general.keycloackURI}/auth/`,"ssl-required":"external",resource:this.settingService.settings.general.resourcekeycloak,"public-client":!0,"confidential-port":0},t=new Keycloak(e),i={idpHint:"oidc"};t.init({}).then(()=>{t.login(i)})}callCurrentUser(){return this.user?.name?l(this.user):(this.loginKeycloak(),l(null))}isSessionDead(){let e=localStorage.getItem("token");if(e){let i=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),s=decodeURIComponent(atob(i).split("").map(o=>
1"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)).join("")),r=JSON.parse(s);return(0,p.default)(new Date(r.exp*1e3)).diff((0,p.default)(),"seconds")<0}else return!1}hasPermissions(e){return this.user&&this.user.permissions?this.user.permissions.some(t=>e.includes(t)):!1}hasPermission(e){return this.user&&this.user.permissions?this.user.permissions.includes(e):!1}authExternal(e){this.closeSesionAND();let t={token:e};return this.http.post("/api/v1/auth/external",t)}static \u0275fac=function(t){return new(t||c)(a(m),a(v),a(S),a(d),a(f),a(b))};static \u0275prov=g({token:c,factory:c.\u0275fac,providedIn:"root"})};export{y as a};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.