Files
syscom-master-admin-ui/preview/chunk-I2265UUZ.js
T
2026-07-13 11:57:09 +05:30

2 lines
11 KiB
JavaScript

import{b as g}from"./chunk-C4H2R2IP.js";import{e as j}from"./chunk-CVEVOJ42.js";import{c as N,d as u}from"./chunk-7HJ6OBS4.js";import{B as O,D as R,G as p,Jc as E,M as f,S as U,U as o,aa as r,d as A,e as m,ea as L,fa as i,m as d,n as T,q as c,w as I,x as P,xa as a}from"./chunk-COCHPIBX.js";var w={defaultLandingPage:"/dashboards/crm",items:[{headTitle:"MAIN"},{title:"Dashboards",icon:'<i class="bx bx-home side-menu__icon"></i>',type:"sub",active:!1,selected:!1,dirchange:!1,children:[{path:"/dashboards/crm",title:"CRM",type:"link",dirchange:!1}]},{headTitle:"SAAS ADMIN"},{title:"Management",icon:'<i class="bx bx-buildings side-menu__icon"></i>',type:"sub",active:!1,selected:!1,dirchange:!1,children:[{path:"/tenants",title:"Tenants",type:"link",dirchange:!1},{path:"/users",title:"Users",type:"link",dirchange:!1},{title:"Global Master",type:"sub",active:!1,selected:!1,dirchange:!1,children:[{path:"/global-masters/countries",title:"Country",type:"link",dirchange:!1},{path:"/global-masters/states",title:"State",type:"link",dirchange:!1},{path:"/global-masters/cities",title:"City",type:"link",dirchange:!1}]},{title:"Configuration",type:"sub",active:!1,selected:!1,dirchange:!1,children:[{path:"/localization",title:"Localization",type:"link",dirchange:!1},{title:"Branding",type:"sub",active:!1,selected:!1,dirchange:!1,children:[{path:"/theming",title:"Theming",type:"link",dirchange:!1},{path:"/platform",title:"Platform",type:"link",dirchange:!1}]}]}]},{title:"Operations",icon:'<i class="bx bx-line-chart side-menu__icon"></i>',type:"sub",active:!1,selected:!1,dirchange:!1,children:[{path:"/billing",title:"Billing",type:"link",dirchange:!1},{path:"/monitoring",title:"Monitoring",type:"link",dirchange:!1}]}]};var v=class n{menuContext=a(null);loadMenu(){let e=this.cloneMenuContext(w);return d(e).pipe(o(t=>{this.menuContext.set(t)}))}getNavigationMenu(){return this.cloneMenuItems(this.menuContext()?.items??[])}getDefaultLandingPage(){return this.menuContext()?.defaultLandingPage??null}clear(){this.menuContext.set(null)}cloneMenuContext(e){return{defaultLandingPage:e.defaultLandingPage,items:this.cloneMenuItems(e.items)}}cloneMenuItems(e){return JSON.parse(JSON.stringify(e))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};var b=class n{http=i(u);permissionContext=a(null);loadPermissions(){return this.http.get("").pipe(c(e=>({roles:e.roles??[],permissions:e.permissions??[],defaultLandingPage:e.defaultLandingPage?.trim()||void 0})),o(e=>{this.permissionContext.set(e)}))}clear(){this.permissionContext.set(null)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};var y=class n{http=i(u);tenantContext=a(null);loadTenantContext(){return this.http.get("").pipe(o(e=>{this.tenantContext.set(e)}))}clear(){this.tenantContext.set(null)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};var S=class n{http=i(u);currentUserContext=a(null);loadCurrentUserProfile(){return this.http.get("").pipe(c(e=>({id:e.id?.trim()??"",email:e.email?.trim()??"",displayName:e.displayName?.trim()||void 0,fullName:e.fullName?.trim()||void 0,tenantId:e.tenantId?.trim()||void 0,roles:e.roles??[],defaultLandingPage:e.defaultLandingPage?.trim()||void 0})),o(e=>{this.currentUserContext.set(e)}))}clear(){this.currentUserContext.set(null)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};var x=class n{constructor(e){this.router=e;this.setScreenWidth(window.innerWidth),P(window,"resize").pipe(R(1e3),U(this.unsubscriber)).subscribe(t=>{this.setScreenWidth(t.target.innerWidth),t.target.innerWidth<991&&(this.collapseSidebar=!0,this.megaMenu=!1,this.levelMenu=!1),t.target.innerWidth<1199&&(this.megaMenuColapse=!0)}),window.innerWidth<991&&this.router.events.subscribe(t=>{this.collapseSidebar=!0,this.megaMenu=!1,this.levelMenu=!1})}unsubscriber=new A;screenWidth=new m(window.innerWidth);search=!1;language=!1;megaMenu=!1;levelMenu=!1;megaMenuColapse=window.innerWidth<1199;collapseSidebar=window.innerWidth<991;horizontal=!(window.innerWidth<991);fullScreen=!1;active;ngOnDestroy(){this.unsubscriber.next,this.unsubscriber.complete()}setScreenWidth(e){this.screenWidth.next(e)}items=new m([]);setMenuItems(e){this.items.next(e)}clearMenuItems(){this.items.next([])}static \u0275fac=function(t){return new(t||n)(L(j))};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};var C=class n{userContextService=i(S);tenantContextService=i(y);permissionService=i(b);menuService=i(v);navService=i(x);loadRequest$=null;menuLoadRequest$=null;loaded=!1;ensureMenuInitialized(e=!1){let t=this.menuService.menuContext();return t&&!e?(this.navService.setMenuItems(this.menuService.getNavigationMenu()),d(t)):this.menuLoadRequest$&&!e?this.menuLoadRequest$:(this.menuLoadRequest$=this.menuService.loadMenu().pipe(o(()=>{this.navService.setMenuItems(this.menuService.getNavigationMenu())}),p(()=>{this.menuLoadRequest$=null}),f(1)),this.menuLoadRequest$)}loadAppContext(e=!1){return this.loaded&&!e?d(this.getCurrentState()):this.loadRequest$&&!e?this.loadRequest$:(this.loadRequest$=I({user:this.userContextService.loadCurrentUserProfile(),tenant:this.tenantContextService.loadTenantContext(),permissions:this.permissionService.loadPermissions(),menu:this.menuService.loadMenu()}).pipe(o(t=>{this.navService.setMenuItems(this.menuService.getNavigationMenu()),this.loaded=!0}),p(()=>{this.loadRequest$=null}),f(1)),this.loadRequest$)}ensureContextLoaded(){return this.loadAppContext()}clearContext(){this.userContextService.clear(),this.tenantContextService.clear(),this.permissionService.clear(),this.menuService.clear(),this.navService.clearMenuItems(),this.loaded=!1,this.loadRequest$=null}getDefaultLandingPage(){return this.userContextService.currentUserContext()?.defaultLandingPage??this.permissionService.permissionContext()?.defaultLandingPage??this.tenantContextService.tenantContext()?.defaultLandingPage??this.menuService.getDefaultLandingPage()??"/dashboards/crm"}getCurrentState(){return{user:this.userContextService.currentUserContext()??{id:"",email:"",roles:[]},tenant:this.tenantContextService.tenantContext()??{},permissions:this.permissionService.permissionContext()??{roles:[],permissions:[]},menu:this.menuService.menuContext()??{items:[]}}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};var k=class n{accessTokenKey="master-admin-access-token";refreshTokenKey="master-admin-refresh-token";accessTokenExpiresOnKey="master-admin-access-token-expires-on";refreshTokenExpiresOnKey="master-admin-refresh-token-expires-on";userKey="master-admin-user";saveAuth(e,t){this.clearAuth();let s=t?localStorage:sessionStorage;e.accessToken&&s.setItem(this.accessTokenKey,e.accessToken),e.refreshToken&&s.setItem(this.refreshTokenKey,e.refreshToken),e.accessTokenExpiresOn&&s.setItem(this.accessTokenExpiresOnKey,e.accessTokenExpiresOn),e.refreshTokenExpiresOn&&s.setItem(this.refreshTokenExpiresOnKey,e.refreshTokenExpiresOn);let l=this.buildUserProfile(e);l&&s.setItem(this.userKey,JSON.stringify(l))}clearAuth(){this.removeFromStorage(localStorage),this.removeFromStorage(sessionStorage)}getAccessToken(){return this.getByPriority(this.accessTokenKey)}getRefreshToken(){return this.getByPriority(this.refreshTokenKey)}getAccessTokenExpiresOn(){return this.getByPriority(this.accessTokenExpiresOnKey)}getRefreshTokenExpiresOn(){return this.getByPriority(this.refreshTokenExpiresOnKey)}getUser(){let e=this.getByPriority(this.userKey);if(!e)return null;try{return JSON.parse(e)}catch{return this.clearAuth(),null}}getStorageType(){return this.hasAnyAuthKey(sessionStorage)?"session":this.hasAnyAuthKey(localStorage)?"local":null}isAccessTokenExpired(){return this.isExpired(this.getAccessTokenExpiresOn())}isRefreshTokenExpired(){return this.isExpired(this.getRefreshTokenExpiresOn())}getByPriority(e){let t=sessionStorage.getItem(e);return t!==null?t:localStorage.getItem(e)}hasAnyAuthKey(e){return[this.accessTokenKey,this.refreshTokenKey,this.accessTokenExpiresOnKey,this.refreshTokenExpiresOnKey,this.userKey].some(t=>e.getItem(t)!==null)}removeFromStorage(e){e.removeItem(this.accessTokenKey),e.removeItem(this.refreshTokenKey),e.removeItem(this.accessTokenExpiresOnKey),e.removeItem(this.refreshTokenExpiresOnKey),e.removeItem(this.userKey)}isExpired(e){debugger;if(!e)return!0;let t=Date.parse(e);return Number.isNaN(t)?!0:t<=Date.now()}buildUserProfile(e){return e.user?e.user:e.userId||e.email?{id:e.userId??"",email:e.email??"",roles:e.roles}:null}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};var M={login:g("identity","/v1/auth/login"),refresh:g("identity","/v1/auth/refresh"),logout:g("identity","/v1/auth/logout"),currentUser:g("identity","/v1/auth/me")};var K=class n{http=i(u);tokenStorage=i(k);appContextService=i(C);userSubject=new m(null);user$=this.userSubject.asObservable();currentUserSignal=a(null);accessTokenSignal=a(null);isAuthenticatedSignal=E(()=>!!this.accessTokenSignal()&&!!this.currentUserSignal());refreshRequest$=null;constructor(){this.restoreAuthState()}login(e,t){return this.http.post(`${M.login}`,e).pipe(c(s=>{let l=this.normalizeUserProfile(s);return this.tokenStorage.saveAuth(s,t),this.setAuthState(l,this.tokenStorage.getAccessToken()),s}))}refreshAccessToken(){if(this.refreshRequest$)return this.refreshRequest$;let e=this.tokenStorage.getRefreshToken();return e?(this.refreshRequest$=this.http.post(`${M.refresh}`,{refreshToken:e}).pipe(c(t=>{let s=this.normalizeUserProfile(t,this.currentUserSignal()),$=this.tokenStorage.getStorageType()==="local";return this.tokenStorage.saveAuth(t,$),this.setAuthState(s,this.tokenStorage.getAccessToken()),t}),O(t=>(this.logout(),T(()=>t))),p(()=>{this.refreshRequest$=null}),f(1)),this.refreshRequest$):(this.logout(),T(()=>new N({status:401,statusText:"Refresh token missing"})))}logout(){this.tokenStorage.clearAuth(),this.appContextService.clearContext(),this.setAuthState(null,null),this.refreshRequest$=null}get accessToken(){return this.tokenStorage.getAccessToken()}get refreshToken(){return this.tokenStorage.getRefreshToken()}get isAuthenticated(){return this.isAuthenticatedSignal()}get isLoggedIn(){return this.isAuthenticatedSignal()}get currentUser(){return this.currentUserSignal()}restoreAuthState(){let e=this.tokenStorage.getUser(),t=this.tokenStorage.getAccessToken();if(e&&t){this.setAuthState(e,t);return}this.setAuthState(null,t??null)}setAuthState(e,t){this.userSubject.next(e),this.currentUserSignal.set(e),this.accessTokenSignal.set(t)}normalizeUserProfile(e,t=null){if(e.user)return e.user;let s=e.userId?.trim(),l=e.email?.trim();return s||l?{id:s??t?.id??"",email:l??t?.email??"",roles:e.roles}:t}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};export{x as a,k as b,C as c,K as d};