{"version":3,"file":"main.3b2819868f49c297.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/authentication/auth.service.ts","./src/app/core/constants/Roles.ts","./src/app/core/guards/auth.guard.ts","./src/app/core/interceptor/auth.interceptor.ts","./src/app/core/services/sessionStorage.service.ts","./src/app/pages/authenticate/authenticate.component.ts","./src/app/pages/authenticate/authenticate.component.html","./src/app/pages/authenticate/authenticate.module.ts","./src/app/pages/authenticate/login/login.component.ts","./src/app/pages/authenticate/login/login.component.html","./src/app/shared/components/main-header/main-header.component.ts","./src/app/shared/components/main-header/main-header.component.html","./src/app/shared/components/main-nav/main-nav.component.ts","./src/app/shared/components/main-nav/main-nav.component.html","./src/environments/environment.prod.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { LoginComponent } from './pages/authenticate/login/login.component';\nimport { authGuard } from './core/guards/auth.guard';\nimport { Roles } from './core/constants/Roles';\n\nconst routes: Routes = [\n {\n path: 'auth',\n component: LoginComponent\n },\n {\n path: 'EsqueciSenha',\n loadChildren: () => import('./pages/password/resetPassword/resetPassword.module').then(m => m.ResetPasswordModule)\n },\n {\n path: 'consultadocumento',\n loadChildren: () => import('./pages/certificate-validation/CheckCertificate/CheckCertificate.module').then(m => m.CheckCertificateModule)\n },\n {\n path: 'home',\n loadChildren: ()=> import('./pages/home/home.module').then(m => m.HomeModule),\n canMatch: [authGuard]\n },\n {\n path: 'Admin',\n children: [\n {\n path: '',\n loadChildren: () => import('./pages/student-portal/admin/admin.module').then(m => m.AdminModule),\n canActivate: [authGuard],\n data: {\n role: Roles.Admin\n }\n }\n ]\n },\n {\n path: 'Aluno',\n children: [\n {\n path: 'servicos',\n loadChildren: () => import('./pages/student-portal/service-options/service-options.module').then(m => m.ServiceOptionsModule),\n canMatch: [authGuard],\n data: {\n role: Roles.Student\n } \n }\n ]\n },\n {\n path: 'Error',\n children: [\n {\n path: '',\n loadChildren: () => import('./pages/error/error.module').then(m => m.ErrorModule),\n }\n ]\n },\n {path: '', redirectTo: 'auth', pathMatch: 'full'}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, Inject } from '@angular/core';\nimport { AuthService } from './core/authentication/auth.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'sumep-portal';\n isAlive$ = this._auth.alive;\n\n constructor(public _auth: AuthService) {\n }\n\n get isAlive(): boolean {\n return localStorage.getItem('alive')?.valueOf() == 'oi' ? true : false\n }\n\n\n}\n","\n \n\n\n\n\n\n

Carregando...

\n\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MainNavComponent } from './shared/components/main-nav/main-nav.component';\nimport { MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { AuthenticateModule } from './pages/authenticate/authenticate.module';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MainHeaderComponent } from './shared/components/main-header/main-header.component';\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport { AuthInterceptor } from './core/interceptor/auth.interceptor';\nimport { MAT_SNACK_BAR_DATA, MAT_SNACK_BAR_DEFAULT_OPTIONS, MatSnackBarModule, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { RecaptchaModule } from 'ng-recaptcha';\n\n\n@NgModule({\n declarations: [\n AppComponent,\n MainNavComponent,\n MainHeaderComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n LayoutModule,\n MatToolbarModule,\n MatSidenavModule,\n MatIconModule,\n MatButtonModule,\n MatListModule,\n AuthenticateModule,\n MatDividerModule,\n HttpClientModule,\n MatSnackBarModule,\n NgxSpinnerModule\n ],\n providers: [\n {provide: MAT_DATE_LOCALE, useValue: 'pt-br'},\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n {provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: {duration: 2500}},\n { provide: MAT_SNACK_BAR_DATA, useValue: {} },\n \n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable, catchError, map, of, take } from 'rxjs';\nimport { LoginRequest } from '../models/LoginRequest';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { environment } from 'src/environments/environment';\nimport { SessionStorageService } from '../services/sessionStorage.service';\nimport { jwtDecode } from \"jwt-decode\";\nimport { NgxSpinnerService } from 'ngx-spinner';\n\nconst httpOptions = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json' })\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private islogin: BehaviorSubject = new BehaviorSubject(false);\n public alive: Observable = this.islogin.asObservable();\n private _decodedToken!: { [key: string]: string; };\n\n constructor(public _router: Router, private _http: HttpClient, private _snackBar: MatSnackBar,private _storageService: SessionStorageService, private _spinner: NgxSpinnerService)\n {\n this.loadDecodeToken();\n }\n\n private loadDecodeToken() {\n const token = this._storageService.getItem(\"secretSmp\")\n if (token) {\n this._decodedToken = jwtDecode(token);\n }\n }\n\n public isAuthenticated(role: string): boolean {\n this.islogin.next(true);\n \n if (!this._decodedToken) {\n this._router.navigate(['/Error/session-expired']);\n return false;\n }\n if (this.isTokenExpired()) {\n this.islogin.next(false);\n this._router.navigate(['/Error/session-expired']);\n return false\n }\n if (!this.hasRole(role)) {\n this._router.navigate(['/Error/NotAuthorized']);\n return false\n }\n\n this.islogin.next(true);\n return true;\n }\n\n public isTokenExpired(): boolean {\n const currentDate: Date = new Date();\n const timeExpired = Number(this._decodedToken['exp']); // Timestamp em segundos\n return currentDate > new Date(timeExpired * 1000) ? true : false;\n }\n\n get studentName() {\n const decodedToken: any = jwtDecode(this._storageService.getItem(\"secretSmp\"));\n const nameClaim: string[] = decodedToken['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'];\n \n return nameClaim[0];\n }\n\n get studentRA() {\n const decodedToken: any = jwtDecode(this._storageService.getItem(\"secretSmp\"));\n const nameClaim: string[] = decodedToken['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'];\n \n return nameClaim[1];\n }\n\n public hasRole(role: string): boolean {\n const decodedToken: any = jwtDecode(this._storageService.getItem(\"secretSmp\"));\n let rules = JSON.parse(decodedToken['http://schemas.microsoft.com/ws/2008/06/identity/claims/role']);\n return rules.some((x: string) => x === role)\n }\n\n login(authRequest: LoginRequest): Observable {\n this._spinner.show();\n return this._http.post(`${environment.apiUrl}/Authentication`, authRequest, {responseType: 'text'}).pipe(\n map(response => {\n this._storageService.setItem(\"secretSmp\", response)\n this.loadDecodeToken()\n this.islogin.next(true);\n this._router.navigate(['/Aluno/servicos']);\n this._spinner.hide();\n }),\n catchError((err) => {\n this.islogin.next(false);\n switch (err.error) {\n case \"auth_user_not_exist\":\n this.showMessage('Usuário não existe no sistema')\n break;\n case \"auth_user_password_is_incorrect\":\n this.showMessage(\"Senha incorreta!\")\n break;\n default:\n this.showMessage(\"Sistema interno\")\n break;\n }\n this._spinner.hide();\n\n return of(false);\n })\n )\n\n }\n\n logout() {\n this._spinner.show()\n setTimeout(() => {\n this.islogin.next(false);\n this._router.navigate(['/auth']);\n this._storageService.removeItem(\"secretSmp\")\n this._spinner.hide()\n }, 6000)\n }\n\n hideBar() {\n this.islogin.next(false);\n }\n\n public showMessage(message: string) {\n this._snackBar.open(message, 'Fechar', {\n duration: 5000,\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: 'mat-warn'\n });\n }\n\n}\n\n\n","export const Roles = {\n Admin: 'Admin',\n Student: 'Student'\n };","import { Inject, inject } from '@angular/core';\nimport { CanActivateFn } from '@angular/router';\nimport { AuthService } from '../authentication/auth.service';\n\nexport const authGuard: CanActivateFn = (route, state) => {\n const authenticationService = inject(AuthService)\n return authenticationService.isAuthenticated(route.data['role']);\n};\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\nimport { AuthService } from \"../authentication/auth.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, catchError, throwError } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n constructor(private authService: AuthService) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const authToken = null;\r\n\r\n // Clonar a requisição original e substituir o cabeçalho de autorização\r\n const authReq = req.clone({\r\n headers: req.headers.set('Authorization', `Bearer ${authToken}`)\r\n });\r\n\r\n // Enviar a requisição clonada com o cabeçalho de autorização\r\n return next.handle(req).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401) {\r\n // Redirecionar para a página de login\r\n //this.router.navigate(['/login']);\r\n } else if (error.status === 403) {\r\n // Exibir mensagem de acesso negado\r\n // Código para mostrar a mensagem\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionStorageService {\n\nconstructor() { }\n\n \npublic setItem(key: string, value: string) {\n sessionStorage.setItem(key, value)\n}\n\npublic getItem(key: string): string {\n return sessionStorage.getItem(key)!\n}\n\npublic removeItem(Key: string): void {\n return sessionStorage.removeItem(Key);\n}\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-authenticate',\n templateUrl: './authenticate.component.html',\n styleUrls: ['./authenticate.component.scss']\n})\nexport class AuthenticateComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

\n authenticate works!\n

\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthenticateComponent } from './authenticate.component';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { LoginComponent } from './login/login.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCardModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatButtonModule,\n FlexLayoutModule,\n MatDividerModule,\n ReactiveFormsModule,\n \n \n ],\n declarations: [AuthenticateComponent, LoginComponent]\n})\nexport class AuthenticateModule { }\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AuthService } from 'src/app/core/authentication/auth.service';\r\nimport { LoginRequest } from 'src/app/core/models/LoginRequest';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n hide = true;\r\n loginForm!: FormGroup;\r\n\r\n constructor(public _auth: AuthService, private _fb: FormBuilder, private spinner: NgxSpinnerService, public _router: Router) { }\r\n\r\n ngOnInit() {\r\n this.createForm(); \r\n }\r\n\r\n login() {\r\n if (this.loginForm.valid) {\r\n this._auth.login(this.loginRequest).subscribe();\r\n }\r\n /**/\r\n }\r\n\r\n createForm() {\r\n this.loginForm = this._fb.group({\r\n ra: new FormControl(\"\", {validators: [Validators.required], nonNullable: false}),\r\n password: new FormControl('', {validators: [Validators.required], nonNullable: true}),\r\n })\r\n }\r\n\r\n get loginRequest() {\r\n return this.loginForm.getRawValue() as LoginRequest\r\n }\r\n forgetPassword() {\r\n this._router.navigate(['/EsqueciSenha']);\r\n\r\n }\r\n}\r\n","\r\n \r\n
\r\n \r\n
\r\n \r\n Portal de certificados\r\n \r\n\r\n
\r\n \r\n \r\n RA\r\n \r\n \r\n \r\n Senha\r\n \r\n \r\n \r\n
\r\n Esqueceu a senha?\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/authentication/auth.service';\n\n@Component({\n selector: 'app-main-header',\n templateUrl: './main-header.component.html',\n styleUrls: ['./main-header.component.scss']\n})\nexport class MainHeaderComponent implements OnInit {\n\n studentName: string = this._auth.studentName;\n \n constructor(private _auth: AuthService) { }\n\n ngOnInit() {\n }\n\n logout() {\n this._auth.logout();\n }\n}\n","
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Olá, {{ studentName }}.

\r\n

Seja bem-vindo ao Portal do Aluno.

\r\n
\r\n
\r\n
\r\n","import { Component, inject } from '@angular/core';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { AuthService } from 'src/app/core/authentication/auth.service';\nimport { Roles } from 'src/app/core/constants/Roles';\n\n@Component({\n selector: 'app-main-nav',\n templateUrl: './main-nav.component.html',\n styleUrls: ['./main-nav.component.scss']\n})\nexport class MainNavComponent {\n private breakpointObserver = inject(BreakpointObserver);\n\n constructor(private _auth: AuthService) { }\n\n\n isHandset$: Observable = this.breakpointObserver.observe(Breakpoints.Handset)\n .pipe(\n map(result => result.matches),\n shareReplay()\n );\n\n get hasAdmin(): boolean {\n return this._auth.hasRole(Roles.Admin)\n }\n}\n","\n \n
\n Menu\n
\n close\n
\n
\n \n Serviços\n Administrador\n \n \n \n \n \n \n \n menu\n \n \n \n\n \n
\n\n\n\n","export const environment = {\r\n production: false,\r\n apiUrl: \"https://hnah3s4prs4gwo4ilwqcmiwguy0gzabb.lambda-url.sa-east-1.on.aws\",\r\n siteKey: \"6LcslDwqAAAAAMnaDio3qymmze7vLQjmZSShxhXu\"\r\n //apiUrl: 'https://sumep-dev-gwbgd2c0e5fkgscd.brazilsouth-01.azurewebsites.net'\r\n };","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["RouterModule","LoginComponent","authGuard","Roles","routes","path","component","loadChildren","then","m","ResetPasswordModule","CheckCertificateModule","HomeModule","canMatch","children","AdminModule","canActivate","data","role","Admin","ServiceOptionsModule","Student","ErrorModule","redirectTo","pathMatch","AppRoutingModule","_","_2","_3","forRoot","imports","i1","exports","i0","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","AppComponent","constructor","_auth","title","isAlive$","alive","isAlive","localStorage","getItem","valueOf","ɵɵdirectiveInject","AuthService","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵtemplate","AppComponent_app_main_nav_0_Template","AppComponent_footer_7_Template","ɵɵproperty","ɵɵpipeBind1","ɵɵadvance","BrowserModule","BrowserAnimationsModule","LayoutModule","MatButtonModule","MatIconModule","MatListModule","MatSidenavModule","MatToolbarModule","MainNavComponent","MAT_DATE_LOCALE","AuthenticateModule","MatDividerModule","MainHeaderComponent","HTTP_INTERCEPTORS","HttpClientModule","AuthInterceptor","MAT_SNACK_BAR_DATA","MAT_SNACK_BAR_DEFAULT_OPTIONS","MatSnackBarModule","NgxSpinnerModule","AppModule","bootstrap","provide","useValue","useClass","multi","duration","declarations","HttpHeaders","BehaviorSubject","catchError","map","of","environment","jwtDecode","httpOptions","headers","_router","_http","_snackBar","_storageService","_spinner","islogin","asObservable","loadDecodeToken","token","_decodedToken","isAuthenticated","next","navigate","isTokenExpired","hasRole","currentDate","Date","timeExpired","Number","studentName","decodedToken","nameClaim","studentRA","rules","JSON","parse","some","x","login","authRequest","show","post","apiUrl","responseType","pipe","response","setItem","hide","err","error","showMessage","logout","setTimeout","removeItem","hideBar","message","open","horizontalPosition","verticalPosition","panelClass","ɵɵinject","Router","i2","HttpClient","i3","MatSnackBar","i4","SessionStorageService","i5","NgxSpinnerService","factory","ɵfac","providedIn","inject","route","state","authenticationService","throwError","authService","intercept","req","authToken","authReq","clone","set","handle","status","key","value","sessionStorage","Key","AuthenticateComponent","ngOnInit","AuthenticateComponent_Template","CommonModule","MatCardModule","MatFormFieldModule","MatInputModule","FlexLayoutModule","ReactiveFormsModule","FormControl","Validators","_fb","spinner","createForm","loginForm","valid","loginRequest","subscribe","group","ra","validators","required","nonNullable","password","getRawValue","forgetPassword","FormBuilder","LoginComponent_Template","ɵɵlistener","LoginComponent_Template_button_click_17_listener","LoginComponent_Template_a_click_20_listener","MainHeaderComponent_Template","MainHeaderComponent_Template_button_click_4_listener","ɵɵtextInterpolate1","BreakpointObserver","Breakpoints","shareReplay","MainNavComponent_a_16_Template_a_click_0_listener","ɵɵrestoreView","_r5","ɵɵnextContext","_r0","ɵɵreference","ɵɵresetView","close","ɵɵpureFunction0","_c0","MainNavComponent_button_20_Template_button_click_0_listener","_r7","toggle","MainNavComponent_div_22_a_3_Template","_c1","ctx_r3","hasAdmin","breakpointObserver","isHandset$","observe","Handset","result","matches","ngContentSelectors","_c3","MainNavComponent_Template","MainNavComponent_Template_mat_icon_click_11_listener","_r9","MainNavComponent_Template_a_click_14_listener","MainNavComponent_a_16_Template","ɵɵprojection","MainNavComponent_button_20_Template","MainNavComponent_div_22_Template","ɵɵpureFunction1","_c2","ɵɵattribute","production","siteKey","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","console"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}