{"ast":null,"code":"import { HttpHeaders } from '@angular/common/http';\nimport { environment } from '../environments/environment';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nimport * as i2 from \"./user.service\";\nexport let AuthService = /*#__PURE__*/(() => {\n  class AuthService {\n    constructor(http, userService) {\n      this.http = http;\n      this.userService = userService;\n      this.apiUrl = `${environment.apiUrlBackEnd}/api/auth/login`;\n      this.loggedInStatus = false;\n      this.userId = 0;\n      this.userName = '';\n      this.userRole = '';\n      this.functionalities = []; // ✅ FALTAVA DECLARAR ESSA VARIÁVEL\n    }\n    login(username, password) {\n      const headers = new HttpHeaders({\n        'Content-Type': 'application/x-www-form-urlencoded'\n      });\n      const body = new URLSearchParams();\n      body.set('username', username);\n      body.set('password', password);\n      return this.http.post(this.apiUrl, body.toString(), {\n        headers\n      });\n    }\n    setUserData(userId, name, role, functionalities) {\n      this.userId = userId;\n      this.userName = name;\n      this.userRole = role;\n      this.functionalities = Array.isArray(functionalities) ? functionalities.map(f => f.toLowerCase()) : [];\n      this.loggedInStatus = true;\n    }\n    setLoggedOut() {\n      this.loggedInStatus = false;\n      this.userId = 0;\n      this.userName = '';\n      this.userRole = '';\n      this.functionalities = [];\n      this.userService.clearUserId();\n    }\n    isLoggedIn() {\n      return this.loggedInStatus;\n    }\n    getUserName() {\n      return this.userName;\n    }\n    getUserRole() {\n      return this.userRole;\n    }\n    getUserId() {\n      return this.userId;\n    }\n    hasFunctionality(func) {\n      const access = this.userService.getUserAccessData();\n      if (!access || !access.parkingAccess) return false;\n      return access.parkingAccess.flatMap(p => p.functionalities || []).some(f => f.toLowerCase() === func.toLowerCase());\n    }\n    getFunctionalities() {\n      return this.functionalities;\n    }\n    static #_ = this.ɵfac = function AuthService_Factory(t) {\n      return new (t || AuthService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.UserService));\n    };\n    static #_2 = this.ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n      token: AuthService,\n      factory: AuthService.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return AuthService;\n})();","map":{"version":3,"names":["HttpHeaders","environment","AuthService","constructor","http","userService","apiUrl","apiUrlBackEnd","loggedInStatus","userId","userName","userRole","functionalities","login","username","password","headers","body","URLSearchParams","set","post","toString","setUserData","name","role","Array","isArray","map","f","toLowerCase","setLoggedOut","clearUserId","isLoggedIn","getUserName","getUserRole","getUserId","hasFunctionality","func","access","getUserAccessData","parkingAccess","flatMap","p","some","getFunctionalities","_","i0","ɵɵinject","i1","HttpClient","i2","UserService","_2","factory","ɵfac","providedIn"],"sources":["/root/rfcontavagas_hom/12.-Servidor-local-Docker/Front-Parking-Angular/src/app/services/auth.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from '../environments/environment';\nimport { UserService } from './user.service';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class AuthService {\n  private apiUrl = `${environment.apiUrlBackEnd}/api/auth/login`;\n\n  private loggedInStatus = false;\n  private userId: number = 0;\n  private userName: string = '';\n  private userRole: string = '';\n  private functionalities: string[] = []; // ✅ FALTAVA DECLARAR ESSA VARIÁVEL\n\n  constructor(private http: HttpClient, private userService: UserService) {}\n\n  login(username: string, password: string): Observable<any> {\n    const headers = new HttpHeaders({\n      'Content-Type': 'application/x-www-form-urlencoded'\n    });\n\n    const body = new URLSearchParams();\n    body.set('username', username);\n    body.set('password', password);\n\n    return this.http.post(this.apiUrl, body.toString(), { headers });\n  }\n\n  setUserData(\n    userId: number,\n    name: string,\n    role: string,\n    functionalities: string[]\n  ): void {\n    this.userId = userId;\n    this.userName = name;\n    this.userRole = role;\n\n    this.functionalities = Array.isArray(functionalities)\n      ? functionalities.map(f => f.toLowerCase())\n      : [];\n\n    this.loggedInStatus = true;\n  }\n\n  setLoggedOut(): void {\n    this.loggedInStatus = false;\n    this.userId = 0;\n    this.userName = '';\n    this.userRole = '';\n    this.functionalities = [];\n    this.userService.clearUserId();\n  }\n\n  isLoggedIn(): boolean {\n    return this.loggedInStatus;\n  }\n\n  getUserName(): string {\n    return this.userName;\n  }\n\n  getUserRole(): string {\n    return this.userRole;\n  }\n\n  getUserId(): number {\n    return this.userId;\n  }\n\n  hasFunctionality(func: string): boolean {\n    const access = this.userService.getUserAccessData();\n    if (!access || !access.parkingAccess) return false;\n\n    return access.parkingAccess\n      .flatMap((p: any) => p.functionalities || [])\n      .some((f: string) => f.toLowerCase() === func.toLowerCase());\n  }\n\n  getFunctionalities(): string[] {\n    return this.functionalities;\n  }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}