{ "version": 3, "sources": ["apps/frontend/src/app/guards/guards-self-authorization.service.ts"], "sourcesContent": ["import { Inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { PromanStateService } from '@frontend/shared/services/proman-state.service';\nimport { UserResolver } from '../app-resolvers';\nimport { Store } from '@ngrx/store';\nimport { getCurrUser } from '@proman/store/curr-user';\nimport { AppLoader } from '@proman/services/app-loader.service';\nimport { Router } from '@angular/router';\nimport { CurrUser } from '@proman/interfaces/object-interfaces';\nimport { PromanDialogService } from '@proman/dialog/proman-dialog.service';\nimport { LoginVerificationDialogComponent } from '@frontend/shared/components/login-verification-dialog.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GuardsSelfAuthorizationService implements CanActivate {\n currUser: CurrUser;\n constructor(\n private PromanState: PromanStateService,\n private Router: Router,\n private Dialog: PromanDialogService,\n private AppLoader: AppLoader,\n private store: Store,\n @Inject(UserResolver) private userResolver: UserResolver,\n ) {\n }\n\n async canActivate(\n route: ActivatedRouteSnapshot,\n ): Promise {\n await this.userResolver.resolve();\n\n this.store.select(getCurrUser).subscribe((value) => this.currUser = value);\n\n const destinationId = route.params?.employeeId;\n const isSelf = this.currUser.person.id === parseInt(destinationId);\n if (isSelf) {\n this.AppLoader.remove();\n return this.Dialog.open(LoginVerificationDialogComponent, {}, { disableClose: true }).then((result: number) => {\n if (result > 5) {\n return true;\n } else {\n if (this.Router.url.match('/')) {\n this.PromanState.to('/employees');\n }\n }\n })\n } else {\n return true;\n }\n }\n}\n"], "mappings": "wPAeA,IAAaA,GAA8B,IAAA,CAArC,IAAOA,EAAP,MAAOA,CAA8B,CAEzCC,YACUC,EACAC,EACAC,EACAC,EACAC,EACsBC,EAA0B,CALhD,KAAAL,YAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,UAAAA,EACA,KAAAC,MAAAA,EACsB,KAAAC,aAAAA,CAEhC,CAEMC,YACJC,EAA6B,QAAAC,EAAA,sBAE7B,MAAM,KAAKH,aAAaI,QAAO,EAE/B,KAAKL,MAAMM,OAAOC,CAAW,EAAEC,UAAWC,GAAU,KAAKC,SAAWD,CAAK,EAEzE,IAAME,EAAgBR,EAAMS,QAAQC,WAEpC,OADe,KAAKH,SAASI,OAAOC,KAAOC,SAASL,CAAa,GAE/D,KAAKZ,UAAUkB,OAAM,EACd,KAAKnB,OAAOoB,KAAKC,EAAkC,CAAA,EAAI,CAAEC,aAAc,EAAI,CAAE,EAAEC,KAAMC,GAAkB,CAC5G,GAAIA,EAAS,EACX,MAAO,GAEH,KAAKzB,OAAO0B,IAAIC,MAAM,GAAG,GAC3B,KAAK5B,YAAY6B,GAAG,YAAY,CAGtC,CAAC,GAEM,EAEX,2CAnCW/B,GAA8BgC,EAAAC,CAAA,EAAAD,EAAA7B,CAAA,EAAA6B,EAAAE,CAAA,EAAAF,EAAA3B,CAAA,EAAA2B,EAAAG,CAAA,EAAAH,EAQ/BI,CAAY,CAAA,CAAA,wBARXpC,EAA8BqC,QAA9BrC,EAA8BsC,UAAAC,WAF7B,MAAM,CAAA,EAEd,IAAOvC,EAAPwC,SAAOxC,CAA8B,GAAA", "names": ["GuardsSelfAuthorizationService", "constructor", "PromanState", "Router", "Dialog", "AppLoader", "store", "userResolver", "canActivate", "route", "__async", "resolve", "select", "getCurrUser", "subscribe", "value", "currUser", "destinationId", "params", "employeeId", "person", "id", "parseInt", "remove", "open", "LoginVerificationDialogComponent", "disableClose", "then", "result", "url", "match", "to", "\u0275\u0275inject", "PromanStateService", "PromanDialogService", "Store", "UserResolver", "factory", "\u0275fac", "providedIn", "_GuardsSelfAuthorizationService"] }