{"version":3,"file":"2498.8673bca9f51f315e.js","sources":["./src/app/pages/login-page/login-page.component.html","./src/app/pages/login-page/login-page-routing.module.ts","./src/app/pages/login-page/login-page.component.ts","./src/app/pages/login-page/login-page.module.ts"],"sourceRoot":"webpack:///","sourcesContent":["\n \n \n \n \n \n \n \n \n \n Login to your Control Plane\n \n \n EMAIL ADDRESS *\n \n \n \n \n Email is required\n Please enter a valid email address.\n \n \n \n \n PASSWORD *\n \n \n \n \n \n Password is required\n \n \n \n \n Remember Me\n\n Forgot Password?\n \n \n \n \n {{ errorMsg }}\n \n\n \n \n \n \n Login\n \n \n \n \n \n OR\n \n \n \n \n {{ loginMethod.loginButtonText }}\n \n \n \n \n \n \n \n \n \n \n \n Welcome to Facets.cloud\n \n \n The Internal Developer Platform for your teams. Facets.cloud\n enables hassle-free management of scalable, secure and compliant\n environments.\n \n \n\n \n \n \n\n \n \n Powered by\n \n \n \n \n \n \n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginPageComponent } from './login-page.component';\n\n/* App Imports */\n\nconst routes: Routes = [\n {\n path: '',\n component: LoginPageComponent,\n pathMatch: 'full',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class LoginPageRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { PublicApIsService } from '../../cc-api/services/public-ap-is.service';\nimport { CustomOAuth2ClientRegistration } from '../../cc-api/models/custom-oauth-2client-registration';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ApplicationControllerService } from 'src/app/cc-api/services';\nimport { SimpleOauth2User } from '../../cc-api/models/simple-oauth-2user';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n NgForm,\n Validators,\n} from '@angular/forms';\nimport { whiteSpaceInputPattern } from 'src/app/constants/inputPatterns';\nimport { RedirectOnLoginService } from 'src/app/services/redirect-on-login.service';\nimport { triggerAnalyticsEvent } from 'src/app/utils/analytics/trigger-analytics';\n\n@Component({\n selector: 'app-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.scss'],\n})\nexport class LoginPageComponent implements OnInit {\n errorMsg: string = '';\n logo: any;\n loginOptions: Array;\n isCustomIntegrationPresent: boolean = false;\n loginInProgress: boolean = false;\n show: boolean = false;\n redirectURL: string = '';\n loginForm: UntypedFormGroup = new UntypedFormGroup({\n username: new UntypedFormControl('', [\n Validators.required,\n Validators.email,\n Validators.pattern(whiteSpaceInputPattern),\n ]),\n password: new UntypedFormControl('', [Validators.required]),\n rememberMe: new UntypedFormControl(false),\n });\n\n constructor(\n private http: HttpClient,\n private publicApIsService: PublicApIsService,\n private applicationControllerService: ApplicationControllerService,\n private route: ActivatedRoute,\n private router: Router,\n private readonly fb: UntypedFormBuilder,\n private redirectOnLoginService: RedirectOnLoginService,\n ) {}\n\n async ngOnInit(): Promise {\n //If the user is already logged-in then redirect to home page or redirectURL\n this.applicationControllerService.meUsingGET().subscribe(\n (x: SimpleOauth2User) => {\n this.redirectOnLoginService.handleRedirectURL();\n },\n (error) => {},\n );\n\n this.http\n .get('/public/v1/logo', { responseType: 'text' })\n .subscribe((x) => {\n this.logo = x;\n });\n\n this.publicApIsService.getLoginOptionsUsingGET().subscribe((response) => {\n this.loginOptions = response;\n this.isCustomIntegrationPresent =\n this.loginOptions.filter((x) => !x.isSystemConfigured)?.length > 0;\n });\n }\n\n get username() {\n return this.loginForm.get('username');\n }\n\n get password() {\n return this.loginForm.get('password');\n }\n\n get rememberMe() {\n return this.loginForm.get('rememberMe');\n }\n\n oauthLogin(registrationId: string) {\n window.location.href =\n '/oauth2/authorization/' +\n registrationId +\n '?state=' +\n window.location.href;\n }\n\n formLogin() {\n this.errorMsg = '';\n this.loginInProgress = true;\n let data = new FormData();\n data.append('username', this.username.value);\n data.append('password', this.password.value);\n\n this.http.post('/perform_login', data, { responseType: 'text' }).subscribe(\n () => {\n triggerAnalyticsEvent(`USER_LOGIN_SUCCESSFUL`);\n this.loginInProgress = false;\n this.redirectOnLoginService.handleRedirectURL();\n },\n (err) => {\n triggerAnalyticsEvent(`USER_LOGIN_ERROR`);\n this.loginInProgress = false;\n if (err.status == 404) {\n this.router.navigate(['/home']);\n return;\n }\n this.errorMsg = [503, 504]?.includes(err.status)\n ? 'Server is down, please try again after sometime!'\n : 'Incorrect email address or password';\n },\n );\n }\n\n togglePassword() {\n this.show = !this.show;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoginPageComponent } from './login-page.component';\nimport {\n NbButtonModule,\n NbCardModule,\n NbCheckboxModule,\n NbIconModule,\n NbInputModule,\n NbLayoutModule,\n NbSpinnerModule,\n} from '@nebular/theme';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { ComponentsModule } from 'src/app/components/components.module';\nimport { LoginPageRoutingModule } from './login-page-routing.module';\n\n@NgModule({\n declarations: [LoginPageComponent],\n imports: [\n CommonModule,\n NbLayoutModule,\n NbCardModule,\n NbIconModule,\n FormsModule,\n NbButtonModule,\n NbInputModule,\n RouterModule,\n NbCheckboxModule,\n NbSpinnerModule,\n ReactiveFormsModule,\n ComponentsModule,\n LoginPageRoutingModule,\n ],\n})\nexport class LoginPageModule {}\n"],"names":["i0","routes","path","component","LoginPageComponent","constructor","http","publicApIsService","applicationControllerService","route","router","fb","redirectOnLoginService","this","UntypedFormGroup","username","UntypedFormControl","Validators","whiteSpaceInputPattern","password","rememberMe","ngOnInit","_this","meUsingGET","subscribe","x","handleRedirectURL","error","get","responseType","logo","getLoginOptionsUsingGET","response","loginOptions","isCustomIntegrationPresent","filter","isSystemConfigured","length","loginForm","oauthLogin","registrationId","window","location","href","formLogin","errorMsg","loginInProgress","data","FormData","append","value","post","triggerAnalyticsEvent","err","status","includes","navigate","togglePassword","show","static","core","selectors","ctx","pathMatch","LoginPageRoutingModule","RouterModule","LoginPageModule","CommonModule","NbLayoutModule","NbCardModule","NbIconModule","FormsModule","NbButtonModule","NbInputModule","NbCheckboxModule","NbSpinnerModule","ReactiveFormsModule","ComponentsModule"],"mappings":"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","debug_id":"d176d5c0-15bc-55c5-97fc-d85be7933b90"}
\n OR\n
\n The Internal Developer Platform for your teams. Facets.cloud\n enables hassle-free management of scalable, secure and compliant\n environments.\n