{"version":3,"sources":["./src/$_lazy_route_resource lazy namespace object","./src/app/angular-material.module.ts","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/core.module.ts","./src/app/core/guards/auth.guard.ts","./src/app/core/guards/index.ts","./src/app/core/guards/module-import.guard.ts","./src/app/core/interceptors/request.interceptor.ts","./src/app/core/interceptors/response.interceptor.ts","./src/app/core/services/authorization.service.ts","./src/app/core/services/logger.service.ts","./src/app/core/services/storage.service.ts","./src/app/core/services/token.service.ts","./src/app/dashboard/dashboard-manager.service.ts","./src/app/dashboard/dashboard.component.html","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/modal-add-edit-tenant/modal-add-edit-tenant.component.html","./src/app/dashboard/modal-add-edit-tenant/modal-add-edit-tenant.component.ts","./src/app/dashboard/tenants/tenants.component.html","./src/app/dashboard/tenants/tenants.component.ts","./src/app/header/header.component.html","./src/app/header/header.component.ts","./src/app/login/login.component.html","./src/app/login/login.component.ts","./src/app/login/login.service.ts","./src/app/manage-product-tenant/idp-apps/idp-apps.component.html","./src/app/manage-product-tenant/idp-apps/idp-apps.component.ts","./src/app/manage-product-tenant/manage-product-tenant.component.html","./src/app/manage-product-tenant/manage-product-tenant.component.ts","./src/app/manage-product-tenant/manage-product-tenant.service.ts","./src/app/manage-product-tenant/modal-add-edit-email/modal-add-edit-email.component.html","./src/app/manage-product-tenant/modal-add-edit-email/modal-add-edit-email.component.ts","./src/app/manage-product-tenant/modal-add-edit-idp/modal-add-edit-idp.component.html","./src/app/manage-product-tenant/modal-add-edit-idp/modal-add-edit-idp.component.ts","./src/app/models/product-tenant.model.ts","./src/app/models/tenants.model.ts","./src/app/new-password/new-password.component.html","./src/app/new-password/new-password.component.ts","./src/app/okta-auth.service.ts","./src/app/oktaauthcallback/oktaauthcallback.component.html","./src/app/oktaauthcallback/oktaauthcallback.component.ts","./src/app/reset-password/reset-password.component.html","./src/app/reset-password/reset-password.component.ts","./src/app/services/app.cookie.service.ts","./src/app/services/common.service.ts","./src/app/services/local-logger.service.ts","./src/app/shared/components/idle-warning/idle-warning.component.html","./src/app/shared/components/idle-warning/idle-warning.component.ts","./src/app/shared/components/index.ts","./src/app/shared/components/modal-confirm/modal-confirm.component.html","./src/app/shared/components/modal-confirm/modal-confirm.component.ts","./src/app/shared/components/page-not-found/page-not-found.component.html","./src/app/shared/components/page-not-found/page-not-found.component.ts","./src/app/shared/components/unauthorised/unauthorised.component.html","./src/app/shared/components/unauthorised/unauthorised.component.ts","./src/app/shared/config.ts","./src/app/shared/directives/debounce.directive.ts","./src/app/shared/index.ts","./src/app/shared/pipes/idpAppTypeName.pipe.ts","./src/app/shared/shared.module.ts","./src/app/shared/utils/commonfunctions.utils.ts","./src/app/shared/utils/custom.validators.ts","./src/app/shared/utils/enums.ts","./src/app/shared/utils/index.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.4c4fc9026f2dcf5f6090.js","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;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\n\r\nconst materialModules = [\r\n MatButtonModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n MatPaginatorModule,\r\n MatTooltipModule,\r\n MatTabsModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatListModule,\r\n MatNativeDateModule,\r\n MatRippleModule,\r\n MatDatepickerModule\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ...materialModules\r\n ],\r\n exports: [\r\n ...materialModules\r\n ],\r\n})\r\n\r\nexport class AngularMaterialModule { }","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router'; /* router module */\r\nimport { AuthGuard } from './core/guards/auth.guard';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { ResetComponent } from './reset-password/reset-password.component';\r\nimport { OktaauthcallbackComponent } from './oktaauthcallback/oktaauthcallback.component';\r\nimport { PageNotFoundComponent, SharedModule, UnauthorisedComponent } from './shared';\r\nimport { TenantsComponent } from './dashboard/tenants/tenants.component';\r\nimport { ManageProductTenantComponent } from './manage-product-tenant/manage-product-tenant.component';\r\nimport { IdpAppsComponent } from './manage-product-tenant/idp-apps/idp-apps.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { NewPasswordComponent } from './new-password/new-password.component';\r\n\r\n/* array of routes which application using across all the pages */\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'dashboard',\r\n canActivate: [AuthGuard],\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'dashboard',\r\n component: DashboardComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\r\n { path: 'tenants', component: TenantsComponent }\r\n ]\r\n },\r\n {\r\n path: 'details',\r\n component: ManageProductTenantComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: '', redirectTo: 'idp-apps', pathMatch: 'full' },\r\n { path: 'idp-apps', component: IdpAppsComponent },\r\n ]\r\n },\r\n {\r\n path: 'oktaauthcallback',\r\n component: OktaauthcallbackComponent\r\n },\r\n {\r\n path: 'unauthorised',\r\n component: UnauthorisedComponent\r\n },\r\n {\r\n path: 'reset-password',\r\n component: ResetComponent\r\n },\r\n {\r\n path: 'new-password',\r\n component: NewPasswordComponent\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent\r\n },\r\n /* Below route will redirect all other paths to page not found*/\r\n {\r\n path: '**',\r\n component: PageNotFoundComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes), SharedModule],\r\n exports: [RouterModule],\r\n declarations: [HomeComponent, PageNotFoundComponent, UnauthorisedComponent, ResetComponent, NewPasswordComponent, LoginComponent, DashboardComponent,\r\n TenantsComponent, ManageProductTenantComponent,\r\n IdpAppsComponent,\r\n ]\r\n})\r\nexport class AppRoutingModule { }\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
\r\n\r\n \r\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppComponent implements OnInit {\r\n title = 'stratus-ui';\r\n isLoginPage = false;\r\n currentEvent: any;\r\n constructor(\r\n private router: Router\r\n ) {\r\n }\r\n\r\n async ngOnInit() {\r\n this._checkForLoginScreen();\r\n }\r\n private _checkForLoginScreen() {\r\n if (window.location.pathname.indexOf('login') >= 0) {\r\n this.isLoginPage = true;\r\n } else {\r\n this.isLoginPage = false;\r\n }\r\n\r\n this.currentEvent = this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe((event: NavigationEnd) => {\r\n });\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n// custom modules\r\nimport { CoreModule } from './core';\r\nimport { AuthGuard } from './core/guards/auth.guard';\r\nimport { OktaauthcallbackComponent } from './oktaauthcallback/oktaauthcallback.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { AngularMaterialModule } from './angular-material.module';\r\n\r\n// app level services\r\nimport { LocalLoggerService, CommonService } from './services';\r\nimport { DashboardManagerService } from './dashboard/dashboard-manager.service';\r\nimport { ManageProductTenantManagerService } from './manage-product-tenant/manage-product-tenant.service';\r\nimport { ModalAddEditEmailComponent } from './manage-product-tenant/modal-add-edit-email/modal-add-edit-email.component';\r\nimport { ModalAddEditIdpComponent } from './manage-product-tenant/modal-add-edit-idp/modal-add-edit-idp.component';\r\nimport { ModalAddEditTenantComponent } from './dashboard/modal-add-edit-tenant/modal-add-edit-tenant.component';\r\n// app level shared components\r\nimport {\r\n IdleWarningComponent, ModalConfirmComponent, SharedModule\r\n} from './shared';\r\nimport { NgbModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppCookieService } from './services/app.cookie.service';\r\nimport { HashLocationStrategy, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n OktaauthcallbackComponent,\r\n IdleWarningComponent,\r\n ModalConfirmComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n ModalAddEditEmailComponent,\r\n ModalAddEditIdpComponent,\r\n ModalAddEditTenantComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n RouterModule,\r\n CoreModule,\r\n NgbModule,\r\n NgbNavModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AngularMaterialModule,\r\n // FontAwesomeModule\r\n SharedModule\r\n ],\r\n providers: [\r\n // { provide: LocationStrategy, useClass: HashLocationStrategy }, \r\n AuthGuard, LocalLoggerService, DashboardManagerService, ManageProductTenantManagerService,\r\n CommonService, AppCookieService],\r\n entryComponents: [IdleWarningComponent, ModalConfirmComponent,\r\n ModalAddEditEmailComponent, ModalAddEditIdpComponent,\r\n ModalAddEditTenantComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NgIdleModule } from '@ng-idle/core'; /** module for idle timeout watcher */\r\nimport { NgProgressModule } from '@ngx-progressbar/core'; /** module for incorporating loader / spinner */\r\n\r\n// import HTTP interceptors\r\nimport { RequestInterceptor, ResponseInterceptor } from './interceptors';\r\n\r\n// import core guards\r\nimport { AuthGuard, throwIfAlreadyLoaded } from './guards';\r\n// import core services\r\nimport {\r\n LoggerService,\r\n StorageService,\r\n TokenService,\r\n AuthorizationService\r\n} from './services';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule,\r\n NgProgressModule,\r\n NgIdleModule.forRoot()\r\n ],\r\n exports: [\r\n NgProgressModule\r\n ],\r\n providers: [\r\n AuthGuard,\r\n AuthorizationService,\r\n LoggerService,\r\n StorageService,\r\n TokenService,\r\n { provide: HTTP_INTERCEPTORS, useClass: RequestInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ResponseInterceptor, multi: true },\r\n ],\r\n})\r\nexport class CoreModule {\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; /* check the routing state */\r\nimport { AuthorizationService } from '../services'; /* get app url and app constant */\r\nimport { environment } from '../../../environments/environment';\r\nimport { LocalLoggerService } from '../../services/local-logger.service';\r\nimport { AppCookieService } from '../../services/app.cookie.service';\r\n\r\n\r\n/**\r\n * Class validates the token , If authenticated redirect it to the specified path else force the application\r\n * back to login page\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(\r\n private router: Router,\r\n private loggerService: LocalLoggerService,\r\n private authorizeService: AuthorizationService,\r\n private appCookieService: AppCookieService) { }\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean {\r\n //this.loggerService.logForDev('canActivate ', localStorage.getItem('authToken'), route,\r\n this.loggerService.logForDev('canActivate ', this.appCookieService.get('authToken'), route,\r\n this.authorizeService.authorize(route.data.routePermission));\r\n //if ((localStorage.getItem('authToken') && localStorage.getItem('authToken') != null)\r\n if ((this.appCookieService.get('authToken') && this.appCookieService.get('authToken') != null)\r\n //&& (localStorage.getItem('authToken') !== undefined)) {\r\n && (this.appCookieService.get('authToken') !== undefined)) {\r\n return true;\r\n } else {\r\n document.location.href = window.origin + `/login`;\r\n return false;\r\n }\r\n // return true;\r\n }\r\n}\r\n","export * from './auth.guard';\r\nexport * from './module-import.guard';\r\n","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs'; // import reactiveX library for reactive programming using Observables,\r\nimport { finalize } from 'rxjs/operators';\r\nimport { NgProgress, NgProgressRef } from '@ngx-progressbar/core';\r\nimport { LocalLoggerService } from '../../services/local-logger.service';\r\nimport { TokenService, LoggerService } from '../services'; // import authentacation service\r\nimport { AppCookieService } from '../../services/app.cookie.service';\r\n\r\n@Injectable()\r\nexport class RequestInterceptor implements HttpInterceptor {\r\n progressBar: NgProgressRef;\r\n private _inProgressCount = 0;\r\n constructor(\r\n private tokenService: TokenService,\r\n private logger: LoggerService,\r\n private loggerService: LocalLoggerService,\r\n private ngProgress: NgProgress,\r\n private appCookieService: AppCookieService\r\n ) {\r\n this.progressBar = this.ngProgress.ref();\r\n }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n this._inProgressCount++;\r\n if (!this.progressBar.isStarted && !(window.location.href.includes('login') || window.location.href.includes('new-password'))) {\r\n this.progressBar.start();\r\n }\r\n\r\n this.loggerService.logForDev(\r\n `Intercepting HttpRequest of type ${req.method} to url ${req.url}`\r\n );\r\n\r\n req = req.clone({\r\n headers: req.headers\r\n .set('If-Modified-Since', 'Sat, 01 Jan 2000 00:00:00 GMT')\r\n .set('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT')\r\n .set('Cache-Control', 'no-cache')\r\n .set('Pragma', 'no-cache')\r\n });\r\n\r\n //if (localStorage.getItem('authToken') && localStorage.getItem('authToken') != null\r\n if (this.appCookieService.get('authToken') && this.appCookieService.get('authToken') != null\r\n //|| localStorage.getItem('authToken') != undefined && localStorage.getItem('authToken').length > 0) {\r\n || this.appCookieService.get('authToken') != undefined) {\r\n //this.loggerService.logForDev('Authorization ', localStorage.getItem('authToken'));\r\n this.loggerService.logForDev('Authorization ', this.appCookieService.get('authToken'));\r\n req = req.clone({\r\n headers: req.headers\r\n //.set('Authorization', localStorage.getItem('accessToken'))\r\n .set('Authorization', 'Bearer ' + this.appCookieService.get('authToken'))\r\n });\r\n }\r\n // execute the request\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this._inProgressCount--;\r\n console.log('this._inProgressCount ', this._inProgressCount)\r\n if (this._inProgressCount == 0) {\r\n this.progressBar.complete();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpErrorResponse } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { catchError as observableCatchError } from 'rxjs/operators';\r\nimport { throwError as observableThrowError, Observable, timer } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nimport { StatusCodes } from '../../shared/utils/enums';\r\nimport { StorageService } from '../services';\r\nimport { environment } from '../../../environments/environment';\r\nimport { LocalLoggerService } from '../../services/local-logger.service';\r\n\r\n@Injectable()\r\nexport class ResponseInterceptor implements HttpInterceptor {\r\n constructor(\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private loggerService: LocalLoggerService,\r\n private storageService: StorageService,\r\n ) { }\r\n intercept(req: HttpRequest, next: HttpHandler): Observable {\r\n return next.handle(req)\r\n .pipe(\r\n observableCatchError(this._handleError.bind(this))\r\n );\r\n }\r\n\r\n private _handleError(err: HttpErrorResponse) {\r\n console.log('HttpErrorResponse---', err);\r\n this.toastr.clear();\r\n timer(300).subscribe(time => {\r\n if (typeof err.error === 'string') {\r\n this.toastr.error(err.error, 'Error');\r\n }\r\n else {\r\n // The backend returned an unsuccessful response code.\r\n if (err.error && typeof (err.error) === 'object') {\r\n if (err.error.length > 0) { // if its an array of errors\r\n this.loggerService.logError(`Backend returned code array ${err.status} body was: ${err.error}`);\r\n this.toastr.error(err.error, '\\nError code - ' + err.status);\r\n } else { // token specific errors\r\n this.loggerService.logError(`Backend returned code object ${err.status} body was:\r\n ${err.message || 'Something went wrong'}`);\r\n // this.toastr.error(err.error.message, 'Error - ' + err.error.status); // Commented due to undefined Error field\r\n\r\n if (err.error && err.error.hasOwnProperty('errors') && Object.values(err.error.errors).length > 0) {\r\n this.toastr.error(Object.values(err.error.errors)[0].toString(), 'Error');\r\n } else {\r\n this.toastr.error(err.error.message, 'Error');\r\n }\r\n }\r\n } else {\r\n this.loggerService.logError(`Backend returned code ${err.status} body was: ${err.error}`);\r\n if (window.location.href.includes('login')) {\r\n this.toastr.error(err.error);\r\n } else {\r\n this.toastr.error(err.message);\r\n }\r\n }\r\n }\r\n\r\n });\r\n if (err.status === StatusCodes.UNAUTHORIZED) {\r\n this.storageService.clearAll();\r\n if (!window.location.href.includes('login')) {\r\n document.location.href = window.origin + `/login`;\r\n }\r\n return;\r\n }\r\n // this.toastr.error(((err.error instanceof Error || err.error instanceof ProgressEvent)\r\n // ? err.statusText : err.error), 'Error - ' + err.status);\r\n return observableThrowError({\r\n status: err.status,\r\n message: ((err.error) ? err.statusText : err.error)\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { StorageService } from './storage.service';\r\n\r\nimport { IUserInfo } from '../../interfaces';\r\nimport { RoutePermission } from '../../models';\r\nimport { appConstants, AuthorizationResult, RoutePermissionType } from '../../shared';\r\n\r\n@Injectable()\r\nexport class AuthorizationService {\r\n\r\n constructor(\r\n private storageService: StorageService\r\n ) { }\r\n\r\n authorize(routePermission: RoutePermission): AuthorizationResult {\r\n let isAuthorised = false;\r\n // tslint:disable-next-line: one-variable-per-declaration\r\n const token: IUserInfo = this.storageService.getItem(appConstants.keys.token),\r\n user: IUserInfo = this.storageService.getItem(appConstants.keys.user);\r\n\r\n if (token === null || user === null) {\r\n return AuthorizationResult.LoginRequired;\r\n }\r\n\r\n if (routePermission.permissionType === RoutePermissionType.OnlyLoginRequired) {\r\n isAuthorised = true;\r\n } else if (routePermission.permissionType === RoutePermissionType.AtLeastOneRole) {\r\n isAuthorised = user.roles.some((userRole: string) => {\r\n return routePermission.roles.some((allowedRole: string) => allowedRole.toLowerCase() === userRole.toLowerCase());\r\n });\r\n } else if (routePermission.permissionType === RoutePermissionType.AllRole) {\r\n isAuthorised = user.roles.every((userRole: string) => {\r\n return routePermission.roles.some((allowedRole: string) => allowedRole.toLowerCase() === userRole.toLowerCase());\r\n });\r\n }\r\n\r\n if (isAuthorised) {\r\n return AuthorizationResult.Success;\r\n } else {\r\n return AuthorizationResult.Unauthorised;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LoggerService {\r\n\r\n constructor() { }\r\n\r\n log(value: any): void {\r\n // console.log(value);\r\n }\r\n\r\n warn(value: any): void {\r\n console.warn(value);\r\n }\r\n\r\n error(value: any): void {\r\n console.error(value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { appConstants } from '../../shared/config';\r\n\r\n@Injectable()\r\nexport class StorageService {\r\n\r\n constructor() { }\r\n\r\n /**\r\n * Fetches and returns the item from specified storage\r\n * @param key : Key for accessing the stored value\r\n * @param storageType : specify if the key lookup is to be carried out in local or session storage\r\n * Import and use appConstants from shared/config.ts to specify the storage type\r\n * @default : default value for storageType parameter\r\n */\r\n getItem(key: string, storageType: string = appConstants.keys.storageType): any {\r\n switch (storageType) {\r\n case appConstants.storageTypes.local:\r\n return JSON.parse(JSON.stringify(localStorage.getItem(key)));\r\n case appConstants.storageTypes.session:\r\n return JSON.parse(JSON.stringify(sessionStorage.getItem(key)));\r\n }\r\n }\r\n\r\n /**\r\n * Stores the key value pair in specified storage\r\n * @param key : Key for identifying the value to be stored\r\n * @param value : Value to be stored\r\n * @param storageType : specify if the key lookup is to be carried out in local or session storage.\r\n * Import and use appConstants from shared/config.ts to specify the storage type\r\n * @default : default value for storageType parameter\r\n */\r\n setItem(key: string, value: any, storageType: string = appConstants.keys.storageType): void {\r\n switch (storageType) {\r\n case appConstants.storageTypes.local:\r\n localStorage.setItem(key, JSON.stringify(value));\r\n break;\r\n case appConstants.storageTypes.session:\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Removes provided key and associated value from specified storage\r\n * @param key : Key for identifying the value to be removed\r\n * @param storageType : specify if the key lookup is to be carried out in local or session storage\r\n * Import and use appConstants from shared/config.ts to specify the storage type\r\n * @default : default value for storageType parameter\r\n */\r\n removeItem(key: string, storageType: string = appConstants.keys.storageType): void {\r\n switch (storageType) {\r\n case appConstants.storageTypes.local:\r\n localStorage.removeItem(key);\r\n break;\r\n case appConstants.storageTypes.session:\r\n sessionStorage.removeItem(key);\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Clears the specified storage\r\n * @param storageType : specify the storage that is to be cleared\r\n * Import and use appConstants from shared/config.ts to specify the storage type\r\n * @default : default value for storageType parameter\r\n */\r\n clearAll(storageType: string = appConstants.keys.storageType): void {\r\n switch (storageType) {\r\n case appConstants.storageTypes.local:\r\n localStorage.clear();\r\n break;\r\n case appConstants.storageTypes.session:\r\n sessionStorage.clear();\r\n break;\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { StorageService } from './storage.service';\r\nimport { appConstants } from '../../shared/config';\r\n\r\n@Injectable()\r\nexport class TokenService {\r\n\r\n constructor(private storageService: StorageService) { }\r\n /**\r\n * fetch local stored token and add Bearer to token\r\n */\r\n getApiToken(): string {\r\n let token: string = this.storageService.getItem(appConstants.keys.token);\r\n if (token !== null) {\r\n token = 'Bearer ' + token;\r\n }\r\n return token;\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { appConstants } from '../shared';\r\nimport { ITenantList } from '../interfaces/tenant.interface';\r\n\r\n@Injectable()\r\nexport class DashboardManagerService {\r\n loading: boolean;\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n }\r\n\r\n getTenantsList() {\r\n return this.http.get(appConstants.urls.getTenantsList)\r\n .pipe(\r\n map((response: any) => ({\r\n data: response,\r\n total: response.length\r\n }))\r\n );\r\n\r\n // return of({ \"data\": { \"tenant\": [{ \"tenantid\": \"d02f9fd3-1cef-475f-afd3-9918ffc45529\", \"name\": \"Bulk User Tenant\", \"description\": \"Bulk User Tenants\", \"organization\": \"Bulk User Tenant\", \"businessUnit\": \"Bulk User Tenant\" }, { \"tenantid\": \"de53fead-2c3a-467b-9a98-c855f5e927ef\", \"name\": \"CandyStore.com\", \"description\": \"Tenant\", \"organization\": \"CandyStore.com\", \"businessUnit\": \"The Candy Store\" }, { \"tenantid\": \"453f6b81-bde9-4e54-9c85-f6ee937881e3\", \"name\": \"Continental Dev\", \"description\": \"Tenant for SWP Dev env\", \"organization\": \"Continental\", \"businessUnit\": \"Dev\" }, { \"tenantid\": \"b86597bd-7846-48fc-b8ba-3d8baa86ee93\", \"name\": \"FSOx - Local\", \"description\": \"\", \"organization\": \"Omnia\", \"businessUnit\": \"FSOx\" }, { \"tenantid\": \"a35fe296-a826-4405-bd19-67202abe6544\", \"name\": \"Kroger\", \"description\": \"\", \"organization\": \"Kroger\", \"businessUnit\": \"HR\" }, { \"tenantid\": \"98d04158-8e90-4b98-b6fd-4ef9e3473469\", \"name\": \"Mercedes\", \"description\": \"\", \"organization\": \"Mercedes\", \"businessUnit\": \"Admin\" }, { \"tenantid\": \"3e267712-47d2-4282-a491-2a1076479fc7\", \"name\": \"pas-platform\", \"description\": \"PAS products \", \"organization\": \"BCG Omnia\", \"businessUnit\": \"PA Services\" }, { \"tenantid\": \"a7ada127-bd8f-4dab-b637-94952998e145\", \"name\": \"Relay BCG tenant\", \"description\": \"\", \"organization\": \"Test\", \"businessUnit\": \"Tesnant\" }, { \"tenantid\": \"47c04a25-e457-443e-b3df-c9cce9026a5d\", \"name\": \"Sprint Demo Tenant\", \"description\": \"For Bulk Ops Job Demo\", \"organization\": \"Omnia\", \"businessUnit\": \"Platform\" }, { \"tenantid\": \"68bacbdc-faaa-4ff9-80d4-255f8e63119f\", \"name\": \"Stratus BCG\", \"description\": \"stratus-tenant\", \"organization\": \"BCG\", \"businessUnit\": \"OMNIA\" }, { \"tenantid\": \"772ecc9f-6a94-4e41-8ad7-2c011d1bcb9a\", \"name\": \"Test RelayChange\", \"description\": \"Description fields\", \"organization\": \"Test\", \"businessUnit\": \"Test\" }, { \"tenantid\": \"8908b189-1e81-47f9-90cd-29ee58094709\", \"name\": \"Volkswagen HR\", \"description\": null, \"organization\": \"Volkswagen Gmbh\", \"businessUnit\": \"Human Resources\" }, { \"tenantid\": \"46b8f758-912a-4aac-839a-51e556427b15\", \"name\": \"volkswagon\", \"description\": \"\", \"organization\": \"VW\", \"businessUnit\": \"Admin\" }] }, \"message\": \"tenant fetched sucessfully\" })\r\n // .pipe(\r\n // map((response: any) => ({\r\n // data: response.data.tenant,\r\n // total: response.data.tenant.length\r\n // }))\r\n // )\r\n }\r\n\r\n editTenant(obj: ITenantList) {\r\n return this.http.put(appConstants.urls.editTenant, obj);\r\n }\r\n\r\n createTenant(obj: ITenantList) {\r\n return this.http.post(appConstants.urls.createTenant, obj);\r\n }\r\n\r\n deleteTenant(tenantId: string) {\r\n return this.http.delete(appConstants.urls.deleteTenant + '?tenantId=' + tenantId);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n\r\n\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from '../services';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n constructor(\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private commonService: CommonService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n {{title}}\r\n \r\n
\r\n
\r\n
\r\n Tenant Name\r\n \r\n \r\n \r\n \r\n \r\n Please enter tenant name\r\n \r\n \r\n Business Contact Email\r\n \r\n \r\n \r\n \r\n \r\n Please enter business contact email\r\n \r\n \r\n \r\n \r\n Please enter valid email address\r\n \r\n \r\n Technical Contact Email\r\n \r\n \r\n \r\n \r\n \r\n Please enter technical contact email\r\n \r\n \r\n \r\n \r\n Please enter valid email address\r\n \r\n \r\n Authentication Callback Url\r\n \r\n \r\n \r\n \r\n \r\n Please enter authentication callback url\r\n \r\n \r\n \r\n \r\n Please enter valid authentication callback url\r\n \r\n \r\n Description\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Inject, SecurityContext } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TenantUserModel } from '../../models/product-tenant.model';\r\nimport { ITenantUser } from '../../interfaces/product-tenant.interface';\r\nimport { ITenantList, ITenantUIList } from '../../interfaces/tenant.interface';\r\nimport { TenantsListModel, TenantsUIListModel } from '../../models/tenants.model';\r\nimport { DashboardManagerService } from '../dashboard-manager.service';\r\nimport { LocalLoggerService } from '../../services/local-logger.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { appConstants, Email, InputRegex, UrlRegex } from '../../shared/config';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CommonEnums } from '../../shared/utils/enums';\r\nimport { ModalConfirmComponent } from '../../../app/shared/components/modal-confirm/modal-confirm.component';\r\nimport { CommonService } from '../../../app/services/common.service';\r\n\r\n@Component({\r\n selector: 'app-modal-add-edit-tenant',\r\n templateUrl: './modal-add-edit-tenant.component.html',\r\n styleUrls: ['./modal-add-edit-tenant.component.scss']\r\n})\r\n\r\nexport class ModalAddEditTenantComponent implements OnInit {\r\n createTenantForm: FormGroup;\r\n title = '';\r\n editAction = false;\r\n requestInitiated = false;\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private dashboardManagerService: DashboardManagerService,\r\n private toastrService: ToastrService,\r\n private sanitizer: DomSanitizer,\r\n private localLoggerService: LocalLoggerService,\r\n public dialog: MatDialog,\r\n public commonService: CommonService,\r\n ) {\r\n this.createTenantForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.pattern(InputRegex)]],\r\n businessContactEmail: ['', [Validators.required, Validators.pattern(Email)]],\r\n technicalContactEmail: ['', [Validators.required, Validators.pattern(Email)]],\r\n authenticationCallbackUrl: ['', Validators.pattern(UrlRegex)],\r\n idpRelayStateParam: [''],\r\n description: [''],\r\n useDefaultIdp: [false],\r\n tenantId: [''],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.title = this.data.title;\r\n if (this.title === appConstants.messages.tenantEditLabel) {\r\n this.editAction = true;\r\n this.patchValueToForm(this.data.tenantData);\r\n } else {\r\n this.editAction = false;\r\n }\r\n }\r\n\r\n // patch edit value of product to form fields\r\n patchValueToForm(val) {\r\n this.createTenantForm.patchValue({\r\n name: val.name,\r\n tenantId: val.tenantId,\r\n businessContactEmail: val.businessContactEmail,\r\n technicalContactEmail: val.technicalContactEmail,\r\n authenticationCallbackUrl: val.authenticationCallbackUrl,\r\n idpRelayStateParam: val.idpRelayStateParam,\r\n description: val.description,\r\n useDefaultIdp: val.useDefaultIdp,\r\n });\r\n }\r\n\r\n // send product data to server\r\n saveTenant() {\r\n const tenantObj: ITenantList = {\r\n name: this.commonService.removeHtmlTags(this.createTenantForm.value.name),\r\n businessContactEmail: this.commonService.removeHtmlTags(this.createTenantForm.value.businessContactEmail),\r\n technicalContactEmail: this.commonService.removeHtmlTags(this.createTenantForm.value.technicalContactEmail),\r\n authenticationCallbackUrl: this.commonService.removeHtmlTags(this.createTenantForm.value.authenticationCallbackUrl),\r\n idpRelayStateParam: this.commonService.removeHtmlTags(this.createTenantForm.value.idpRelayStateParam),\r\n description: this.commonService.removeHtmlTags(this.createTenantForm.value.description),\r\n useDefaultIdp: this.commonService.removeHtmlTags(this.createTenantForm.value.useDefaultIdp),\r\n tenantId: this.commonService.removeHtmlTags(this.createTenantForm.value.tenantId),\r\n }\r\n if (this.editAction) {\r\n this.editTenant(tenantObj);\r\n } else {\r\n this.createTenant(tenantObj);\r\n }\r\n }\r\n\r\n // create tenant api\r\n createTenant(obj: ITenantList) {\r\n this.requestInitiated = true;\r\n this.dashboardManagerService.createTenant(obj).subscribe((res: any) => {\r\n this.localLoggerService.logForDev(res);\r\n this.toastrService.success(appConstants.messages.tenantCreated, 'Success');\r\n this.createTenantForm.reset();\r\n this.requestInitiated = false;\r\n this.closeModal(true);\r\n },\r\n error => {\r\n this.requestInitiated = false;\r\n });\r\n }\r\n\r\n // edit tenant api\r\n editTenant(obj: ITenantList) {\r\n this.requestInitiated = true;\r\n this.dashboardManagerService.editTenant(obj).subscribe((res: any) => {\r\n this.localLoggerService.logForDev(res);\r\n this.toastrService.success(appConstants.messages.editTenant, 'Success');\r\n this.createTenantForm.reset();\r\n this.requestInitiated = false;\r\n this.closeModal(true);\r\n },\r\n error => {\r\n this.requestInitiated = false;\r\n });\r\n }\r\n\r\n warnTenantDeletion() {\r\n let msg = appConstants.messages.tenantDelete;\r\n let modalButton: any = null;\r\n modalButton = {\r\n ok: {\r\n toShow: true,\r\n label: 'Continue'\r\n },\r\n cancel: {\r\n toShow: true,\r\n label: 'Cancel'\r\n },\r\n };\r\n const dialogRef2: MatDialogRef = this.dialog.open(\r\n ModalConfirmComponent,\r\n {\r\n disableClose: true,\r\n autoFocus: false,\r\n data: {\r\n title: 'Warning!',\r\n message: msg,\r\n buttons: modalButton\r\n }\r\n });\r\n dialogRef2.afterClosed().subscribe((result: any) => {\r\n if (result) {\r\n this.deleteTenant();\r\n }\r\n });\r\n }\r\n\r\n // delete tenant api\r\n deleteTenant() {\r\n this.dashboardManagerService.deleteTenant(this.data.tenantData.tenantId).subscribe((res: any) => {\r\n this.toastrService.success(appConstants.messages.tenantDeletedMessage, 'Success');\r\n this.createTenantForm.reset();\r\n this.closeModal(true);\r\n },\r\n error => {\r\n this.localLoggerService.logError(error);\r\n });\r\n }\r\n\r\n // If the user clicks the cancel button a.k.a. the go back button, then\\\r\n // just close the modal\r\n closeModal(status) {\r\n this.dialogRef.close(status);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

All Tenants

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Sort by:\r\n \r\n \r\n A-Z\r\n Z-A\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Iconography & Logos/Icons/Download\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Add Tenant

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{tenant.name}}\r\n \r\n \r\n
\r\n

\r\n Business Contact
\r\n \r\n {{tenant.businessContactEmail}}\r\n

\r\n

\r\n Technical Contact
\r\n {{tenant.technicalContactEmail}}\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Tenant Id
\r\n
\r\n {{tenant.tenantId}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n JWT Verification Key\r\n \r\n \r\n
\r\n
\r\n API Key\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{modifyDesc(tenant.description)}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { DashboardManagerService } from '../dashboard-manager.service';\r\nimport { LocalLoggerService } from '../../services/local-logger.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ITenantUIList } from '../../interfaces/tenant.interface';\r\nimport { TenantsUIListModel } from '../../models/tenants.model';\r\nimport { appConstants } from '../../shared/config';\r\nimport { ModalAddEditTenantComponent } from '../modal-add-edit-tenant/modal-add-edit-tenant.component';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n// import for rxjs\r\nimport { ElementRef, ViewChild } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { InputRegex } from '../../shared/config';\r\n\r\n@Component({\r\n selector: 'app-tenants',\r\n templateUrl: './tenants.component.html',\r\n styleUrls: ['./tenants.component.scss'],\r\n})\r\nexport class TenantsComponent implements OnInit {\r\n searchword = '';\r\n sortAction = '';\r\n tenantsList = [];\r\n filteredtenantsList = [];\r\n sortSelected = '';\r\n selectedTenant: ITenantUIList = new TenantsUIListModel();\r\n createTenantForm: FormGroup;\r\n tenantActionText = '';\r\n copyText = 'Copy to Clipboard';\r\n @ViewChild('searchBox', { static: true }) ref: ElementRef;\r\n subjectForTenant: any;\r\n\r\n constructor(\r\n private router: Router,\r\n private dashboardManagerService: DashboardManagerService,\r\n private localLoggerService: LocalLoggerService,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private toastrService: ToastrService,\r\n ) {\r\n this.createTenantForm = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.pattern(InputRegex)]],\r\n businessUnit: ['', [Validators.required, Validators.pattern(InputRegex)]],\r\n organization: ['', [Validators.required, Validators.pattern(InputRegex)]],\r\n description: ['', Validators.pattern(InputRegex)],\r\n tenantid: [''],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.subjectForTenant = new BehaviorSubject(null);\r\n this.subjectForTenant.pipe(\r\n debounceTime(1000),\r\n ).subscribe(val => this.searchThis());\r\n this.getTenants();\r\n }\r\n\r\n // get tenant list from server\r\n getTenants() {\r\n this.tenantsList = [];\r\n this.dashboardManagerService.getTenantsList().subscribe((res: any) => {\r\n this.tenantsList = res.data;\r\n console.log('this.tenantsList', this.tenantsList)\r\n this.filteredtenantsList = res.data;\r\n localStorage.setItem('tenantsList', JSON.stringify(res.data));\r\n this.sortAction = 'asc';\r\n this.sortList();\r\n if (this.searchword) {\r\n this.searchThis();\r\n }\r\n },\r\n error => {\r\n this.localLoggerService.logError(error);\r\n });\r\n }\r\n\r\n // debounce for searching tenant in list\r\n searchThisWithDebounce(val) {\r\n this.subjectForTenant.next('searchThis');\r\n }\r\n\r\n // search tenant from list and copy to filtered list\r\n searchThis() {\r\n this.tenantsList = this.filteredtenantsList.filter((e) => {\r\n return (\r\n e.name.toLowerCase().includes(this.searchword.toLowerCase())\r\n );\r\n });\r\n if (this.sortAction === 'desc') {\r\n this.sortDescending();\r\n } else if (this.sortAction === 'asc') {\r\n this.sortAscending();\r\n }\r\n }\r\n\r\n // open modal for creation of tenant\r\n addTenant() {\r\n this.tenantActionText = appConstants.messages.tenantCreateLabel;\r\n this.openTenantModal(this.tenantActionText, null);\r\n }\r\n\r\n // open modal for edit of tenant\r\n tenantDetails(value) {\r\n this.tenantActionText = appConstants.messages.tenantEditLabel;\r\n this.openTenantModal(this.tenantActionText, value);\r\n }\r\n\r\n manageTenant(val) {\r\n this.router.navigate(['/details/idp-apps'], {\r\n queryParams: { tenantId: val.tenantId },\r\n queryParamsHandling: 'merge'\r\n });\r\n }\r\n\r\n // copy to clipboard\r\n copyId(text: string) {\r\n this.copyText = 'Copied';\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = text;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n setTimeout(() => { this.copyText = 'Copy to Clipboard'; }, 3000);\r\n }\r\n\r\n // modify Description if desc is empty\r\n modifyDesc(desc) {\r\n return (desc && desc.length) > 0 ? desc : appConstants.messages.noDescription;\r\n }\r\n\r\n // sort tenant list\r\n sortList() {\r\n if (this.sortAction && this.sortAction === 'asc') {\r\n this.sortAscending();\r\n } else if (this.sortAction && this.sortAction === 'desc') {\r\n this.sortDescending();\r\n }\r\n }\r\n\r\n sort_by_key(array, key) {\r\n return array.sort(function (a, b) {\r\n var x = a[key]; var y = b[key];\r\n return ((x < y) ? -1 : ((x > y) ? 1 : 0));\r\n });\r\n }\r\n\r\n // sort tenant via ascending tenant name\r\n sortAscending() {\r\n this.sortAction = 'asc';\r\n // this.tenantsList = this.sort_by_key(this.tenantsList,'name');\r\n this.tenantsList.sort((a, b) => {\r\n return b.name.toUpperCase() < a.name.toUpperCase() ? 1 // if b should come earlier, push a to end\r\n : b.name.toUpperCase() > a.name.toUpperCase() ? -1 // if b should come later, push a to begin\r\n : 0;\r\n });\r\n }\r\n\r\n // sort tenant via descending tenant name\r\n sortDescending() {\r\n this.sortAction = 'desc';\r\n this.tenantsList.sort((a, b) => {\r\n return b.name.toUpperCase() > a.name.toUpperCase() ? 1 // if b should come earlier, push a to end\r\n : b.name.toUpperCase() < a.name.toUpperCase() ? -1 // if b should come later, push a to begin\r\n : 0;\r\n });\r\n }\r\n\r\n\r\n // download jwt key\r\n downloadKey(key, type?) {\r\n if (key && key.length > 1) {\r\n const element = document.createElement('a');\r\n const file = new Blob([key], { type: 'text/plain' });\r\n element.href = URL.createObjectURL(file);\r\n element.download = 'public_key.pub';\r\n if (type && type === 'APIKey') {\r\n element.download = 'api_key.pub';\r\n }\r\n document.body.appendChild(element); // Required for this to work in FireFox\r\n element.click();\r\n } else {\r\n this.toastrService.error('Jwt verification key is empty', 'Error')\r\n }\r\n }\r\n\r\n // open modal for create/edit product\r\n openTenantModal(title, editData) {\r\n const dialogRef: MatDialogRef = this.dialog.open(\r\n ModalAddEditTenantComponent,\r\n {\r\n disableClose: true,\r\n autoFocus: false,\r\n data: {\r\n title,\r\n tenantData: editData\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result) {\r\n this.getTenants();\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n SWP-IAM\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
0\">\r\n \r\n

Welcome {{username}}\r\n

\r\n \r\n \r\n \r\n \r\n Logout\r\n \r\n Reset password\r\n \r\n\r\n
\r\n \r\n
\r\n
","import { Component, ElementRef, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { interval } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { OktaAuthService } from '../okta-auth.service';\r\nimport { AppCookieService } from '../services/app.cookie.service';\r\nimport { parseJwt } from '../shared/utils/commonfunctions.utils';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n private subscription;\r\n oktaObj: any;\r\n tabs: any[];\r\n tabLinks: any[];\r\n activeLinkIndex = 1;\r\n username = '';\r\n enableLogout = false;\r\n timer;\r\n color1 = '';\r\n color2 = '';\r\n constructor(\r\n private router: Router,\r\n private elRef: ElementRef,\r\n private oktaService: OktaAuthService,\r\n private appCookieService: AppCookieService,\r\n ) {\r\n this.tabs = [\r\n {\r\n name: 'Tenants',\r\n link: './dashboard/tenants',\r\n pathname: '/dashboard/tenants',\r\n index: 2\r\n }\r\n ];\r\n this.tabLinks = [\r\n {\r\n pathname: '/dashboard/tenants',\r\n index: 2\r\n },\r\n {\r\n pathname: '/new-password',\r\n index: 3\r\n }, {\r\n pathname: '/',\r\n index: 2\r\n }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.setTab();\r\n this.decodeToken();\r\n }\r\n\r\n setTab() {\r\n const obj = this.tabLinks.findIndex((val) => {\r\n if (window.location.pathname.includes(val.pathname)) {\r\n return val;\r\n }\r\n });\r\n this.activeLinkIndex = this.tabLinks[obj].index;\r\n }\r\n\r\n decodeToken() {\r\n //const token = localStorage.getItem('accessToken');\r\n const token = this.appCookieService.get('authToken');\r\n if (token) {\r\n const base64 = parseJwt(token);\r\n console.log(base64)\r\n this.username = base64['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'];\r\n // console.log(JSON.parse(jsonPayload))\r\n }\r\n }\r\n\r\n showLogout(val) {\r\n this.enableLogout = val;\r\n if (this.timer && !this.timer.closed) {\r\n this.timer.unsubscribe()\r\n }\r\n this.timer = interval(5000).pipe(take(1)).subscribe(value => {\r\n if (this.enableLogout) {\r\n this.enableLogout = false\r\n }\r\n })\r\n }\r\n\r\n goToResetPassword() {\r\n this.router.navigate([\"/new-password\"]);\r\n this.enableLogout = false;\r\n this.setTab();\r\n }\r\n\r\n goToTenants() {\r\n this.router.navigate([\"/dashboard/tenants\"]);\r\n this.enableLogout = false;\r\n this.setTab();\r\n }\r\n\r\n logout() {\r\n localStorage.clear();\r\n this.appCookieService.remove('authToken');\r\n window.location.href = window.origin + '/login';\r\n }\r\n}\r\n","
\r\n \r\n Sign in to SWP-IAM\r\n \r\n\r\n \r\n
\r\n
\r\n Enter username\r\n \r\n \r\n \r\n \r\n \r\n Please enter username\r\n \r\n \r\n
\r\n
\r\n Enter password\r\n \r\n \r\n \r\n \r\n \r\n Please enter password\r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../environments/environment';\r\nimport { CommonService } from '../services';\r\nimport { AppCookieService } from '../services/app.cookie.service';\r\nimport { LoginService } from './login.service';\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 loginForm: FormGroup;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private toastrService: ToastrService,\r\n private loginService: LoginService,\r\n private appCookieService: AppCookieService,\r\n private commonService: CommonService,\r\n ) {\r\n this.loginForm = this.formBuilder.group({\r\n UserName: ['', [Validators.required]],\r\n Password: ['', [Validators.required]]\r\n });\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n validateForm(form: FormGroup): boolean {\r\n if (!form.valid) {\r\n /* if you are using angular 8 or above, you can just do form.markAllAsTouched() which will touch \r\n all the fields without having to loop through all the fields and mark it as touched.\r\n */\r\n form.markAllAsTouched()\r\n return false\r\n }\r\n else {\r\n return true\r\n }\r\n }\r\n\r\n login() {\r\n if (this.loginForm.valid) {\r\n console.log(this.loginForm.value);\r\n const loginObj = {\r\n UserName: this.commonService.removeHtmlTags(this.loginForm.value.UserName),\r\n Password: this.commonService.removeHtmlTags(this.loginForm.value.Password)\r\n }\r\n this.loginService.authenticateUser(loginObj).subscribe((res: any) => {\r\n console.log(res);\r\n if (res && res.token) {\r\n this.appCookieService.set('authToken', res.token)\r\n document.location.href = `${window.origin}/dashboard/tenants`;\r\n }\r\n },\r\n err => {\r\n console.log('errr', err);\r\n this.toastrService.error('Something went wrong ', err);\r\n })\r\n } else {\r\n return this.validateForm(this.loginForm)\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as OktaSignIn from '@okta/okta-signin-widget';\r\nimport { of } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n authenticateUser(obj) {\r\n return this.http.post(environment.swpIamBaseUrl + `/Account/Token`, obj);\r\n }\r\n\r\n resetPassword(obj) {\r\n return this.http.post(environment.swpIamBaseUrl + `/Account/Token`, obj);\r\n }\r\n\r\n setNewPassword(obj) {\r\n return this.http.post(environment.swpIamBaseUrl + `/Account/ChangePassword`, obj);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
0\">\r\n
\r\n Identity Providers\r\n
\r\n
\r\n
\r\n
\r\n \r\n Iconography & Logos/Icons/Download\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Add IDP

\r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n IDP Name \r\n \r\n \r\n {{row.appName}} \r\n \r\n\r\n \r\n \r\n \r\n Saml Issuer \r\n \r\n \r\n {{row.samlIssuer }} \r\n \r\n\r\n \r\n \r\n Created On \r\n {{getFormattedDate(row)}} \r\n \r\n\r\n \r\n \r\n Reference notes \r\n {{row.description ? row.description : '-' }} \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 \r\n \r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n Email Domains\r\n
\r\n
\r\n
\r\n
\r\n \r\n Iconography & Logos/Icons/Download\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Add Email Domain

\r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n Domain Name\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Idp App Name \r\n \r\n \r\n {{row.idpAppName}} \r\n \r\n\r\n \r\n \r\n Reference notes \r\n {{row.referenceNotes}} \r\n \r\n\r\n \r\n \r\n Updated On \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\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Step 2\r\n
\r\n

Please add email domain to map with IDP now!

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step 1\r\n
\r\n

Let's add Identity Provider (IDP) to begin with!

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewEncapsulation, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { IIdpApp, IEmailDomain } from '../../interfaces/product-tenant.interface';\r\nimport { ModalAddEditEmailComponent } from '../modal-add-edit-email/modal-add-edit-email.component';\r\nimport { ModalAddEditIdpComponent } from '../modal-add-edit-idp/modal-add-edit-idp.component';\r\nimport { ManageProductTenantManagerService } from '../manage-product-tenant.service';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { IdpApp, EmailDomains } from '../../shared/utils/enums';\r\nimport { IdpAppTypeName } from '../../shared/pipes/idpAppTypeName.pipe';\r\nimport { IdpAppListsModel, IdpAppModel } from '../../models/product-tenant.model';\r\n\r\n@Component({\r\n selector: 'app-idp-apps',\r\n templateUrl: './idp-apps.component.html',\r\n styleUrls: ['./idp-apps.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [IdpAppTypeName]\r\n})\r\nexport class IdpAppsComponent implements OnInit, AfterViewInit {\r\n displayedColumnsIDP = ['appName', 'samlIssuer', 'createdOn', 'referenceNotes', 'action'];\r\n displayedColumnsEmail = ['domain', 'idpAppName', 'referenceNotes', 'updatedOn', 'action'];\r\n dataSourceIdp: MatTableDataSource = new MatTableDataSource();\r\n dataSourceEmail: MatTableDataSource = new MatTableDataSource();\r\n tenantId = '';\r\n bcgIdpExist = false;\r\n idpAppList = [];\r\n idpAppbj = new IdpAppListsModel();\r\n step1View = false;\r\n\r\n @ViewChild(MatSort, { static: false }) sort: MatSort;\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n public dialog: MatDialog,\r\n public manageProductTenantManagerService: ManageProductTenantManagerService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.tenantId = this.activatedroute.snapshot.queryParamMap.get('tenantId');\r\n this.listIdpApps();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSourceIdp.sort = this.sort;\r\n this.dataSourceEmail.sort = this.sort;\r\n }\r\n\r\n listIdpApps() {\r\n this.manageProductTenantManagerService.getIdpsByTenant(this.tenantId).subscribe(res => {\r\n this.dataSourceIdp = new MatTableDataSource(res.data);\r\n // this.dataSourceEmail = new MatTableDataSource(res.data.emailDomains);\r\n if (res.data.length === 0) {\r\n this.step1View = true;\r\n } else {\r\n this.step1View = false;\r\n }\r\n this.dataSourceIdp.sort = this.sort;\r\n this.idpAppList = [];\r\n this.prepareIDPData(res.data);\r\n this.getEmailDomains();\r\n });\r\n }\r\n\r\n getEmailDomains() {\r\n this.manageProductTenantManagerService.getEmailDomain(this.tenantId).subscribe(res => {\r\n res.forEach(element => {\r\n const idp = this.idpAppList.find(a => a.idpAppId === element.idpAppId);\r\n if (idp) {\r\n element.idpAppName = idp.appName;\r\n element.referenceNotes = idp.referenceNotes;\r\n }\r\n });\r\n console.log(res);\r\n this.dataSourceEmail = new MatTableDataSource(res);\r\n this.dataSourceEmail.sort = this.sort;\r\n });\r\n }\r\n\r\n // add idp app\r\n addIdpApp() {\r\n const title = IdpApp.createIdpApp;\r\n this.openIdpModal(title, null);\r\n }\r\n\r\n // edit idp app\r\n manageIdpApp(val) {\r\n const title = IdpApp.editIdpApp;\r\n this.openIdpModal(title, val);\r\n }\r\n\r\n // add email domain\r\n addEmailDomain() {\r\n const title = EmailDomains.createEmailIDP;\r\n const emailDomainList = this.addEmailDomainsList();\r\n this.openEmailModal(title, null, emailDomainList);\r\n }\r\n\r\n // edit email Domain\r\n manageEmail(val) {\r\n const title = EmailDomains.editEmailIDP;\r\n const emailDomainList = this.addEmailDomainsList();\r\n this.openEmailModal(title, val, emailDomainList);\r\n }\r\n\r\n // add email Domains to list for modal\r\n addEmailDomainsList() {\r\n const emailDomainList = [];\r\n this.dataSourceEmail.data.forEach(val => {\r\n emailDomainList.push({ domain: val.domain, id: val.id });\r\n });\r\n return emailDomainList;\r\n }\r\n\r\n // to check if Bcg idp already exist\r\n checkBcgIdpExist() {\r\n }\r\n\r\n // concatinate idp app names for email Domain List\r\n concatIDP(idpVals) {\r\n let idpNames = [];\r\n idpVals.forEach(element => {\r\n if (element.isDefault) {\r\n idpNames.push(`');\r\n } else {\r\n idpNames.push(`');\r\n }\r\n });\r\n idpNames = idpNames.sort(function (a, b) {\r\n return a.idpAppId - b.idpAppId;\r\n });\r\n return idpNames.join('\\n');\r\n }\r\n\r\n concatIDPUserCount(idpVals) {\r\n let idpNames = [];\r\n idpVals.forEach(element => {\r\n if (element.userCount === 0) {\r\n idpNames.push('');\r\n } else {\r\n idpNames.push('');\r\n }\r\n });\r\n idpNames = idpNames.sort(function (a, b) {\r\n return a.idpAppId - b.idpAppId;\r\n });\r\n return idpNames.join('\\n');\r\n }\r\n\r\n concatReferenceNotes(idpVals) {\r\n let idpNames = [];\r\n idpVals.forEach(element => {\r\n idpNames.push('');\r\n });\r\n idpNames = idpNames.sort(function (a, b) {\r\n return a.idpAppId - b.idpAppId;\r\n });\r\n return idpNames.join('\\n');\r\n }\r\n\r\n // add idp Name, UserCount & id into copy object for Email domain popup\r\n prepareIDPData(idpAppsData) {\r\n idpAppsData.forEach((element: IdpAppModel) => {\r\n this.idpAppbj = new IdpAppListsModel();\r\n this.idpAppbj.appName = element.appName;\r\n this.idpAppbj.referenceNotes = element.description;\r\n this.idpAppbj.idpAppId = element.id;\r\n this.idpAppList.push(this.idpAppbj);\r\n });\r\n }\r\n\r\n // open edit , create idp modal\r\n openIdpModal(title, editData) {\r\n\r\n const dialogRef: MatDialogRef = this.dialog.open(\r\n ModalAddEditIdpComponent,\r\n {\r\n disableClose: true,\r\n autoFocus: false,\r\n data: {\r\n title,\r\n tenantId: this.tenantId,\r\n idpData: editData ? editData : null,\r\n bcgIDPExist: this.bcgIdpExist\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result) {\r\n this.listIdpApps();\r\n }\r\n });\r\n }\r\n\r\n // open edit, create email modal\r\n openEmailModal(title, editData, emailDomainList) {\r\n const dialogRef: MatDialogRef = this.dialog.open(\r\n ModalAddEditEmailComponent,\r\n {\r\n disableClose: true,\r\n autoFocus: false,\r\n data: {\r\n title,\r\n tenantId: this.tenantId,\r\n emailDomainData: editData,\r\n idpList: this.idpAppList,\r\n emailDomainList: emailDomainList,\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result) {\r\n this.getEmailDomains();\r\n }\r\n });\r\n }\r\n\r\n getFormattedDate(row) {\r\n let date = row.modifiedOn ? row.modifiedOn : row.createdOn;\r\n if (date) {\r\n let options: any = { year: 'numeric', month: 'short', day: 'numeric' };\r\n let today = new Date(date);\r\n return today.toLocaleDateString(\"en-US\", options);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n navigateTab() {\r\n let link = document.getElementById('User Management');\r\n //@ts-ignore\r\n link.children[0].click();\r\n // this.router.navigate(['./details/users'], {\r\n // queryParams: { tenantId: this.tenantId },\r\n // queryParamsHandling: 'merge'\r\n // });\r\n }\r\n}\r\n","
\r\n
\r\n
{{selectedTenantName.name}}
\r\n \r\n
\r\n \r\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd, ChildActivationEnd } from '@angular/router';\r\nimport { TenantsUIListModel } from '../models/tenants.model';\r\nimport { ManageProductTenantManagerService } from './manage-product-tenant.service';\r\n\r\n@Component({\r\n selector: 'app-product-tenant',\r\n templateUrl: './manage-product-tenant.component.html',\r\n styleUrls: ['./manage-product-tenant.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ManageProductTenantComponent implements OnInit {\r\n detailsTab = [];\r\n tenantId = '';\r\n activeLinkIndex = 1;\r\n selectedTenantName = new TenantsUIListModel();\r\n constructor(\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n public manageProductTenantManagerService: ManageProductTenantManagerService\r\n ) {\r\n this.detailsTab = [\r\n {\r\n name: 'IDP & Email Domains',\r\n link: './details/idp-apps',\r\n pathname: '/details/idp-apps',\r\n index: 2\r\n }];\r\n }\r\n\r\n ngOnInit() {\r\n this.tenantId = this.activatedroute.snapshot.queryParamMap.get('tenantId');\r\n const tenantList = JSON.parse(localStorage.getItem('tenantsList'));\r\n this.selectedTenantName = tenantList.find(val => val.tenantId === this.tenantId);\r\n const tabTndex = this.detailsTab.findIndex((val) => {\r\n if (window.location.pathname.includes(val.pathname)) {\r\n return val;\r\n }\r\n });\r\n //this.getStratusTenant();\r\n this.activeLinkIndex = this.detailsTab[tabTndex].index;\r\n if (!this.tenantId) {\r\n this.router.navigate(['/dashboard/tenants']);\r\n return;\r\n }\r\n localStorage.setItem('tenantId', this.tenantId);\r\n }\r\n\r\n navigateTab(tabDetails) {\r\n this.router.navigate([tabDetails.link], {\r\n queryParams: { tenantId: this.tenantId },\r\n queryParamsHandling: 'merge'\r\n });\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { appConstants } from '../shared';\r\n\r\n@Injectable()\r\nexport class ManageProductTenantManagerService {\r\n loading: boolean;\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n }\r\n\r\n // Subscription server call ends\r\n\r\n // IDP server call starts\r\n createIdpApp(createData) {\r\n return this.http.post(appConstants.urls.createIdpApp, createData);\r\n }\r\n\r\n editIdpApp(editData) {\r\n return this.http.put(appConstants.urls.editIdpApp, editData);\r\n }\r\n\r\n getIdpsByTenant(tenantId) {\r\n return this.http.get(appConstants.urls.getIdpApp + '?tenantId=' + tenantId)\r\n .pipe(\r\n map((response: any) => ({\r\n data: response\r\n })\r\n )\r\n );\r\n }\r\n\r\n deleteIdpApp(idpId) {\r\n return this.http.delete(appConstants.urls.deleteIdpApp + '?idpAppId=' + idpId);\r\n }\r\n\r\n // IDP server call ends\r\n\r\n // Email Domains server call starts\r\n\r\n getIdpByEmail(tenantId, emailDomain) {\r\n return this.http.get(appConstants.urls.getIdpByEmail + '/' + tenantId + '/email-domain/' + emailDomain)\r\n .pipe(\r\n map((response: any) => ({\r\n data: response,\r\n total: response.length\r\n })\r\n )\r\n );\r\n }\r\n\r\n getEmailDomain(tenantId) {\r\n return this.http.get(appConstants.urls.createEmailDomain + '?tenantId=' + tenantId)\r\n .pipe(\r\n map((response: any) => {\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n createEmailDomain(emailDomainData) {\r\n return this.http.post(appConstants.urls.createEmailDomain, emailDomainData)\r\n .pipe(\r\n map((response: any) => {\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n editEmailDomain(emailDomainData) {\r\n return this.http.put(appConstants.urls.editEmailDomain, emailDomainData)\r\n .pipe(\r\n map((response: any) => {\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n deleteEmailDomain(emailDomainID) {\r\n return this.http.delete(appConstants.urls.deleteEmailDomainByTenant + '?mappingId=' + emailDomainID)\r\n .pipe(\r\n map((response: any) => {\r\n return response;\r\n }\r\n )\r\n );\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n {{title}}\r\n \r\n
\r\n \r\n
\r\n Email Domain\r\n \r\n \r\n \r\n \r\n \r\n Please enter domain\r\n \r\n \r\n \r\n \r\n Please enter valid domain\r\n \r\n \r\n
\r\n Map IDP to Domain\r\n
\r\n
\r\n
\r\n \r\n \r\n {{idpApp.appName}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Please select IDP\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Inject, SecurityContext } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IdpApp, EmailDomains } from '../../shared/utils/enums';\r\nimport { IdpAppModel } from '../../models/product-tenant.model';\r\nimport { IIdpApp } from '../../interfaces/product-tenant.interface';\r\nimport { ManageProductTenantManagerService } from '../manage-product-tenant.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { appConstants, InputRegex } from '../../shared/config';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ModalConfirmComponent } from '../../shared/components/modal-confirm/modal-confirm.component';\r\nimport { CommonService } from '../../services/common.service';\r\n\r\n@Component({\r\n selector: 'app-modal-add-edit-email',\r\n templateUrl: './modal-add-edit-email.component.html',\r\n styleUrls: ['./modal-add-edit-email.component.scss']\r\n})\r\n\r\nexport class ModalAddEditEmailComponent implements OnInit {\r\n addEditEmailIdpForm: FormGroup;\r\n title = '';\r\n clientIdp = false;\r\n editAction = false;\r\n requestInitiated = false;\r\n duplicateEmail = false;\r\n currentAssociations: FormArray;\r\n emailDomainRegex = '^([[\\\\w-.]+\\\\.[A-Za-z]{2,4}?)+$';\r\n idpTypeList = [];\r\n totalUserForEmail = 0;\r\n defaultIDPData: any;\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private manageProductTenantManagerService: ManageProductTenantManagerService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private toastrService: ToastrService,\r\n private sanitizer: DomSanitizer,\r\n private dialog: MatDialog,\r\n private commonService: CommonService\r\n ) {\r\n this.addEditEmailIdpForm = this.formBuilder.group({\r\n domain: ['', [Validators.required, Validators.pattern(this.emailDomainRegex)]],\r\n id: [0],\r\n idpAssociations: this.formBuilder.array([])\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.title = this.data.title;\r\n console.log('this.data ', this.data)\r\n this.editAction = this.title === EmailDomains.editEmailIDP ? true : false;\r\n this.idpTypeList = [];\r\n this.idpTypeList = this.data.idpList;\r\n this.idpTypeList.forEach(val => val.isNotSelectable = false);\r\n if (this.editAction) {\r\n this.patchEditData();\r\n // this.modifyIDPSelectable();\r\n } else {\r\n this.addIDPAssociation(null, true);\r\n }\r\n }\r\n\r\n // getter for form\r\n get getForm() {\r\n return this.addEditEmailIdpForm.controls;\r\n }\r\n\r\n // add association to formarray\r\n addIDPAssociation(idpValue, defaultVal) {\r\n this.currentAssociations = this.addEditEmailIdpForm.get('idpAssociations') as FormArray;\r\n this.currentAssociations.push(this.createAssociation(idpValue, defaultVal));\r\n }\r\n\r\n // create association for idp and default\r\n createAssociation(idpValue, defaultVal) {\r\n return this.formBuilder.group({\r\n idpApp: [idpValue || '', [Validators.required]],\r\n defaultEmailIdp: [defaultVal || false]\r\n });\r\n }\r\n\r\n // patch data to model during edit\r\n patchEditData() {\r\n this.addEditEmailIdpForm.patchValue({\r\n domain: this.data.emailDomainData.domain,\r\n id: this.data.emailDomainData.id\r\n });\r\n this.data.idpList.forEach((ele, index) => {\r\n if (ele.idpAppId === this.data.emailDomainData.idpAppId) {\r\n this.defaultIDPData = ele;\r\n this.addIDPAssociation(ele.idpAppName, ele.isDefault);\r\n this.currentAssociations.controls[index].get('idpApp').patchValue(ele);\r\n this.currentAssociations.controls[index].disable();\r\n }\r\n });\r\n }\r\n\r\n // compare for dropdown values\r\n compareFn(val1: any, val2: any) {\r\n return val1 && val1 ? val1.idpAppId === val2.idpAppId : val1 === val2;\r\n }\r\n\r\n // modify idp availibility for dropdown\r\n modifyIDPSelectable() {\r\n this.idpTypeList.forEach(val => {\r\n const res = this.addEditEmailIdpForm.getRawValue().idpAssociations.some(i => {\r\n if (i.idpApp.idpAppId === val.idpAppId) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n val.isNotSelectable = res;\r\n });\r\n }\r\n\r\n // send data to API\r\n saveEmailIDP() {\r\n if (this.editAction) {\r\n this.editServerDataEmailIDP();\r\n } else {\r\n this.createServerDataEmailIDP();\r\n }\r\n }\r\n\r\n // prepare server data for create email domains \r\n createServerDataEmailIDP() {\r\n this.createServerAPIEmailIDP();\r\n }\r\n\r\n // initiate server data for create email domains \r\n createServerAPIEmailIDP() {\r\n let emailData: any = {};\r\n emailData.domain = this.addEditEmailIdpForm.value.domain;\r\n emailData.tenantId = this.data.tenantId;\r\n emailData.idpAppId = this.addEditEmailIdpForm.getRawValue().idpAssociations[0] && this.addEditEmailIdpForm.getRawValue().idpAssociations[0].idpApp.idpAppId;\r\n\r\n if (this.data.emailDomainList.find(a => a.domain.trim() === emailData.domain.trim())) {\r\n this.toastrService.error('Email domain already exist', 'Error');\r\n return;\r\n }\r\n\r\n this.requestInitiated = true;\r\n this.manageProductTenantManagerService.createEmailDomain(emailData)\r\n .subscribe(res => {\r\n this.requestInitiated = false;\r\n this.toastrService.success(appConstants.messages.emailDomainAdded, 'Success');\r\n setTimeout(() => {\r\n this.closeModal(true);\r\n }, 1000);\r\n },\r\n error => {\r\n this.requestInitiated = false;\r\n });\r\n }\r\n\r\n\r\n // prepare server data for edit email domains \r\n editServerDataEmailIDP() {\r\n this.editServerAPIEmailIDP();\r\n }\r\n\r\n // initiate server data for edit email domains \r\n editServerAPIEmailIDP() {\r\n let emailData: any = {};\r\n emailData.domain = this.addEditEmailIdpForm.value.domain;\r\n emailData.id = this.data.emailDomainData.id;\r\n emailData.idpAppId = this.addEditEmailIdpForm.getRawValue().idpAssociations[0] && this.addEditEmailIdpForm.getRawValue().idpAssociations[0].idpApp.idpAppId;\r\n\r\n\r\n if (this.data.emailDomainList.find(a => a.domain.toLowerCase().trim() === emailData.domain.toLowerCase().trim() && a.id != emailData.id)) {\r\n this.toastrService.error('Email domain already exist', 'Error');\r\n return;\r\n }\r\n\r\n this.requestInitiated = true;\r\n this.manageProductTenantManagerService.editEmailDomain(emailData)\r\n .subscribe(res => {\r\n this.requestInitiated = false;\r\n this.toastrService.success(appConstants.messages.emailDomainAdded, 'Success');\r\n setTimeout(() => {\r\n this.closeModal(true);\r\n }, 1000);\r\n },\r\n error => {\r\n this.requestInitiated = false;\r\n });\r\n }\r\n\r\n // check if there is any default idp set and show warn message\r\n checkDefaultIDPChanged() {\r\n let result = false\r\n this.addEditEmailIdpForm.getRawValue().idpAssociations.forEach((val) => {\r\n if ((val.idpApp.idpAppId === this.defaultIDPData.idpAppId)\r\n && this.defaultIDPData.isDefault !== val.defaultEmailIdp) {\r\n result = true;\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n // check if email domain can be deleted \r\n isEmailDeleteDisabled() {\r\n this.totalUserForEmail = 0;\r\n this.addEditEmailIdpForm.getRawValue().idpAssociations.forEach((val) => {\r\n this.totalUserForEmail += parseInt(val.idpApp.userCount ? val.idpApp.userCount : 0);\r\n });\r\n return this.totalUserForEmail > 0 ? true : false;\r\n }\r\n\r\n // default togled change other defaulted as false\r\n defaultToggled(index) {\r\n this.currentAssociations.controls.forEach((val, i) => {\r\n if (i !== index) {\r\n this.currentAssociations.controls[i].get('defaultEmailIdp').patchValue(false);\r\n }\r\n });\r\n }\r\n\r\n // delete Email Domain API call\r\n deleteEmail() {\r\n console.log(this.data.emailDomainData);\r\n\r\n this.requestInitiated = true;\r\n this.manageProductTenantManagerService.deleteEmailDomain(this.data.emailDomainData.id)\r\n .subscribe(res => {\r\n this.requestInitiated = false;\r\n this.toastrService.success(appConstants.messages.emailDomainDeleted, 'Success');\r\n setTimeout(() => {\r\n this.closeModal(true);\r\n }, 1000);\r\n },\r\n error => {\r\n this.requestInitiated = false;\r\n });\r\n }\r\n\r\n\r\n // If the user clicks the cancel button a.k.a. the go back button, then\\\r\n // just close the modal\r\n closeModal(status) {\r\n this.dialogRef.close(status);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n {{title}}\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n IDP Name\r\n \r\n \r\n \r\n \r\n \r\n Please enter idp name\r\n \r\n \r\n Display Name\r\n \r\n \r\n \r\n \r\n \r\n Please enter display name\r\n \r\n \r\n Sso Url\r\n \r\n \r\n \r\n \r\n \r\n Please enter sso url\r\n \r\n \r\n \r\n \r\n Please enter valid sso url\r\n \r\n \r\n Saml Issuer\r\n \r\n \r\n \r\n \r\n \r\n Please enter saml issuer\r\n \r\n \r\n Certificate\r\n \r\n \r\n \r\n \r\n \r\n Please enter certificate\r\n \r\n \r\n Reference Notes\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
","import { Component, OnInit, Inject, SecurityContext } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IdpApp } from '../../shared/utils/enums';\r\nimport { IdpAppModel } from '../../models/product-tenant.model';\r\nimport { IIdpApp } from '../../interfaces/product-tenant.interface';\r\nimport { ManageProductTenantManagerService } from '../manage-product-tenant.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { appConstants, InputRegex, UrlRegex } from '../../shared/config';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ModalConfirmComponent } from '../../shared/components/modal-confirm/modal-confirm.component';\r\nimport { CommonService } from '../../services/common.service';\r\n\r\n@Component({\r\n selector: 'app-modal-add-edit-idp',\r\n templateUrl: './modal-add-edit-idp.component.html',\r\n styleUrls: ['./modal-add-edit-idp.component.scss']\r\n})\r\n\r\nexport class ModalAddEditIdpComponent implements OnInit {\r\n\r\n addEditIdpForm: FormGroup;\r\n title = '';\r\n idpTypeList = [IdpApp.BCGOktaApp, IdpApp.ClientIdp];\r\n clientIdp = false;\r\n editAction = false;\r\n requestInitiated = false;\r\n enablePemOptions = false;\r\n isBcgIDPSelected = false;\r\n isEncryptionEnabledClass = false;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private manageProductTenantManagerService: ManageProductTenantManagerService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private toastrService: ToastrService,\r\n private sanitizer: DomSanitizer,\r\n private dialog: MatDialog,\r\n private commonService: CommonService\r\n ) {\r\n this.addEditIdpForm = this.formBuilder.group({\r\n appName: ['', Validators.required],\r\n displayName: ['', Validators.required],\r\n ssoUrl: ['', [Validators.required, Validators.pattern(UrlRegex)]],\r\n appCertificate: ['', Validators.required],\r\n description: [''],\r\n samlIssuer: ['', Validators.required],\r\n isDefault: [true],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.title = this.data.title;\r\n this.editAction = this.title === IdpApp.editIdpApp ? true : false;\r\n if (this.editAction) {\r\n this.patchEditData();\r\n }\r\n }\r\n\r\n // getter for form\r\n get getForm() {\r\n return this.addEditIdpForm.controls;\r\n }\r\n\r\n\r\n // toggle product callback field \r\n isEncryptionEnabledToggle(eve) {\r\n this.enablePemOptions = this.addEditIdpForm.get('isDefault').value ? true : false\r\n console.log('this. isDefaultvalue ', this.addEditIdpForm.get('isDefault').value);\r\n if (this.enablePemOptions) {\r\n this.isEncryptionEnabledClass = true;\r\n } else {\r\n this.isEncryptionEnabledClass = false;\r\n }\r\n }\r\n\r\n // patch data to model during edit\r\n patchEditData() {\r\n this.addEditIdpForm.patchValue({\r\n ssoUrl: this.data.idpData.ssoUrl,\r\n samlIssuer: this.data.idpData.samlIssuer,\r\n description: this.data.idpData.description,\r\n appCertificate: this.data.idpData.appCertificate,\r\n appName: this.data.idpData.appName,\r\n displayName: this.data.idpData.displayName,\r\n isDefault: this.data.idpData.isDefault,\r\n });\r\n }\r\n\r\n // validate Data while saving\r\n saveIdp() {\r\n\r\n this.requestInitiated = true;\r\n const idpData: IIdpApp = new IdpAppModel();\r\n idpData.tenantId = this.data.tenantId;\r\n idpData.appCertificate = this.commonService.removeHtmlTags(this.addEditIdpForm.value.appCertificate);\r\n idpData.ssoUrl = this.commonService.removeHtmlTags(this.addEditIdpForm.value.ssoUrl);\r\n idpData.description = this.commonService.removeHtmlTags(this.addEditIdpForm.value.description);\r\n idpData.appName = this.sanitizer.sanitize(SecurityContext.HTML, this.addEditIdpForm.value.appName);\r\n if (this.addEditIdpForm.value.samlIssuer) {\r\n idpData.samlIssuer = this.commonService.removeHtmlTags(this.addEditIdpForm.value.samlIssuer);\r\n } else {\r\n idpData.samlIssuer = idpData.appName;\r\n }\r\n idpData.displayName = this.sanitizer.sanitize(SecurityContext.HTML, this.addEditIdpForm.value.displayName);\r\n idpData.isDefault = this.addEditIdpForm.value.isDefault;\r\n if (this.editAction) {\r\n idpData.id = this.data.idpData.id;\r\n this.editIdp(idpData);\r\n } else {\r\n this.createIdp(idpData);\r\n }\r\n }\r\n\r\n // create IDP server call\r\n createIdp(idpData) {\r\n this.manageProductTenantManagerService.createIdpApp(idpData).subscribe(res => {\r\n console.log(res);\r\n this.toastrService.success(appConstants.messages.idpAppCreated, 'Success');\r\n this.requestInitiated = false;\r\n setTimeout(() => {\r\n this.closeModal(true);\r\n }, 1000);\r\n },\r\n error => {\r\n this.requestInitiated = false;\r\n });\r\n }\r\n\r\n // edit IDP server call\r\n editIdp(idpData) {\r\n this.manageProductTenantManagerService.editIdpApp(idpData).subscribe(res => {\r\n this.toastrService.success(appConstants.messages.idpAppUpdated, 'Success');\r\n this.requestInitiated = false;\r\n setTimeout(() => {\r\n this.closeModal(true);\r\n }, 1000);\r\n },\r\n error => {\r\n this.requestInitiated = false;\r\n this.addEditIdpForm.patchValue({\r\n defaultIdp: this.data.idpData.isDefault\r\n });\r\n });\r\n }\r\n\r\n // delete IDP \r\n // modify if users associated then dont allow delete\r\n deleteIdpApp() {\r\n this.manageProductTenantManagerService.deleteIdpApp(this.data.idpData.id).subscribe(res => {\r\n this.toastrService.success(appConstants.messages.idpAppDeleted, 'Success');\r\n setTimeout(() => {\r\n this.closeModal(true);\r\n }, 300);\r\n },\r\n error => {\r\n });\r\n }\r\n // If the user clicks the cancel button a.k.a. the go back button, then\\\r\n // just close the modal\r\n closeModal(status) {\r\n this.dialogRef.close(status);\r\n }\r\n\r\n}\r\n","export class TenantUserModel {\r\n tenantId: string = null;\r\n email: string = null;\r\n firstName: string = null;\r\n lastName: string = null;\r\n products?: string = null;\r\n productIds?: string = null;\r\n name?: string = null;\r\n userId?: string = null;\r\n idpAppId: string = null;\r\n}\r\n\r\nexport class PagerModel {\r\n currentPage = 1;\r\n endIndex = 0;\r\n endPage = 1;\r\n pageSize = 10;\r\n pages = [];\r\n startIndex = 0;\r\n startPage = 1;\r\n totalItems = 0;\r\n totalPages = 1;\r\n}\r\n\r\nexport class IdpAppModel {\r\n id: number = 0;\r\n appName: string = null;\r\n displayName: string = null;\r\n ssoUrl: string = null;\r\n idpUrl: string = null;\r\n appCertificate: string = null;\r\n tenantId: string = null;\r\n idpAppId: string = null;\r\n description: string = null;\r\n samlIssuer: string = null;\r\n usersCount: number = 0;\r\n isDefault: boolean = false;\r\n}\r\n\r\nexport class IdpAppListsModel {\r\n appName: string = null;\r\n idpAppId: number = null;\r\n referenceNotes: string = null;\r\n}\r\n\r\nexport class EmailDomainListsModel {\r\n emailDomain: string = null;\r\n emailDomainId: string = null;\r\n tenantId: string = null;\r\n userCount: number = 0;\r\n idpApps = [];\r\n}","export class TenantsListModel {\r\n name: string = null;\r\n tenantid: string = null;\r\n businessUnitName: string = null;\r\n organizationName: string = null;\r\n description: string = null;\r\n}\r\n\r\nexport class TenantsUIListModel {\r\n name: string = null;\r\n tenantid: string = null;\r\n businessUnit: string = null;\r\n organization: string = null;\r\n description: string = null;\r\n}\r\n","
\r\n \r\n Reset Password\r\n \r\n\r\n \r\n
\r\n
\r\n Enter current password\r\n \r\n \r\n \r\n \r\n \r\n Please enter password\r\n \r\n \r\n \r\n \r\n Password should be atleast 12 characters long\r\n \r\n \r\n
\r\n
\r\n Enter new password\r\n \r\n \r\n \r\n \r\n \r\n Please enter password\r\n \r\n \r\n \r\n \r\n Password should be atleast 12 characters long\r\n \r\n \r\n
\r\n
\r\n Confirm password\r\n \r\n \r\n \r\n \r\n \r\n Please enter confirm password\r\n \r\n \r\n \r\n \r\n Confirm password should be atleast 12 characters long\r\n \r\n \r\n \r\n \r\n New password & confirm password should match\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../environments/environment';\r\nimport { LoginService } from '../login/login.service';\r\nimport { CommonService } from '../services';\r\nimport { AppCookieService } from '../services/app.cookie.service';\r\nimport { CustomValidators } from '../shared';\r\n\r\n@Component({\r\n selector: 'app-new-password',\r\n templateUrl: './new-password.component.html',\r\n styleUrls: ['./new-password.component.scss']\r\n})\r\nexport class NewPasswordComponent implements OnInit {\r\n passwordForm: FormGroup;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private toastrService: ToastrService,\r\n private loginService: LoginService,\r\n private appCookieService: AppCookieService,\r\n private commonService: CommonService,\r\n ) {\r\n this.passwordForm = this.formBuilder.group({\r\n password: ['', [Validators.required, Validators.minLength(12)]],\r\n currentPassword: ['', [Validators.required, Validators.minLength(5)]],\r\n confirmPassword: ['', [Validators.required, Validators.minLength(12), this.validateAreEqual.bind(this)]]\r\n });\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n private validateAreEqual(fieldControl: FormControl) {\r\n console.log('fieldControl.value ', fieldControl.value)\r\n return fieldControl.value && fieldControl.value === this.passwordForm.controls[\"password\"].value ? null : {\r\n NotEqual: true\r\n };\r\n }\r\n\r\n setNewPassword() {\r\n if (this.passwordForm.valid) {\r\n console.log(this.passwordForm.value);\r\n const passwordObj = {\r\n password: this.commonService.removeHtmlTags(this.passwordForm.value.password),\r\n currentPassword: this.commonService.removeHtmlTags(this.passwordForm.value.currentPassword)\r\n }\r\n this.loginService.setNewPassword(passwordObj).subscribe((res: any) => {\r\n console.log(res);\r\n this.toastrService.success('Password updated successfully ', 'Success');\r\n this.router.navigate(['/dashboard/tenants'])\r\n },\r\n err => {\r\n console.log(err)\r\n // this.router.navigate(['/dashboard/tenants'])\r\n })\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as OktaSignIn from '@okta/okta-signin-widget';\r\nimport { of } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { LocalLoggerService } from './services/local-logger.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OktaAuthService {\r\n signIn: any;\r\n\r\n constructor(private http: HttpClient,\r\n private loggerService: LocalLoggerService) { }\r\n\r\n signInWidgetConfig = {\r\n language: 'en',\r\n clientId: '0oa21brbassrg9Gdq357',\r\n redirectUri: window.location.origin + '/oktaauthcallback',\r\n pkce: true,\r\n\r\n baseUrl: 'https://dev-633609.okta.com',\r\n authParams: {\r\n responseType: ['id_token', 'token'],\r\n display: 'page',\r\n issuer: 'https://dev-633609.okta.com/oauth2/default',\r\n response_mode: 'fragment',\r\n grantType: 'implicit',\r\n scopes: ['openid', 'email', 'profile', 'address', 'phone']\r\n },\r\n };\r\n\r\n setOkta() {\r\n this.signIn = new OktaSignIn(this.signInWidgetConfig);\r\n this.loggerService.logForDev(this.signIn);\r\n return of(this.signIn);\r\n }\r\n getOktaProps() {\r\n this.loggerService.logForDev(this.signIn);\r\n return of(this.signIn);\r\n }\r\n\r\n customLogin(obj) {\r\n this.loggerService.logForDev(obj);\r\n obj.options = {\r\n multiOptionalFactorEnroll: false,\r\n warnBeforePasswordExpired: true\r\n };\r\n return this.http.post(`https://dev-633609.okta.com/api/v1/authn`, obj);\r\n }\r\n}\r\n","

\r\n Okta authcallback successful! Redirecting to home page\r\n

\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from '../../environments/environment';\r\nimport { OktaAuthService } from '../okta-auth.service';\r\nimport { AppCookieService } from '../services/app.cookie.service';\r\nimport { LocalLoggerService } from '../services/local-logger.service';\r\nimport jwt_decode from 'jwt-decode';\r\n\r\n@Component({\r\n selector: 'app-oktaauthcallback',\r\n templateUrl: './oktaauthcallback.component.html',\r\n styleUrls: ['./oktaauthcallback.component.scss'],\r\n providers: [OktaAuthService, AppCookieService]\r\n})\r\nexport class OktaauthcallbackComponent implements OnInit {\r\n oktaObj;\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private localLoggerService: LocalLoggerService,\r\n private oktaService: OktaAuthService,\r\n private appCookieService: AppCookieService) {\r\n\r\n this.oktaService.setOkta().subscribe(res => {\r\n this.localLoggerService.logForDev('res finale', res);\r\n this.oktaObj = res;\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.localLoggerService.logForDev('res finale this.getParam(access_token)', this.oktaObj, this.getParam('access_token'));\r\n // tslint:disable-next-line: no-debugger\r\n this.route.queryParams.subscribe(a => {\r\n this.localLoggerService.logForDev(a);\r\n const token = new URLSearchParams(a).get('access_token');\r\n if (token) {\r\n //localStorage.setItem('accessToken', token);\r\n //this.appCookieService.set('accessToken', token);\r\n const decodedJwtToken: any = jwt_decode(token);\r\n const cookieExpirationTime: number = decodedJwtToken && decodedJwtToken.exp && decodedJwtToken.iat\r\n ? (decodedJwtToken.exp - decodedJwtToken.iat)\r\n : 1800;\r\n this.appCookieService.setWithExpirationPeriod('accessToken', token, cookieExpirationTime);\r\n this.router.navigate(['/dashboard/tenants']);\r\n } else {\r\n document.location.href = window.origin + `/login`;\r\n }\r\n });\r\n }\r\n\r\n getParam(name) {\r\n const results = new RegExp('[\\\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n if (!results) {\r\n return '0';\r\n }\r\n return results[1] || '0';\r\n }\r\n}\r\n","
\r\n \r\n Reset Password\r\n \r\n\r\n \r\n
\r\n
\r\n Enter Email Address\r\n \r\n \r\n \r\n \r\n \r\n Please enter email address\r\n \r\n \r\n \r\n \r\n Please enter valid email address\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../environments/environment';\r\nimport { LoginService } from '../login/login.service';\r\nimport { CommonService } from '../services';\r\nimport { AppCookieService } from '../services/app.cookie.service';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.scss']\r\n})\r\nexport class ResetComponent implements OnInit {\r\n resetForm: FormGroup;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private toastrService: ToastrService,\r\n private loginService: LoginService,\r\n private appCookieService: AppCookieService,\r\n private commonService: CommonService,\r\n ) {\r\n this.resetForm = this.formBuilder.group({\r\n UserName: ['', [Validators.required, Validators.email]],\r\n });\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n resetPassword() {\r\n if (this.resetForm.valid) {\r\n console.log(this.resetForm.value);\r\n const loginObj = {\r\n UserName: this.commonService.removeHtmlTags(this.resetForm.value.UserName),\r\n }\r\n this.loginService.resetPassword(loginObj).subscribe((res: any) => {\r\n console.log(res);\r\n if (res && res.token) {\r\n this.appCookieService.set('authToken', res.token)\r\n document.location.href = `${window.origin}/dashboard/tenants`;\r\n }\r\n },\r\n err => {\r\n console.log(err)\r\n this.toastrService.error('Something went wrong ', err);\r\n })\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\n \r\n@Injectable({\r\n providedIn: 'root',\r\n })\r\nexport class AppCookieService {\r\n private cookieStore = {};\r\n \r\n constructor() {\r\n this.parseCookies(document.cookie);\r\n }\r\n \r\n public parseCookies(cookies = document.cookie) {\r\n this.cookieStore = {};\r\n if (!!cookies === false) { return; }\r\n const cookiesArr = cookies.split(';');\r\n for (const cookie of cookiesArr) {\r\n const cookieArr = cookie.split('=');\r\n this.cookieStore[cookieArr[0].trim()] = cookieArr[1];\r\n }\r\n }\r\n \r\n get(key: string) {\r\n this.parseCookies();\r\n return !!this.cookieStore[key] ? this.cookieStore[key] : null;\r\n }\r\n \r\n remove(key: string) {\r\n document.cookie = `${key} = ; expires=Thu, 1 jan 1990 12:00:00 UTC; path=/`;\r\n }\r\n \r\n set(key: string, value: string) {\r\n document.cookie = key + '=' + (value || '') + ';SameSite=Strict;secure';\r\n }\r\n\r\n setWithExpirationPeriod(key: string, value: string, expirationPeriodInSeconds: number) {\r\n this.remove(key);\r\n const now = new Date();\r\n const time = now.getTime();\r\n const expireTime = time + expirationPeriodInSeconds * 1000;\r\n now.setTime(expireTime);\r\n document.cookie = key + '=' + (value || '') + ';expires=' + now.toUTCString() +';path=/;SameSite=Strict;secure';\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { appConstants } from '../shared';\r\nimport { IRegionData } from '../interfaces/region.interface';\r\n\r\n@Injectable()\r\nexport class CommonService {\r\n loading: boolean;\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n }\r\n\r\n removeHtmlTags(val) {\r\n if (val && val.length > 0) {\r\n let output = val.replace(/(<([^>]+)>)/ig, \"\");\r\n return output.trim();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../environments/environment';\r\nimport { RunningMode } from './../shared/utils/enums';\r\n\r\n@Injectable()\r\nexport class LocalLoggerService {\r\n constructor(\r\n ) { }\r\n\r\n logForDev(...args) {\r\n // console.log(...args);\r\n }\r\n\r\n logError(...args) {\r\n console.error(...args);\r\n }\r\n}\r\n\r\n","
\r\n

Warning

\r\n
\r\n

Your session will expire in less than {{countdown}} second(s).\r\n

Please press any key or move mouse to resume current session.

\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Idle } from '@ng-idle/core';\r\n\r\n@Component({\r\n selector: 'app-idle-warning',\r\n templateUrl: './idle-warning.component.html',\r\n styleUrls: ['./idle-warning.component.scss']\r\n})\r\nexport class IdleWarningComponent implements OnInit {\r\n countdown: number;\r\n constructor(\r\n private idle: Idle\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.idle.onTimeoutWarning.subscribe((countdown) => {\r\n this.countdown = countdown;\r\n });\r\n }\r\n\r\n}\r\n","export * from './idle-warning/idle-warning.component';\r\nexport * from './page-not-found/page-not-found.component';\r\nexport * from './unauthorised/unauthorised.component';\r\nexport * from './modal-confirm/modal-confirm.component';\r\n","
\r\n\t
\r\n\t\t{{ data.title }}\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { IModalConfirmButtons, IModalConfirmData } from '../../../interfaces';\r\n\r\n@Component({\r\n selector: 'app-modal-confirm',\r\n templateUrl: 'modal-confirm.component.html',\r\n styleUrls: ['./modal-confirm.component.scss']\r\n})\r\nexport class ModalConfirmComponent implements OnInit {\r\n buttons: IModalConfirmButtons = {\r\n ok: {\r\n toShow: true,\r\n label: 'Continue'\r\n },\r\n cancel: {\r\n toShow: true,\r\n label: 'Cancel'\r\n }\r\n };\r\n emailDomain: '';\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (typeof this.data.buttons !== 'undefined') {\r\n Object.assign(this.buttons.ok, this.data.buttons.ok);\r\n Object.assign(this.buttons.cancel, this.data.buttons.cancel);\r\n }\r\n document.getElementById('modalMsg').innerHTML = this.data.message;\r\n }\r\n\r\n // If the user clicks the cancel button a.k.a. the go back button, then\\\r\n // just close the modal\r\n closeModal(status) {\r\n this.dialogRef.close(status);\r\n }\r\n}\r\n","
\r\n
\r\n

Work in progress

\r\n
\r\n
\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n // styleUrls: ['./page-not-found.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n

Unauthorized!!!

\r\n\r\n\r\n
\r\n\r\n\r\n\r\n \r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport * as OktaSignIn from '@okta/okta-signin-widget';\r\nimport '@okta/okta-signin-widget/dist/css/okta-sign-in.min.css';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-unauthorised',\r\n templateUrl: './unauthorised.component.html',\r\n // styleUrls: ['./unauthorised.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UnauthorisedComponent implements OnInit {\r\n signIn: any;\r\n constructor(\r\n private router: Router\r\n ) {\r\n // this.signIn = new OktaSignIn({ baseUrl: 'https://dev-633609.okta.com' });\r\n }\r\n\r\n ngOnInit() {\r\n // if(localStorage.getItem('authKey') && localStorage.getItem('authKey') != null && localStorage.getItem('authKey') != undefined){\r\n // this.router.navigate(['/home']);\r\n // }else{\r\n // //this.router.navigate(['/unauthorised']);\r\n // }\r\n // this.signIn.remove()\r\n // this.signIn.renderEl({\r\n // el: '#widget-container',\r\n // authParams: {\r\n // issuer: 'https://dev-633609.okta.com/oauth2/default'\r\n // }\r\n // }, (res) => {\r\n // if (res.status === 'SUCCESS') {\r\n // console.log('Do something with this sessionToken', res, res.session.token);\r\n // localStorage.setItem('authKey', res.session.token);\r\n // document.querySelector(\"#widget-container\").remove();\r\n // this.router.navigate(['/home'])\r\n // } else {\r\n // // The user can be in another authentication state that requires further action.\r\n // // For more information about these states, see:\r\n // // https://github.com/okta/okta-signin-widget#rendereloptions-success-error\r\n // }\r\n // });\r\n }\r\n\r\n}\r\n","import { environment } from '../../environments/environment';\r\n\r\nexport enum RoutePermissionType {\r\n AtLeastOneRole = 1,\r\n AllRole = 2,\r\n OnlyLoginRequired = 3\r\n}\r\n\r\nexport enum AuthorizationResult {\r\n Success = 1,\r\n LoginRequired = 2,\r\n Unauthorised = 3\r\n}\r\n\r\nexport const InputRegex = '^[ A-Za-z0-9_@.,;#&-]*$';\r\nexport const Email = '^[_a-z0-9]+(\\.[_a-z0-9]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,4})$';\r\nexport const UrlRegex = `(^(http|https)?:\\/\\/localhost:[0-9]{1,5}\\/([-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*))|` +\r\n `((http|https)://)?(www.)?`\r\n + `[a-zA-Z0-9@:%._\\\\+~#?&//=]{2,256}\\\\.[a-z]`\r\n + `{2,6}\\\\b([-a-zA-Z0-9@:%._\\\\+~#?&//=]*)`;\r\n\r\nclass AppUrls {\r\n // base urls\r\n swpIamBaseUrl = `${environment.swpIamBaseUrl}`;\r\n // iam service urls\r\n // tenant service urls\r\n getTenantsList = `${this.swpIamBaseUrl}/tenant`;\r\n createTenant = `${this.swpIamBaseUrl}/tenant`;\r\n editTenant = `${this.swpIamBaseUrl}/tenant`;\r\n deleteTenant = `${this.swpIamBaseUrl}/tenant`;\r\n\r\n // Idp Apps & Email Domains\r\n getIdpApp = `${this.swpIamBaseUrl}/idpapp`;\r\n createIdpApp = `${this.swpIamBaseUrl}/idpapp`;\r\n editIdpApp = `${this.swpIamBaseUrl}/idpapp`;\r\n deleteIdpApp = `${this.swpIamBaseUrl}/idpapp`;\r\n getIdpByEmail = `${this.swpIamBaseUrl}/idpapps/tenant`;\r\n getIdpEmailList = `${this.swpIamBaseUrl}/idpdomainmapping`;\r\n createEmailDomain = `${this.swpIamBaseUrl}/idpdomainmapping`;\r\n getEmailDomain = `${this.swpIamBaseUrl}/idpdomainmapping`;\r\n editEmailDomain = `${this.swpIamBaseUrl}/idpdomainmapping`;\r\n deleteEmailDomainByTenant = `${this.swpIamBaseUrl}/idpdomainmapping`;\r\n // Deprecated \r\n getIdpAppTenant = `${this.swpIamBaseUrl}/idp-apps/tenant`;\r\n\r\n // API Keys \r\n getAPIKeyList = `${this.swpIamBaseUrl}/api-key/product`;\r\n createAPIKey = `${this.swpIamBaseUrl}/api-key`;\r\n deleteAPIKey = `${this.swpIamBaseUrl}/api-key`;\r\n}\r\n\r\nclass AppKeys {\r\n emailRegex = new RegExp(\r\n /^([a-zA-Z0-9_\\.\\-\\+])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/\r\n );\r\n passwordRegex = new RegExp(\r\n '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})'\r\n );\r\n user = 'userInfo';\r\n token = 'accessToken';\r\n storageType = 'localStorage';\r\n}\r\n\r\nclass AppMessages {\r\n // User Messages\r\n deleteUserSuccessMessage = 'User Deleted';\r\n updateUserSuccessMessage = 'User Updated';\r\n addUserSuccessMessage = 'User Added';\r\n\r\n // Tenant MEssages\r\n tenantCreated = 'Tenant Registered Successfully';\r\n editTenant = 'Tenant Updated Successfully';\r\n tenantCreationError = 'Failure in Tenant Registration';\r\n tenantUpdationError = 'Tenant Edit Failed';\r\n tenantCreateLabel = 'Register Tenant';\r\n tenantEditLabel = 'Edit Tenant';\r\n tenantDeletedMessage = 'Tenant and its assocaited entities deleted successfully';\r\n // Idp Messages\r\n idpAppCreated = 'Idp App Created';\r\n idpAppUpdated = 'Idp App Updated';\r\n idpAppDeleted = 'Idp App Deleted';\r\n\r\n // Email Domain Message\r\n emailDomainAdded = 'Email Domain Added';\r\n emailDomainEdited = 'Email Domain Updated';\r\n emailDomainDeleted = 'Email Domain Deleted';\r\n\r\n // warning Messages\r\n idpOverride = 'An IdP already exists for email domain ${emailDomain}. \\n' +\r\n 'Are you sure you want to add a secondary IdP? \\n' +\r\n 'If you proceed, the existing IdP will be the default and the new IdP will become available as a secondary IdP for ${emailDomain}';\r\n subscriptionWithUserDeletion = 'users will be disassociated from the subscription. \\n' +\r\n 'Do you want to Continue?';\r\n // generic messages\r\n noDescription = 'No Description';\r\n lastSubscriptionDeletion = 'This was the last subscription for tenant . Do you also want to delete the tenant and associated email domain, IDP apps ?\\n';\r\n\r\n\r\n // API Key Messages\r\n apiKeyCreated = 'API Key Created';\r\n // Delete Tenant\r\n tenantDelete = 'Are you sure want to delete this tenant & all its entities including - IDPs, Email Domains?'\r\n}\r\n\r\nclass AppStorageTypes {\r\n local = 'localStorage';\r\n session = 'sessionStorage';\r\n}\r\n\r\n/**\r\n * App constants\r\n */\r\nclass AppConstants {\r\n // tslint:disable-next-line: variable-name\r\n private static _instance: AppConstants;\r\n public urls: AppUrls = new AppUrls();\r\n public keys: AppKeys = new AppKeys();\r\n public messages: AppMessages = new AppMessages();\r\n public storageTypes: AppStorageTypes = new AppStorageTypes();\r\n\r\n private constructor() {\r\n if (AppConstants._instance) {\r\n throw new Error(\r\n 'Error: Instantiation failed: Use AppConstants.getInstance() instead of new.'\r\n );\r\n }\r\n AppConstants._instance = this;\r\n }\r\n\r\n public static getInstance(): AppConstants {\r\n return this._instance || new AppConstants();\r\n }\r\n}\r\n\r\nexport const appConstants = AppConstants.getInstance();\r\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[appDebounceClick]'\r\n})\r\nexport class DebounceClickDirective implements OnInit, OnDestroy {\r\n @Input() debounceTime = 500;\r\n @Output() debounceClick = new EventEmitter();\r\n private clicks = new Subject();\r\n private subscription: Subscription;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.subscription = this.clicks.pipe(\r\n debounceTime(this.debounceTime)\r\n ).subscribe(e => this.debounceClick.emit(e));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.clicks.next(event);\r\n }\r\n}","export * from './config';\r\nexport * from './components';\r\nexport * from './shared.module';\r\nexport * from './utils';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { IdpApp, CommonEnums } from '../utils/enums';\r\n@Pipe({\r\n name: 'idpAppTypeName'\r\n})\r\n\r\nexport class IdpAppTypeName implements PipeTransform {\r\n transform(data): string {\r\n return data === IdpApp.bcgIdpType ? CommonEnums.BCGOktaIdp : CommonEnums.ClientIdp;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport {\r\n FormsModule,\r\n ReactiveFormsModule\r\n} from '@angular/forms'; /* while reactive login form used*/\r\n\r\nimport { PlatformModule } from '@angular/cdk/platform';\r\nimport { ObserversModule } from '@angular/cdk/observers';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { NgProgressModule } from '@ngx-progressbar/core';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { IdpAppTypeName } from './pipes/idpAppTypeName.pipe';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport { DebounceClickDirective } from './directives/debounce.directive';\r\n\r\n@NgModule({\r\n declarations: [IdpAppTypeName, FilterPipe, DebounceClickDirective],\r\n imports: [ToastrModule.forRoot(), CommonModule, FlexLayoutModule,\r\n MatButtonModule, MatDialogModule, MatFormFieldModule],\r\n exports: [\r\n CommonModule,\r\n IdpAppTypeName,\r\n FilterPipe,\r\n DebounceClickDirective,\r\n MatFormFieldModule,\r\n MatTooltipModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n RouterModule,\r\n FlexLayoutModule,\r\n NgProgressModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ObserversModule,\r\n PlatformModule,\r\n MatCardModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n NgbModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatListModule\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export function getBaseLocation() {\r\n // const paths: string[] = location.pathname.split('/').splice(1, 1);\r\n // if (paths && paths[0] === 'canary' && environment.baseUIPath === 'canary') {\r\n // const basePath: string = (paths && paths[0]) || '';\r\n // return '/' + basePath;\r\n // }\r\n return '/';\r\n}\r\n\r\nlet b64DecodeUnicode = str =>\r\n decodeURIComponent(\r\n Array.prototype.map.call(atob(str), c =>\r\n '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n ).join(''))\r\n\r\nexport const parseJwt = token =>\r\n JSON.parse(\r\n b64DecodeUnicode(\r\n token.split('.')[1].replace('-', '+').replace('_', '/')\r\n )\r\n )\r\n\r\nexport const dates = {\r\n convert: function (d) {\r\n // Converts the date in d to a date-object. The input can be:\r\n // a date object: returned without modification\r\n // an array : Interpreted as [year,month,day]. NOTE: month is 0-11.\r\n // a number : Interpreted as number of milliseconds\r\n // since 1 Jan 1970 (a timestamp) \r\n // a string : Any format supported by the javascript engine, like\r\n // \"YYYY/MM/DD\", \"MM/DD/YYYY\", \"Jan 31 2009\" etc.\r\n // an object : Interpreted as an object with year, month and date\r\n // attributes. **NOTE** month is 0-11.\r\n return (\r\n d.constructor === Date ? d :\r\n d.constructor === Array ? new Date(d[0], d[1], d[2]) :\r\n d.constructor === Number ? new Date(d) :\r\n d.constructor === String ? new Date(d) :\r\n typeof d === \"object\" ? new Date(d.year, d.month, d.date) :\r\n NaN\r\n );\r\n },\r\n compare: function (a: any, b: any) {\r\n // Compare two dates (could be of any type supported by the convert\r\n // function above) and returns:\r\n // -1 : if a < b\r\n // 0 : if a = b\r\n // 1 : if a > b\r\n // NaN : if a or b is an illegal date\r\n // NOTE: The code inside isFinite does an assignment (=).\r\n return (\r\n isFinite(a = this.convert(a).valueOf()) &&\r\n isFinite(b = this.convert(b).valueOf()) ?\r\n //@ts-ignore\r\n (a > b) - (a < b) :\r\n NaN\r\n );\r\n },\r\n inRange: function (d, start, end) {\r\n // Checks if date in d is between dates in start and end.\r\n // Returns a boolean or NaN:\r\n // true : if d is between start and end (inclusive)\r\n // false : if d is before start or after end\r\n // NaN : if one or more of the dates is illegal.\r\n // NOTE: The code inside isFinite does an assignment (=).\r\n return (\r\n isFinite(d = this.convert(d).valueOf()) &&\r\n isFinite(start = this.convert(start).valueOf()) &&\r\n isFinite(end = this.convert(end).valueOf()) ?\r\n start <= d && d <= end :\r\n NaN\r\n );\r\n }\r\n}","import { FormControl, FormGroup, AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\n/**\r\n * Custom validator\r\n */\r\nexport class CustomValidators {\r\n /**\r\n * validates inputs controls text match\r\n */\r\n static areEqual(group: FormGroup) {\r\n let val;\r\n let valid = true;\r\n\r\n for (const name in group.controls) {\r\n if (val === undefined) {\r\n val = group.controls[name].value;\r\n } else {\r\n if (val !== group.controls[name].value) {\r\n valid = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (valid) {\r\n return null;\r\n }\r\n\r\n return {\r\n areEqual: true\r\n };\r\n }\r\n\r\n /*validates email business rule\r\n */\r\n static emailDomainValidator(control: FormControl) {\r\n const email = control.value;\r\n if (email && email.indexOf('@') !== -1) {\r\n const [_, domain] = email.split('@');\r\n if (domain !== 'bcg.com') {\r\n return {\r\n emailDomain: {\r\n parsedDomain: domain\r\n }\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n static pattern(reg: RegExp): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n const value = control.value as string ? control.value as string : '';\r\n return value.match(reg) ? null : { pattern: { value } };\r\n };\r\n }\r\n}\r\n","export enum StatusCodes {\r\n SUCCESS = 200,\r\n NOT_FOUND = 404,\r\n BAD_REQUEST = 400,\r\n UNAUTHORIZED = 401,\r\n DUPLICATE = 409,\r\n SOMETHING_WENT_WRONG = 500,\r\n OK = 200,\r\n CREATED = 201,\r\n ACCEPTED = 202,\r\n INTERNAL_SERVER_ERROR = 500,\r\n CONFLICT = 409\r\n}\r\n\r\nexport enum RunningMode {\r\n localhost = 'localhost'\r\n}\r\n\r\nexport enum RoleTypeEnums {\r\n UserRole = 'UserRole',\r\n APIRole = 'APIRole',\r\n UserRoleText = 'User Role',\r\n APIRoleText = 'API Role'\r\n}\r\n\r\nexport enum RouteMethodType {\r\n GET = 'GET',\r\n POST = 'POST',\r\n PUT = 'PUT',\r\n DELETE = 'DELETE',\r\n OPTIONS = 'OPTIONS',\r\n HEAD = 'HEAD'\r\n}\r\n\r\nexport enum CommonEnums {\r\n routes = 'routes',\r\n userRoute = 'userRoutes',\r\n apiRoute = 'apiRoutes',\r\n BCGOktaIdp = 'BCG IDP',\r\n ClientIdp = 'Client IDP',\r\n Valid = 'VALID',\r\n InValid = 'INVALID'\r\n}\r\n\r\nexport enum ConstantDomains {\r\n bcg = 'bcg.com',\r\n bcgtools = 'bcgtools.com',\r\n}\r\n\r\nexport enum ActionType {\r\n create = 'Create',\r\n edit = 'Edit'\r\n}\r\n\r\nexport enum IdpApp {\r\n createIdpApp = 'Add Identity Provider',\r\n editIdpApp = 'Edit Add Identity Provider',\r\n ClientIdp = 'Client IDP',\r\n BCGOktaApp = 'BCG Okta IDP',\r\n bcgIdpType = 'BCGOktaIdp',\r\n clientIdpType = 'ClientIdp'\r\n}\r\n\r\nexport enum EmailDomains {\r\n createEmailIDP = 'Add Email Domain',\r\n editEmailIDP = 'Edit Email Domain',\r\n}\r\n","export * from './custom.validators';\r\n","export const environment = {\r\n production: false,\r\n baseUIPath: '',\r\n serviceName: 'stratus-ui',\r\n envName: 'dev',\r\n swpIamBaseUrl: 'https://swp-iam-dev.bcg.com/api',\r\n};\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"],"sourceRoot":"webpack:///"}