{"version":3,"file":"src_app_multi-factor-auth_multi-factor-auth_module_ts.js","mappings":"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","names":["i0","MultiFactorAuthPage","constructor","toastController","backendService","loadingController","storage","helperService","formBuilder","router","this","label","embedurl","url","ngOnInit","multiFactorForm","group","verificationCode","Validators","generateQR","getStorage","then","res","GetAPICall","token","subscribe","data","qrCode","onSubmit","invalid","payload","secret","code","value","user_id","userId","PostAPICall","presentToast","message","navigate","error","detail","_this","get","cancel","checkLength2","e","input","indexOf","key","keyValue","isNaN","preventDefault","newValue","selectionStart","selectionEnd","replaceSelection","toString","length","inputValue","start","end","substring","_MultiFactorAuthPage","core","selectors","ctx","routes","path","component","title","MultiFactorAuthPageRoutingModule","_MultiFactorAuthPageRoutingModule","RouterModule","MultiFactorAuthPageModule","_MultiFactorAuthPageModule","CommonModule","FormsModule","IonicModule","SharedModule","MatDatepickerModule","MatInputModule","MatNativeDateModule","MatFormFieldModule","MatMomentDateModule"],"sourceRoot":"webpack:///","sources":["./src/app/multi-factor-auth/multi-factor-auth.page.html","./src/app/multi-factor-auth/multi-factor-auth.page.ts","./src/app/multi-factor-auth/multi-factor-auth-routing.module.ts","./src/app/multi-factor-auth/multi-factor-auth.module.ts"],"sourcesContent":["\n
\n
\n \n
\n
\n\n \n \n Enable Multi-Factor Authentication\n \n \n \n Register your mobile device to enable multi-factor authentication:\n \n 1. Install Google/Oracle/Cisco Mobile Authenticator or a similar\n authenticator app on your mobile device\n 2. Open the app and add a new account. Scan the QR Code when\n prompted\n

\n \n

\n 3. Enter the code displayed by the app:\n\n
\n
\n

Verification code

\n
\n\n \n \n \n
\n \n
\n
\n
\n\n
\n
\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Validators, UntypedFormGroup, FormBuilder } from '@angular/forms';\nimport { ToastController, LoadingController } from '@ionic/angular';\nimport { Storage } from '@ionic/storage';\nimport { BackendService } from 'src/app/core/services/backend-prod.service';\nimport { HelperService } from 'src/app/core/services/helper.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-multi-factor-auth',\n templateUrl: './multi-factor-auth.page.html',\n styleUrls: ['./multi-factor-auth.page.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MultiFactorAuthPage implements OnInit {\n\n constructor(\n public toastController: ToastController,\n private backendService: BackendService,\n public loadingController: LoadingController,\n public storage: Storage,\n public helperService: HelperService,\n private formBuilder: FormBuilder,\n private router: Router\n ) { }\n breadcrumbList = [\n {\n label: 'Multi-Factor Authentication',\n embedurl: true,\n url: '/baseapp/multi-factor-auth'\n }\n ];\n multiFactorForm: UntypedFormGroup;\n ngOnInit(): void {\n\n this.multiFactorForm = this.formBuilder.group({\n verificationCode: ['', [Validators.required, Validators.minLength(6), Validators.maxLength(6)]]\n })\n this.generateQR();\n }\n qrCode: any = {};\n generateQR() {\n this.getStorage().then((res) => {\n this.backendService.GetAPICall(\"generateQR\", res.token).subscribe(\n (data) => {\n this.qrCode = data;\n //console.log(data);\n })\n })\n }\n onSubmit() {\n if (this.multiFactorForm.invalid) {\n return;\n }\n this.getStorage().then((res) => {\n let payload = {\n \"secret\": this.qrCode.secret,\n \"code\": this.multiFactorForm.value.verificationCode,\n \"user_id\": res.userId\n };\n this.backendService.PostAPICall(\"storeQR\", payload, res.token).subscribe(\n (data) => {\n // this.qrCode = data;\n this.helperService.presentToast(data.message, 2000);\n this.router.navigate(['baseapp/profile']);\n //console.log(data);\n },(error)=>{\n this.helperService.presentToast(error.error.detail, 2000);\n })\n //console.log(\"inside submit\");\n })\n\n }\n async getStorage() {\n let data = {\n token: await this.storage.get(\"token\"),\n userId: await this.storage.get(\"id\")\n }\n return data;\n }\n\n cancel() {\n this.router.navigate(['baseapp/profile'])\n }\n checkLength2(e, input) {\n const functionalKeys = ['Backspace', 'ArrowRight', 'ArrowLeft'];\n if (functionalKeys.indexOf(e.key) !== -1) {\n return;\n }\n const keyValue = +e.key;\n if (isNaN(keyValue)) {\n e.preventDefault();\n return;\n }\n const hasSelection = input.selectionStart !== input.selectionEnd && input.selectionStart !== null;\n let newValue;\n if (hasSelection) {\n newValue = this.replaceSelection(input, e.key)\n } else {\n newValue = input.value + keyValue.toString();\n }\n if (newValue.length > 6) {\n e.preventDefault();\n }\n }\n private replaceSelection(input, key) {\n const inputValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd || input.selectionStart;\n return inputValue.substring(0, start) + key + inputValue.substring(end + 1);\n }\n}\n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { MultiFactorAuthPage } from './multi-factor-auth.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: MultiFactorAuthPage,\n data : {\n title: \"Multi Factor Authentication\"\n }\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class MultiFactorAuthPageRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { IonicModule } from '@ionic/angular';\n\nimport { MultiFactorAuthPageRoutingModule } from './multi-factor-auth-routing.module';\n\nimport { MultiFactorAuthPage } from './multi-factor-auth.page';\nimport { SharedModule } from '../shared/shared.module';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\n// import moment from 'moment-timezone';\n// import { Moment } from 'moment'; \n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n SharedModule,\n MultiFactorAuthPageRoutingModule,\n MatDatepickerModule,\n MatInputModule,\n MatNativeDateModule,\n MatFormFieldModule,\n MatMomentDateModule,\n // Moment\n ],\n declarations: [MultiFactorAuthPage]\n})\nexport class MultiFactorAuthPageModule {}\n"],"x_google_ignoreList":[]}