{"version":3,"mappings":"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","names":["e","webpackEmptyAsyncContext","module","routes","path","loadChildren","Promise","then","m","UrlModule","__webpack_require__","PoliticaModule","redirectTo","pathMatch","AppRoutingModule","_angular_router__WEBPACK_IMPORTED_MODULE_2__","relativeLinkResolution","_pages_url_url_module__WEBPACK_IMPORTED_MODULE_0__","imports","exports","AppComponent","selectors","decls","vars","consts","template","_angular_core__WEBPACK_IMPORTED_MODULE_0__","_angular_common_locales_pt__WEBPACK_IMPORTED_MODULE_3___default","AppModule","bootstrap","_app_component__WEBPACK_IMPORTED_MODULE_5__","_windowProviders__WEBPACK_IMPORTED_MODULE_2__","provide","_angular_common_http__WEBPACK_IMPORTED_MODULE_10__","useClass","_interceptors_jwt_interceptor__WEBPACK_IMPORTED_MODULE_0__","multi","_angular_core__WEBPACK_IMPORTED_MODULE_9__","useValue","_angular_material_core__WEBPACK_IMPORTED_MODULE_11__","_angular_material_paginator__WEBPACK_IMPORTED_MODULE_12__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_13__","_app_routing_module__WEBPACK_IMPORTED_MODULE_4__","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_14__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_15__","_components_confirmation_confirmation_module__WEBPACK_IMPORTED_MODULE_6__","_components_cancela_consulta_cancela_consulta_module__WEBPACK_IMPORTED_MODULE_7__","declarations","_angular_core__WEBPACK_IMPORTED_MODULE_2__","CancelaConsultaComponent","dialogRef","apiAgenda","snackBar","data","_angular_forms__WEBPACK_IMPORTED_MODULE_3__","motivoCancelamento","value","disabled","loadMotivosCancelamento","formData","markAllAsTouched","valid","console","log","close","present","getMotivosCancelamento","idConsulta","subscribe","res","motivosCancelamento","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_4__","ctx","CancelaConsultaModule","_angular_common__WEBPACK_IMPORTED_MODULE_2__","_angular_material_button__WEBPACK_IMPORTED_MODULE_3__","_angular_material_form_field__WEBPACK_IMPORTED_MODULE_4__","_angular_material_select__WEBPACK_IMPORTED_MODULE_5__","_angular_material_icon__WEBPACK_IMPORTED_MODULE_6__","_angular_forms__WEBPACK_IMPORTED_MODULE_7__","_angular_material_card__WEBPACK_IMPORTED_MODULE_8__","_cancela_consulta_component__WEBPACK_IMPORTED_MODULE_0__","ConfirmationComponent","confirm","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_1__","ConfirmationModule","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__","_angular_material_button__WEBPACK_IMPORTED_MODULE_4__","_confirmation_component__WEBPACK_IMPORTED_MODULE_0__","CustomPaginator","customPaginatorIntl","_angular_material_paginator__WEBPACK_IMPORTED_MODULE_0__","itemsPerPageLabel","nextPageLabel","previousPageLabel","getRangeLabel","page","pageSize","length","Math","max","startIndex","endIndex","min","JwtInterceptor","authApi","router","loaderService","apiurl","getApiBaseUrl","rxjs__WEBPACK_IMPORTED_MODULE_4__","req","i","requests","indexOf","splice","isLoading","next","request","isInBlockedList","url","handle","addPlatform","isRefreshToken","addRefreshToken","push","rxjs__WEBPACK_IMPORTED_MODULE_5__","observer","subscription","addToken","pipe","err","_angular_common_http__WEBPACK_IMPORTED_MODULE_8__","status","handle400Error","handle401Error","rxjs__WEBPACK_IMPORTED_MODULE_10__","handleTimeoutError","event","removeRequest","error","complete","unsubscribe","baseUrl","currentAccessToken","clone","headers","Platform","authorization","currentRefreshToken","Authorization","navigateByUrl","replaceUrl","isRefreshingToken","tokenSubject","refreshToken","accessToken","storeAccessToken","storeRefreshToken","clearAllRequests","sessionExpired","token","_","_angular_core__WEBPACK_IMPORTED_MODULE_17__","factory","component","_url_component__WEBPACK_IMPORTED_MODULE_0__","UrlRoutingModule","UrlComponent","route","apiAuth","apiBase","dialog","versaoApp","getVersionApp","params","parametros","login","unidade","paciente","dataNascimento","medico","especialidade","dataAgenda","mensagem","podeConfirmar","podeCancelar","credentials","usuario","senha","msg","description","conf","open","_components_confirmation_confirmation_component__WEBPACK_IMPORTED_MODULE_0__","height","hasBackdrop","title","message","afterClosed","dados","confirmaConsulta","limpaAtendimento","_components_cancela_consulta_cancela_consulta_component__WEBPACK_IMPORTED_MODULE_1__","width","result","cancelaConsulta","_angular_core__WEBPACK_IMPORTED_MODULE_6__","_angular_common__WEBPACK_IMPORTED_MODULE_3__","_url_routing_module__WEBPACK_IMPORTED_MODULE_0__","_angular_material_card__WEBPACK_IMPORTED_MODULE_4__","_angular_material_input__WEBPACK_IMPORTED_MODULE_5__","_angular_material_button__WEBPACK_IMPORTED_MODULE_6__","_angular_material_icon__WEBPACK_IMPORTED_MODULE_8__","_url_component__WEBPACK_IMPORTED_MODULE_1__","AgendaService","http","defineBaseUrl","body","post","get","providedIn","AuthenticationService","localStorage","activatedRoute","rxjs__WEBPACK_IMPORTED_MODULE_3__","loadToken","loadFcmToken","credenciais","set","isAuthenticated","remove","clearSession","snapshot","navigate","queryParams","returnto","fcmToken","currentFcmToken","_angular_core__WEBPACK_IMPORTED_MODULE_8__","DefineBaseUrlService","window","location","hostname","getHostname","_angular_core__WEBPACK_IMPORTED_MODULE_1__","src_app_windowProviders__WEBPACK_IMPORTED_MODULE_0__","LoaderService","rxjs__WEBPACK_IMPORTED_MODULE_0__","LocalStorageService","storage","key","setItem","getItem","removeItem","clear","SnackBarService","duration","isError","horizontalPosition","verticalPosition","WINDOW","windowProvider","useFactory","WINDOW_PROVIDERS","environment","production","_environments_environment__WEBPACK_IMPORTED_MODULE_1__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__","bootstrapModule","_app_app_module__WEBPACK_IMPORTED_MODULE_0__"],"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions:%20%7B%7D|namespace%20object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/components/cancela-consulta/cancela-consulta.component.html","webpack:///src/app/components/cancela-consulta/cancela-consulta.component.ts","webpack:///src/app/components/cancela-consulta/cancela-consulta.module.ts","webpack:///src/app/components/confirmation/confirmation.component.ts","webpack:///src/app/components/confirmation/confirmation.component.html","webpack:///src/app/components/confirmation/confirmation.module.ts","webpack:///src/app/customPaginatorConfiguration.ts","webpack:///src/app/interceptors/jwt.interceptor.ts","webpack:///src/app/pages/url/url-routing.module.ts","webpack:///src/app/pages/url/url.component.ts","webpack:///src/app/pages/url/url.component.html","webpack:///src/app/pages/url/url.module.ts","webpack:///src/app/services/api/agenda.service.ts","webpack:///src/app/services/api/authentication.service.ts","webpack:///src/app/services/api/define-base-url.service.ts","webpack:///src/app/services/loader.service.ts","webpack:///src/app/services/local-storage.service.ts","webpack:///src/app/services/snack-bar.service.ts","webpack:///src/app/windowProviders.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 8255;\nmodule.exports = webpackEmptyAsyncContext;","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { UrlModule } from './pages/url/url.module';\r\nimport { PoliticaModule } from './pages/politica/politica.module';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'url/:id',\r\n loadChildren: () => import('./pages/url/url.module').then((m) => m.UrlModule),\r\n },\r\n {\r\n path: 'politica',\r\n loadChildren: () => import('./pages/politica/politica.module').then((m) => m.PoliticaModule),\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/url',\r\n pathMatch: 'full',\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' }), UrlModule],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n\r\n}\r\n","
\r\n \r\n
\r\n","import { JwtInterceptor } from './interceptors/jwt.interceptor';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { CustomPaginator } from './customPaginatorConfiguration';\r\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { WINDOW_PROVIDERS } from './windowProviders';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport ptBr from '@angular/common/locales/pt';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { ConfirmationModule } from './components/confirmation/confirmation.module';\r\nimport { CancelaConsultaModule } from './components/cancela-consulta/cancela-consulta.module';\r\n\r\nregisterLocaleData(ptBr)\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n MatSnackBarModule,\r\n ConfirmationModule,\r\n CancelaConsultaModule\r\n ],\r\n providers: [\r\n WINDOW_PROVIDERS,\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: LOCALE_ID, useValue: 'pt' },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: MatPaginatorIntl, useValue: CustomPaginator() }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","
\n \n\n

Cancelar a Consulta

\n\n \n Motivo do Cancelamento\n \n {{ i.C_DESC_MOTIVO }}\n \n \n \n\n

Confirma o cancelamento da consulta?

\n\n \n \n \n \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SnackBarService } from 'src/app/services/snack-bar.service';\n\nimport { IMotivosCancelamento } from './../../interfaces/motivos.interface';\nimport { AgendaService } from '../../services/api/agenda.service';\n\nexport interface DialogDataCancelaConsulta {\n idConsulta: string;\n motivoCancelamento: string;\n}\n\n@Component({\n selector: 'app-cancela-consulta',\n templateUrl: './cancela-consulta.component.html',\n styleUrls: ['./cancela-consulta.component.css']\n})\nexport class CancelaConsultaComponent implements OnInit {\n\n formData = new FormGroup({\n motivoCancelamento: new FormControl(\n {\n value: '',\n disabled: false\n },\n Validators.required\n ),\n });\n\n motivosCancelamento: IMotivosCancelamento[];\n\n constructor(\n private dialogRef: MatDialogRef,\n private apiAgenda: AgendaService,\n private snackBar: SnackBarService,\n @Inject(MAT_DIALOG_DATA) public data: DialogDataCancelaConsulta\n ) { }\n\n ngOnInit(): void {\n this.loadMotivosCancelamento();\n }\n\n confirma() {\n this.formData.markAllAsTouched();\n if (this.formData.valid) {\n console.log('motivoCancelamento ' + this.formData.value.motivoCancelamento)\n this.dialogRef.close({\n data: {\n motivoCancelamento: this.formData.value.motivoCancelamento,\n },\n }\n );\n }\n else {\n this.snackBar.present('Informe o motivo do cancelamento!');\n }\n }\n\n cancela() {\n this.dialogRef.close(false);\n }\n\n loadMotivosCancelamento() {\n this.apiAgenda.getMotivosCancelamento(this.data.idConsulta).subscribe((res) => {\n this.motivosCancelamento = res;\n });\n }\n\n}\n","import { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatCardModule } from '@angular/material/card';\n\n\nimport { CancelaConsultaComponent } from './cancela-consulta.component';\n\n@NgModule({\n declarations: [\n CancelaConsultaComponent\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatSelectModule,\n MatIconModule,\n FormsModule,\n ReactiveFormsModule,\n MatCardModule\n ]\n})\nexport class CancelaConsultaModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nexport interface DialogData {\r\n title: string;\r\n message: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-confirmation',\r\n templateUrl: './confirmation.component.html',\r\n styleUrls: ['./confirmation.component.css'],\r\n})\r\nexport class ConfirmationComponent implements OnInit {\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n close(confirm: boolean) {\r\n this.dialogRef.close({ confirm });\r\n }\r\n}\r\n","

{{data.title}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ConfirmationComponent } from './confirmation.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ConfirmationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n ]\r\n})\r\nexport class ConfirmationModule { }\r\n","import { MatPaginatorIntl } from \"@angular/material/paginator\";\r\n\r\nexport function CustomPaginator() {\r\n const customPaginatorIntl = new MatPaginatorIntl();\r\n \r\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\r\n customPaginatorIntl.nextPageLabel = 'Próxima';\r\n customPaginatorIntl.previousPageLabel = 'Anterior'\r\n customPaginatorIntl.getRangeLabel = (page: number, pageSize: number, length: number) => {\r\n if (length === 0 || pageSize === 0) {\r\n return `0 à ${length }`;\r\n }\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n\r\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\r\n return `${startIndex + 1} - ${endIndex} até ${length}`;\r\n };\r\n\r\n return customPaginatorIntl;\r\n}\r\n","import { AuthenticationService } from './../services/api/authentication.service';\r\nimport { LoaderService } from './../services/loader.service';\r\nimport { SnackBarService } from './../services/snack-bar.service';\r\nimport {\r\n Observable,\r\n throwError,\r\n BehaviorSubject,\r\n of,\r\n TimeoutError,\r\n} from 'rxjs';\r\nimport {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpHeaders,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n catchError,\r\n filter,\r\n take,\r\n switchMap,\r\n finalize,\r\n timeout,\r\n tap,\r\n} from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IAutenticacao } from '../interfaces/autenticacao.interface';\r\nimport { DefineBaseUrlService } from '../services/api/define-base-url.service';\r\n\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n private baseUrl = this.apiurl.getApiBaseUrl()\r\n tokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n isRefreshingToken = false;\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor(\r\n private authApi: AuthenticationService,\r\n private router: Router,\r\n private snackBar: SnackBarService,\r\n private loaderService: LoaderService,\r\n private apiurl: DefineBaseUrlService\r\n ) { }\r\n\r\n removeRequest(req: HttpRequest) {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n clearAllRequests() {\r\n this.requests = [];\r\n this.loaderService.isLoading.next(false);\r\n }\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (this.isInBlockedList(request.url)) {\r\n return next.handle(this.addPlatform(request));\r\n } else if (this.isRefreshToken(request.url)) {\r\n return next.handle(this.addRefreshToken(request));\r\n } else {\r\n this.requests.push(request);\r\n this.loaderService.isLoading.next(true);\r\n return new Observable((observer) => {\r\n const subscription = next\r\n .handle(this.addToken(request))\r\n .pipe(\r\n timeout(30000),\r\n catchError((err) => {\r\n if (err instanceof HttpErrorResponse) {\r\n switch (err.status) {\r\n case 400:\r\n this.handle400Error(err);\r\n return throwError(err);\r\n case 401:\r\n return this.handle401Error(request, next);\r\n default:\r\n return throwError(err);\r\n }\r\n } else if (err instanceof TimeoutError) {\r\n return this.handleTimeoutError(err);\r\n } else {\r\n return throwError(err);\r\n }\r\n })\r\n )\r\n .subscribe(\r\n (event) => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(request);\r\n observer.next(event);\r\n }\r\n },\r\n (err) => {\r\n this.removeRequest(request);\r\n observer.error(err);\r\n },\r\n () => {\r\n this.removeRequest(request);\r\n observer.complete();\r\n }\r\n );\r\n return () => {\r\n this.removeRequest(request);\r\n subscription.unsubscribe();\r\n };\r\n });\r\n }\r\n }\r\n\r\n private isInBlockedList(url: string): boolean {\r\n if (url == `${this.baseUrl}/controleacesso/loginConfirmaAgenda`) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private isRefreshToken(url: string): boolean {\r\n if (url === `${this.baseUrl}/controleacesso/refreshToken`) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private addToken(req: HttpRequest) {\r\n if (this.authApi.currentAccessToken) {\r\n return req.clone({\r\n headers: new HttpHeaders({\r\n Platform: 'WebApp',\r\n authorization: `Bearer ${this.authApi.currentAccessToken}`,\r\n }),\r\n });\r\n } else {\r\n return req;\r\n }\r\n }\r\n\r\n private addRefreshToken(req: HttpRequest) {\r\n if (this.authApi.currentRefreshToken) {\r\n return req.clone({\r\n headers: new HttpHeaders({\r\n Platform: 'WebApp',\r\n Authorization: `Bearer ${this.authApi.currentRefreshToken}`,\r\n }),\r\n });\r\n } else {\r\n return req;\r\n }\r\n }\r\n\r\n private addPlatform(req: HttpRequest) {\r\n return req.clone({\r\n headers: new HttpHeaders({\r\n Platform: 'WebApp',\r\n }),\r\n });\r\n }\r\n\r\n private async handleTimeoutError(err) {\r\n this.snackBar.present('Timeout na comunicação com o servidor', 5000);\r\n this.router.navigateByUrl('/', { replaceUrl: true });\r\n return of(null);\r\n }\r\n\r\n private async handle400Error(err) {\r\n if (err.error.error) {\r\n this.snackBar.present(err.error.error, 5000, true);\r\n }\r\n else if (err.error) {\r\n this.snackBar.present(err.error, 5000, true);\r\n }\r\n else {\r\n this.snackBar.present('Falha no processamento', 5000, true);\r\n }\r\n }\r\n\r\n private handle401Error(req: HttpRequest, next: HttpHandler) {\r\n if (!this.isRefreshingToken) {\r\n this.tokenSubject.next(null);\r\n this.isRefreshingToken = true;\r\n this.authApi.currentAccessToken = null;\r\n return this.authApi.refreshToken().pipe(\r\n switchMap((res: IAutenticacao) => {\r\n if (res) {\r\n const accessToken = res.accessToken;\r\n const refreshToken = res.refreshToken;\r\n this.authApi.storeAccessToken(accessToken);\r\n this.authApi.storeRefreshToken(refreshToken);\r\n this.tokenSubject.next(accessToken);\r\n return next.handle(this.addToken(req));\r\n } else {\r\n return of(null);\r\n }\r\n }),\r\n finalize(() => {\r\n this.isRefreshingToken = false;\r\n }),\r\n catchError(() => {\r\n this.clearAllRequests();\r\n this.authApi.sessionExpired();\r\n return of(null);\r\n })\r\n );\r\n } else {\r\n return this.tokenSubject.pipe(\r\n filter((token) => token !== null),\r\n take(1),\r\n switchMap((_) => next.handle(this.addToken(req)))\r\n );\r\n }\r\n }\r\n}\r\n","import { UrlComponent } from './url.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nconst routes: Routes = [{ path: '', component: UrlComponent }];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class UrlRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { ICredencias } from './../../interfaces/credenciais.interface';\r\nimport { IAgendaConfirma, IAgendaCancela } from './../../interfaces/agenda.interface';\r\nimport { AuthenticationService } from '../../services/api/authentication.service';\r\nimport { AgendaService } from '../../services/api/agenda.service';\r\nimport { SnackBarService } from '../../services/snack-bar.service';\r\nimport { ConfirmationComponent } from './../../components/confirmation/confirmation.component';\r\nimport { CancelaConsultaComponent } from './../../components/cancela-consulta/cancela-consulta.component';\r\nimport { DefineBaseUrlService } from './../../services/api/define-base-url.service';\r\n\r\n@Component({\r\n selector: 'app-url',\r\n templateUrl: './url.component.html',\r\n styleUrls: ['./url.component.css'],\r\n})\r\n\r\nexport class UrlComponent implements OnInit {\r\n versaoApp: string;\r\n idConsulta: string = '';\r\n unidade: string = '';\r\n paciente: string = '';\r\n dataNascimento: string = '';\r\n medico: string = '';\r\n especialidade: string = '';\r\n dataAgenda: string = '';\r\n mensagem: string = '';\r\n podeConfirmar: boolean = false\r\n podeCancelar: boolean = false\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private apiAuth: AuthenticationService,\r\n private apiBase: DefineBaseUrlService,\r\n private apiAgenda: AgendaService,\r\n private snackBar: SnackBarService,\r\n private dialog: MatDialog,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.versaoApp = this.apiBase.getVersionApp();\r\n\r\n this.route.params.subscribe(parametros => {\r\n if (parametros['id']) {\r\n this.idConsulta = parametros['id'];\r\n }\r\n\r\n this.login();\r\n });\r\n }\r\n\r\n limpaAtendimento() {\r\n this.unidade = '';\r\n this.paciente = '';\r\n this.dataNascimento = '';\r\n this.medico = '';\r\n this.especialidade = '';\r\n this.dataAgenda = '';\r\n this.mensagem = '';\r\n this.podeConfirmar = false;\r\n this.podeCancelar = false;\r\n }\r\n\r\n login() {\r\n const credentials: ICredencias = {\r\n usuario: '',\r\n senha: '',\r\n idConsulta: this.idConsulta,\r\n versaoApp: ''\r\n };\r\n\r\n this.apiAuth.login(credentials).subscribe(\r\n () => {\r\n this.unidade = this.apiAuth.unidade;\r\n this.paciente = this.apiAuth.paciente;\r\n this.dataNascimento = this.apiAuth.dataNascimento;\r\n this.medico = this.apiAuth.medico;\r\n this.especialidade = this.apiAuth.especialidade;\r\n this.dataAgenda = this.apiAuth.dataAgenda;\r\n this.mensagem = this.apiAuth.mensagem;\r\n this.podeConfirmar = this.apiAuth.podeConfirmar;\r\n this.podeCancelar = this.apiAuth.podeCancelar;\r\n },\r\n (res) => {\r\n\r\n if (res.error.error) {\r\n let msg = res.error.error + ' ';\r\n\r\n if (res.error.description) { msg = msg + res.error.description }\r\n\r\n this.mensagem = msg\r\n this.snackBar.present(msg);\r\n\r\n } else {\r\n this.snackBar.present('Falha ao efetuar o login');\r\n }\r\n }\r\n );\r\n }\r\n\r\n confirmaAtendimento() {\r\n const conf = this.dialog.open(ConfirmationComponent, {\r\n height: '200px',\r\n hasBackdrop: false,\r\n data: {\r\n title: 'Confirmar Consulta:',\r\n message: 'Confirma o atendimento no dia e horário informado?',\r\n },\r\n });\r\n conf.afterClosed().subscribe((data) => {\r\n if (data && data.confirm) {\r\n const dados: IAgendaConfirma = {\r\n idConsulta: this.idConsulta,\r\n unidade: '',\r\n paciente: '',\r\n dataNascimento: '',\r\n medico: '',\r\n especialidade: '',\r\n dataAgenda: '',\r\n mensagem: '',\r\n podeConfirmar: '',\r\n podeCancelar: ''\r\n };\r\n this.apiAgenda.confirmaConsulta(dados).subscribe((_) => {\r\n this.limpaAtendimento();\r\n this.snackBar.present('Atendimento Confimado');\r\n });\r\n }\r\n });\r\n }\r\n\r\n cancelaAtendimento() {\r\n const conf = this.dialog.open(CancelaConsultaComponent, {\r\n height: '400px',\r\n width: '320px',\r\n data: {\r\n idConsulta: this.idConsulta,\r\n motivoCancelamento: ''\r\n },\r\n hasBackdrop: false,\r\n });\r\n conf.afterClosed().subscribe((result) => {\r\n if (result && result.data) {\r\n const dados: IAgendaCancela = {\r\n idConsulta: this.idConsulta,\r\n motivoCancelamento: result.data.motivoCancelamento\r\n };\r\n this.apiAgenda.cancelaConsulta(dados).subscribe(() => {\r\n this.mensagem = this.apiAuth.mensagem;\r\n this.snackBar.present('Atendimento Cancelado');\r\n this.limpaAtendimento();\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n

\r\n
\r\n\r\n Unidade {{unidade}}\r\n\r\n \r\n
\r\n

Paciente / Data Nascimento:

\r\n
\r\n\r\n
\r\n

{{paciente + ' / ' + dataNascimento}}

\r\n
\r\n\r\n
\r\n

Profissional:

\r\n
\r\n\r\n
\r\n

{{medico}}

\r\n
\r\n\r\n
\r\n

Especialidade:

\r\n
\r\n\r\n
\r\n

{{especialidade}}

\r\n
\r\n\r\n
\r\n

Data Hora Agendada:

\r\n
\r\n\r\n
\r\n

{{dataAgenda}}

\r\n
\r\n
\r\n\r\n
\r\n

{{mensagem}}

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n

Sollid Solutions CopyRight© 2023 - Versão {{ versaoApp }}

\r\n
\r\n\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { UrlRoutingModule } from './url-routing.module';\r\nimport { UrlComponent } from './url.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n declarations: [UrlComponent],\r\n imports: [\r\n CommonModule,\r\n UrlRoutingModule,\r\n MatCardModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n FormsModule,\r\n MatIconModule,\r\n ]\r\n})\r\nexport class UrlModule { }\r\n","import { IAgendaConfirma, IAgendaCancela } from './../../interfaces/agenda.interface';\r\nimport { IMotivosCancelamento } from './../../interfaces/motivos.interface';\r\nimport { DefineBaseUrlService } from './define-base-url.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AgendaService {\r\n private baseUrl = this.defineBaseUrl.getApiBaseUrl();\r\n constructor(\r\n private http: HttpClient,\r\n private defineBaseUrl: DefineBaseUrlService\r\n ) {\r\n\r\n }\r\n\r\n confirmaConsulta(body: IAgendaConfirma): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}/whatsapp/confirmaConsulta`, body)\r\n .pipe(map((res) => res));\r\n }\r\n\r\n cancelaConsulta(body: IAgendaCancela): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}/whatsapp/cancelaConsulta`, body)\r\n .pipe(map((res) => res));\r\n }\r\n\r\n //motivos cancelamento\r\n // getMotivosCancelamento2(idConulta: string): Observable {\r\n // return this.http\r\n // .get(`${this.baseUrl}/whatsapp/motivosCancelamento`)\r\n // .pipe(map((res) => res));\r\n // }\r\n\r\n getMotivosCancelamento(idConsulta: string): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}/whatsapp/motivosCancelamento`, {\r\n params: { idConsulta },\r\n })\r\n .pipe(map((res) => res));\r\n }\r\n\r\n\r\n}\r\n","import { DefineBaseUrlService } from './define-base-url.service';\r\nimport { SnackBarService } from '../snack-bar.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LocalStorageService } from './../local-storage.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { map, switchMap, tap } from 'rxjs/operators';\r\n\r\nimport { ICredencias } from './../../interfaces/credenciais.interface';\r\nimport { IAutenticacao } from './../../interfaces/autenticacao.interface';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthenticationService {\r\n private baseUrl = this.defineBaseUrl.getApiBaseUrl();\r\n public isAuthenticated: BehaviorSubject = new BehaviorSubject(false);\r\n public currentAccessToken = null;\r\n public currentRefreshToken = null;\r\n public currentFcmToken = null;\r\n\r\n public unidade: string = '';\r\n public paciente: string = '';\r\n public dataNascimento: string = '';\r\n public medico: string = '';\r\n public especialidade: string = '';\r\n public dataAgenda: string = '';\r\n public mensagem: string = '';\r\n public podeConfirmar: boolean = false;\r\n public podeCancelar: boolean = false;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private localStorage: LocalStorageService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private snackBar: SnackBarService,\r\n private defineBaseUrl: DefineBaseUrlService\r\n ) {\r\n this.loadToken();\r\n this.loadFcmToken();\r\n }\r\n\r\n login(credenciais: ICredencias): Observable {\r\n credenciais.usuario = 'sollid.solutions'\r\n credenciais.senha = 'P@ssw0rd'\r\n credenciais.versaoApp = this.defineBaseUrl.getVersionApp();\r\n\r\n return this.http\r\n .post(`${this.baseUrl}/controleacesso/loginConfirmaAgenda`, credenciais)\r\n .pipe(\r\n map((res) => res),\r\n switchMap((res) => {\r\n this.currentAccessToken = res.accessToken;\r\n this.currentRefreshToken = res.refreshToken;\r\n this.localStorage.set('USER', credenciais.usuario);\r\n this.localStorage.set('ACCESS_TOKEN', res.accessToken);\r\n this.localStorage.set('REFRESH_TOKEN', res.refreshToken);\r\n this.isAuthenticated.next(true);\r\n\r\n this.unidade = res.unidade;\r\n this.paciente = res.paciente;\r\n this.dataNascimento = res.dataNascimento;\r\n this.medico = res.medico;\r\n this.especialidade = res.especialidade;\r\n this.dataAgenda = res.dataAgenda;\r\n this.mensagem = res.mensagem;\r\n this.podeConfirmar = (res.podeConfirmar == 'S');\r\n this.podeCancelar = (res.podeCancelar == 'S');\r\n\r\n return of(null);\r\n }),\r\n tap((_) => {\r\n this.isAuthenticated.next(true);\r\n })\r\n );\r\n }\r\n\r\n clearSession() {\r\n this.localStorage.remove('ACCESS_TOKEN');\r\n this.localStorage.remove('REFRESH_TOKEN');\r\n this.localStorage.remove('USER_NAME');\r\n this.localStorage.remove('USER_PERFIL');\r\n this.localStorage.remove('UNIDADE');\r\n }\r\n\r\n sessionExpired() {\r\n this.currentAccessToken = null;\r\n this.currentRefreshToken = null;\r\n this.isAuthenticated.next(false);\r\n this.clearSession();\r\n this.snackBar.present('Sessão expirada');\r\n const url = this.activatedRoute.snapshot['_routerState'].url;\r\n if (url !== '/home' && url !== '/url') {\r\n this.router.navigate(['/url'], { queryParams: { returnto: url } });\r\n }\r\n else {\r\n this.router.navigateByUrl('/url', { replaceUrl: true });\r\n }\r\n }\r\n\r\n public storeAccessToken(accessToken: string) {\r\n this.currentAccessToken = accessToken;\r\n this.localStorage.set('ACCESS_TOKEN', accessToken);\r\n }\r\n\r\n public storeRefreshToken(refreshToken: string) {\r\n this.localStorage.set('REFRESH_TOKEN', refreshToken);\r\n }\r\n\r\n loadToken() {\r\n const token = this.localStorage.get('ACCESS_TOKEN');\r\n const refreshToken = this.localStorage.get('REFRESH_TOKEN');\r\n if (token) {\r\n this.currentAccessToken = token;\r\n this.currentRefreshToken = refreshToken;\r\n this.isAuthenticated.next(true);\r\n } else {\r\n this.isAuthenticated.next(false);\r\n }\r\n }\r\n\r\n loadFcmToken() {\r\n const fcmToken = this.localStorage.get('fcm-token');\r\n if (fcmToken) {\r\n this.currentFcmToken = fcmToken;\r\n }\r\n }\r\n\r\n refreshToken(): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}/autenticacao/refreshToken`, {})\r\n .pipe(map((res) => res));\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { WINDOW } from 'src/app/windowProviders';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DefineBaseUrlService {\r\n\r\n constructor(@Inject(WINDOW) private window: Window) { }\r\n\r\n private getHostname(): string {\r\n return this.window.location.hostname;\r\n }\r\n\r\n getVersionApp(): string {\r\n return '1.0.2';\r\n }\r\n\r\n getApiBaseUrl(): string {\r\n const hostname = this.getHostname();\r\n //local\r\n if (hostname == 'localhost') {\r\n return 'http://localhost:9000/api'\r\n }\r\n //ambiente produção \r\n else if (hostname == 'agenda.oncominas.med.br') {\r\n return 'https://app.oncominas.med.br:9000/api';\r\n }\r\n else {\r\n return 'https://app.oncominas.med.br:9000/api';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n isLoading = new BehaviorSubject(false);\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalStorageService {\r\n private storage: Storage;\r\n constructor(\r\n ) {\r\n this.storage = window.localStorage;\r\n }\r\n\r\n set(key: string, value: string){\r\n this.storage.setItem(key, value);\r\n }\r\n\r\n get(key: string) {\r\n return this.storage.getItem(key);\r\n }\r\n\r\n remove(key: string): boolean {\r\n if (this.storage) {\r\n this.storage.removeItem(key);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n clear(): boolean {\r\n if (this.storage) {\r\n this.storage.clear();\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SnackBarService {\r\n\r\n constructor(private snackBar: MatSnackBar, private router: Router) {}\r\n\r\n present(message: string, duration?: number, isError?: boolean) {\r\n this.snackBar.open(message, 'Fechar', {\r\n duration: duration ? duration : 3000,\r\n horizontalPosition: 'center',\r\n verticalPosition: 'bottom',\r\n });\r\n }\r\n}\r\n","import { InjectionToken, FactoryProvider } from '@angular/core';\r\n\r\nexport const WINDOW = new InjectionToken('window');\r\n\r\nconst windowProvider: FactoryProvider = {\r\n provide: WINDOW,\r\n useFactory: () => window\r\n};\r\n\r\nexport const WINDOW_PROVIDERS = [\r\n windowProvider\r\n]","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n //baseUrl: 'http://itechomedemo.ddns.net:9001/api',\r\n //baseUrl: 'http://localhost:9001/api',\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"]}