{"ast":null,"code":"import { Observable } from 'rxjs';\nimport Swal from 'sweetalert2';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/common/http\";\nexport class AuthenticationService {\n constructor(router, http, loginUrl, logoutUrl, checkUrl) {\n this.router = router;\n this.http = http;\n this.loginUrl = loginUrl;\n this.logoutUrl = logoutUrl;\n this.checkUrl = checkUrl;\n }\n isAuthenticated() {\n return new Observable(observer => {\n this.http.get(this.checkUrl, {\n withCredentials: true\n }).subscribe({\n next: response => {\n _isLogedIn = response;\n observer.next(response);\n },\n error: error => {\n this.showErrorAlert();\n observer.error(error);\n },\n complete: () => observer.complete()\n });\n });\n }\n login(username, password) {\n return new Observable(observer => {\n const userData = {\n username,\n password\n };\n this.http.post(this.loginUrl, userData, {\n withCredentials: true\n }).subscribe({\n next: response => {\n _isLogedIn = true;\n observer.next(response);\n },\n error: error => {\n this.showErrorAlert();\n observer.error(error);\n },\n complete: () => {\n observer.complete();\n }\n });\n });\n }\n logout() {\n return new Observable(observer => {\n this.http.post(this.logoutUrl, {}, {\n withCredentials: true\n }).subscribe({\n next: response => {\n this.router.navigate(['/']);\n _isLogedIn = false;\n observer.next(response);\n },\n error: error => observer.error(error),\n complete: () => observer.complete()\n });\n });\n }\n showErrorAlert() {\n Swal.fire({\n icon: \"error\",\n title: \"Oops...\",\n text: \"The backend application is not responding.\"\n });\n }\n static #_ = this.ɵfac = function AuthenticationService_Factory(t) {\n return new (t || AuthenticationService)(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject('LOGIN_URL'), i0.ɵɵinject('LOGOUT_URL'), i0.ɵɵinject('LOGIN_CHECK_URL'));\n };\n static #_2 = this.ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n token: AuthenticationService,\n factory: AuthenticationService.ɵfac,\n providedIn: 'root'\n });\n}\nlet _isLogedIn = false;\nexport const IsLogedIn = () => _isLogedIn;","map":{"version":3,"names":["Observable","Swal","AuthenticationService","constructor","router","http","loginUrl","logoutUrl","checkUrl","isAuthenticated","observer","get","withCredentials","subscribe","next","response","_isLogedIn","error","showErrorAlert","complete","login","username","password","userData","post","logout","navigate","fire","icon","title","text","_","i0","ɵɵinject","i1","Router","i2","HttpClient","_2","factory","ɵfac","providedIn","IsLogedIn"],"sources":["E:\\TekH\\Visual Studio\\WebUserManager\\DigitalData.UserManager.NgWebUI\\ClientApp\\src\\app\\services\\authentication.service.ts"],"sourcesContent":["import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthenticationService {\r\n constructor(\r\n private router: Router,\r\n private http: HttpClient,\r\n @Inject('LOGIN_URL') private loginUrl: string,\r\n @Inject('LOGOUT_URL') private logoutUrl: string,\r\n @Inject('LOGIN_CHECK_URL') private checkUrl: string) { }\r\n\r\n isAuthenticated(): Observable {\r\n return new Observable(observer => {\r\n this.http.get(this.checkUrl, { withCredentials: true })\r\n .subscribe({\r\n next: (response) => {\r\n _isLogedIn = response;\r\n observer.next(response)\r\n },\r\n error: (error) => {\r\n this.showErrorAlert()\r\n observer.error(error)\r\n },\r\n complete: () => observer.complete()\r\n });\r\n });\r\n }\r\n\r\n login(username: string, password: string): Observable {\r\n return new Observable(observer => {\r\n const userData = { username, password };\r\n\r\n this.http.post(this.loginUrl, userData, { withCredentials: true })\r\n .subscribe({\r\n next: (response) => {\r\n _isLogedIn = true;\r\n observer.next(response);\r\n },\r\n error: (error) => {\r\n this.showErrorAlert()\r\n observer.error(error);\r\n },\r\n complete: () => {\r\n observer.complete();\r\n }\r\n });\r\n });\r\n }\r\n\r\n logout(): Observable {\r\n return new Observable(observer => {\r\n this.http.post(this.logoutUrl, {}, { withCredentials: true })\r\n .subscribe({\r\n next: (response) => {\r\n this.router.navigate(['/']);\r\n _isLogedIn = false;\r\n observer.next(response)\r\n },\r\n error: (error) => observer.error(error),\r\n complete: () => observer.complete()\r\n });\r\n });\r\n }\r\n\r\n showErrorAlert() {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: \"The backend application is not responding.\",\r\n });\r\n }\r\n}\r\n\r\nlet _isLogedIn: boolean = false;\r\nexport const IsLogedIn = () => _isLogedIn"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}