{"version":3,"sources":["webpack:///src/app/modules/auth-guard.service.ts","webpack:///src/app/modules/modules-routing.module.ts","webpack:///src/app/modules/modules.module.ts"],"names":["AuthGuardService","authService","router","toast","route","state","this","isAuthenticated","pipe","authenticated","url","includes","splitedUrl","split","trim","document","cookie","isValidReturnUrl","navigate","queryParams","returnUrl","then","routes","path","canActivate","loadChildren","m","AdminModule","HomeModule","redirectTo","pathMatch","ModulesRoutingModule","ModulesModule","strategies","name","baseEndpoint","environment","login","endpoint","requireValidToken","redirect","success","failure","requestPass","token","class","key","forms"],"mappings":"sMAeO,IAAMA,EAAb,MAAM,MAAOA,EAIX,YAAoBC,EAAoCC,EAAwBC,GAA5D,KAAAF,cAAoC,KAAAC,SAAwB,KAAAC,QAChF,YAAYC,EAA+BC,GAEzC,OAAOC,KAAKL,YAAYM,kBACrBC,MACC,OAAIC,IACF,GAAKA,OAAL,CAGE,GAAIJ,EAAMK,IAAIC,SAAS,0BAA2B,CAChD,MAAMC,EAAaP,EAAMK,IAAIG,MAAM,KAC/BD,EAAW,IAA+B,KAAzBA,EAAW,GAAGE,SACjCC,SAASC,OAAS,cAAcX,EAAMK,cAK1C,GAAIL,EAAMK,IAAIC,SAAS,eAAiBN,EAAMK,IAAIC,SAAS,kBAAmB,CAC5E,MAAMM,EAAmBZ,EAAMK,IAAIC,SAAS,cAC5CL,KAAKJ,OAAOgB,SAAS,CAAC,wBAAyB,CAC7CC,YAAa,CAAEC,UAAWH,EAAmBZ,EAAMK,IAAM,wBACxDW,KAAK,aAGRf,KAAKJ,OAAOgB,SAAS,CAAC,SAAU,CAC9BC,YAAa,CAAEC,UAAWf,EAAMK,OAC/BW,KAAK,aA9BtB,O,sCAAarB,GAAgB,6F,sDAAhBA,EAAgB,QAAhBA,EAAgB,YAAhBA,GAAb,I,iJCVA,MAAMsB,EAAiB,CACnB,CACIC,KAAM,GACNC,YAAa,CAAC,KACdC,aAAc,IAAM,gEACfJ,KAAKK,GAAKA,EAAEC,cAErB,CACIJ,KAAM,GAENE,aAAc,IAAM,uDACfJ,KAAKK,GAAKA,EAAEE,aAErB,CAAEL,KAAM,KAAMM,WAAY,GAAIC,UAAW,SAOtC,IAAMC,EAAb,MAAM,MAAOA,GAAb,O,sCAAaA,I,kDAAAA,I,sDAHA,CAAC,cAAsBT,IACtB,QAEDS,GAAb,GCsBaC,EAAb,MAAM,MAAOA,GAAb,O,sCAAaA,I,kDAAAA,I,uDAJA,CACT,KACD,SAjCQ,CAEPD,EACA,YAAqB,CACnBE,WAAY,CACV,WAA6B,CAC3BC,KAAM,QACNC,aAAcC,EAAA,WACdC,MAAO,CACLC,SAAU,SACVC,mBAAmB,EACnBC,SAAU,CACRC,QAAS,IACTC,QAAS,UAGbC,YAAa,CACXL,SAAU,UAEZM,MAAO,CACLC,MAAO,KACPC,IAAK,YAIXC,MAAO,SAUAf,GAAb","file":"x","sourcesContent":["/*\n * Created on Thu Dec 19 2019\n *\n * Copyright (c) 2019 Primas Group\n * Create by Gia Nguyen\n */\n\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { NbAuthService } from '@nebular/auth';\nimport { tap } from 'rxjs/operators';\nimport { NbToastrService } from '@nebular/theme';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n // tslint:disable-next-line: max-line-length\n\n\n constructor(private authService: NbAuthService, private router: Router, private toast: NbToastrService) { }\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | UrlTree | Observable | Promise {\n\n return this.authService.isAuthenticated()\n .pipe(\n tap(authenticated => {\n if (!authenticated) {\n // 29/11/2021 tienlm add start\n // handle specify profile if they 're not login yet\n if (state.url.includes('/configuration/profile')) {\n const splitedUrl = state.url.split('/');\n if (splitedUrl[2] && splitedUrl[2].trim() !== '') {\n document.cookie = `profileUrl=${state.url};Path=/`;\n }\n }\n // 29/11/2021 tienlm add end\n \n if (state.url.includes('/customer') && !state.url.includes('/configuration')) {\n const isValidReturnUrl = state.url.includes('/customer/');\n this.router.navigate([`/auth/customer/login`], {\n queryParams: { returnUrl: isValidReturnUrl ? state.url : 'customer/dashboard' }\n }).then(() => { });\n }\n else {\n this.router.navigate([`/auth`], {\n queryParams: { returnUrl: state.url }\n }).then(() => {\n // this.toast.warning(\"You need login to use this function!\", \"Warning\");\n });\n }\n return;\n }\n }),\n );\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { AuthGuardService } from \"./auth-guard.service\";\nimport { AdminComponent } from \"./admin/admin.component\";\n\nconst routes: Routes = [\n {\n path: '',\n canActivate: [AuthGuardService],\n loadChildren: () => import('./admin/admin.module')\n .then(m => m.AdminModule)\n },\n {\n path: '',\n // canActivate: [AuthGuardService],\n loadChildren: () => import('./home/home.module')\n .then(m => m.HomeModule)\n },\n { path: '**', redirectTo: '', pathMatch: 'full' },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ModulesRoutingModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NbAuthModule, NbPasswordAuthStrategy, NbAuthJWTToken } from '@nebular/auth';\nimport { environment } from 'src/environments/environment';\nimport { SharedModule } from '../shared/shared.module';\nimport { ModulesRoutingModule } from './modules-routing.module';\nimport { AdminComponent } from './admin/admin.component';\nimport { AuthGuardService } from './auth-guard.service';\nimport { NbRoleProvider, NbSecurityModule } from '@nebular/security';\nimport { RoleProvider } from './admin/role.provider';\n\n@NgModule({\n imports: [\n\n ModulesRoutingModule,\n NbAuthModule.forRoot({\n strategies: [\n NbPasswordAuthStrategy.setup({\n name: 'email',\n baseEndpoint: environment.apiAuth,\n login: {\n endpoint: '/login',\n requireValidToken: true,\n redirect: {\n success: '/',\n failure: '/auth',\n },\n },\n requestPass: {\n endpoint: '/reset',\n },\n token: {\n class: NbAuthJWTToken,\n key: 'token',\n }\n }),\n ],\n forms: {},\n \n })\n ],\n\n declarations: [],\n providers: [\n AuthGuardService\n ]\n})\nexport class ModulesModule { }\n"]}