{ "version": 3, "sources": ["src/app/_guards/auth.guard.ts", "src/app/_guards/library-access.guard.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Observable } from 'rxjs';\r\nimport { map, take } from 'rxjs/operators';\r\nimport { AccountService } from '../_services/account.service';\r\nimport {TranslocoService} from \"@ngneat/transloco\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n public urlKey: string = 'kavita--auth-intersection-url';\r\n constructor(private accountService: AccountService,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private translocoService: TranslocoService) {}\r\n\r\n canActivate(): Observable {\r\n return this.accountService.currentUser$.pipe(take(1),\r\n map((user) => {\r\n if (user) {\r\n return true;\r\n }\r\n\r\n localStorage.setItem(this.urlKey, window.location.pathname);\r\n this.router.navigateByUrl('/login');\r\n return false;\r\n })\r\n );\r\n }\r\n}\r\n", "import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { MemberService } from '../_services/member.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LibraryAccessGuard implements CanActivate {\r\n\r\n constructor(private memberService: MemberService) {}\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const libraryId = parseInt(state.url.split('library/')[1], 10);\r\n if (isNaN(libraryId)) return of(false);\r\n return this.memberService.hasLibraryAccess(libraryId);\r\n }\r\n}\r\n"], "mappings": "6MAWA,IAAaA,GAAS,IAAA,CAAhB,IAAOA,EAAP,MAAOA,CAAS,CAEpBC,YAAoBC,EACAC,EACAC,EACAC,EAAkC,CAHlC,KAAAH,eAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,iBAAAA,EAJb,KAAAC,OAAiB,+BAIiC,CAEzDC,aAAW,CACT,OAAO,KAAKL,eAAeM,aAAaC,KAAKC,EAAK,CAAC,EACjDC,EAAKC,GACCA,EACK,IAGTC,aAAaC,QAAQ,KAAKR,OAAQS,OAAOC,SAASC,QAAQ,EAC1D,KAAKd,OAAOe,cAAc,QAAQ,EAC3B,GACR,CAAC,CAEN,yCAnBWlB,GAASmB,EAAAC,CAAA,EAAAD,EAAAE,CAAA,EAAAF,EAAAG,CAAA,EAAAH,EAAAI,CAAA,CAAA,CAAA,wBAATvB,EAASwB,QAATxB,EAASyB,UAAAC,WAFR,MAAM,CAAA,EAEd,IAAO1B,EAAP2B,SAAO3B,CAAS,GAAA,ECHtB,IAAa4B,GAAkB,IAAA,CAAzB,IAAOA,EAAP,MAAOA,CAAkB,CAE7BC,YAAoBC,EAA4B,CAA5B,KAAAA,cAAAA,CAA+B,CAEnDC,YAAYC,EAA8BC,EAA0B,CAClE,IAAMC,EAAYC,SAASF,EAAMG,IAAIC,MAAM,UAAU,EAAE,CAAC,EAAG,EAAE,EAC7D,OAAIC,MAAMJ,CAAS,EAAUK,EAAG,EAAK,EAC9B,KAAKT,cAAcU,iBAAiBN,CAAS,CACtD,yCARWN,GAAkBa,EAAAC,CAAA,CAAA,CAAA,wBAAlBd,EAAkBe,QAAlBf,EAAkBgB,UAAAC,WAFjB,MAAM,CAAA,EAEd,IAAOjB,EAAPkB,SAAOlB,CAAkB,GAAA", "names": ["AuthGuard", "constructor", "accountService", "router", "toastr", "translocoService", "urlKey", "canActivate", "currentUser$", "pipe", "take", "map", "user", "localStorage", "setItem", "window", "location", "pathname", "navigateByUrl", "\u0275\u0275inject", "AccountService", "Router", "ToastrService", "TranslocoService", "factory", "\u0275fac", "providedIn", "_AuthGuard", "LibraryAccessGuard", "constructor", "memberService", "canActivate", "next", "state", "libraryId", "parseInt", "url", "split", "isNaN", "of", "hasLibraryAccess", "\u0275\u0275inject", "MemberService", "factory", "\u0275fac", "providedIn", "_LibraryAccessGuard"] }