{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-reload/app-reload.directive.ts","webpack:///./src/app/app-reload/idle-base.ts","webpack:///./src/app/app-reload/idle.ts","webpack:///./src/app/app.component.ts.AppComponent.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/catchall.component.ts.CatchAllComponent.html","webpack:///./src/app/catchall.component.ts","webpack:///./src/app/config.ts","webpack:///./src/app/dashboard.component.ts.DashboardComponent.html","webpack:///./src/app/dashboard.component.ts","webpack:///./src/app/domain-verification/add-domain.component.ts.AddIdPDomainComponent.html","webpack:///./src/app/domain-verification/add-domain.component.ts","webpack:///./src/app/domain-verification/domain-verification.component.ts.DomainVerificationComponent.html","webpack:///./src/app/domain-verification/domain-verification.component.ts","webpack:///./src/app/footer.component.ts.FooterComponent.html","webpack:///./src/app/footer.component.ts","webpack:///./src/app/guard/auth.ts","webpack:///./src/app/identity_access.component.ts.IdentityAccessComponent.html","webpack:///./src/app/identity_access.component.ts","webpack:///./src/app/idps/attribute-add-edit.component.ts.AddEditAttributeComponent.html","webpack:///./src/app/idps/attribute-add-edit.component.ts","webpack:///./src/app/idps/idp-add-edit.component.ts.AddEditIdPComponent.html","webpack:///./src/app/idps/idp-add-edit.component.ts","webpack:///./src/app/idps/idp-config.component.ts.IdPConfigComponent.html","webpack:///./src/app/idps/idp-config.component.ts","webpack:///./src/app/idps/idp-endpoints.component.ts.IdPEndpointsComponent.html","webpack:///./src/app/idps/idp-endpoints.component.ts","webpack:///./src/app/idps/idps.component.ts.IdpsComponent.html","webpack:///./src/app/idps/idps.component.ts","webpack:///./src/app/idpuser-roles/add_update_idpuser_roles.component.ts.IdPUserRoleComponent.html","webpack:///./src/app/idpuser-roles/add_update_idpuser_roles.component.ts","webpack:///./src/app/idpuser-roles/idpuser_roles.component.ts.IdPUserRolesListComponent.html","webpack:///./src/app/idpuser-roles/idpuser_roles.component.ts","webpack:///./src/app/idpusers/add_edit_idpuser.component.ts.IdPUserComponent.html","webpack:///./src/app/idpusers/add_edit_idpuser.component.ts","webpack:///./src/app/idpusers/idpusers_list.component.ts.IdPUsersListComponent.html","webpack:///./src/app/idpusers/idpusers_list.component.ts","webpack:///./src/app/login.component.ts.LoginComponent.html","webpack:///./src/app/login.component.ts","webpack:///./src/app/models/find_account_association.ts","webpack:///./src/app/models/find_idp.ts","webpack:///./src/app/models/find_idp_roles_mapping.ts","webpack:///./src/app/models/find_idpuser.ts","webpack:///./src/app/models/find_idpuser_role.ts","webpack:///./src/app/models/identity_user.ts","webpack:///./src/app/models/idp.ts","webpack:///./src/app/models/idp_domain_request.ts","webpack:///./src/app/models/idp_request.ts","webpack:///./src/app/models/idp_roles_mapping_request.ts","webpack:///./src/app/models/idp_roles_mapping_text_search.ts","webpack:///./src/app/models/idpuser.ts","webpack:///./src/app/models/idpuser_request.ts","webpack:///./src/app/models/idpuser_role.ts","webpack:///./src/app/models/idpuser_text_search.ts","webpack:///./src/app/models/invite_user.ts","webpack:///./src/app/models/oauth-token-request.ts","webpack:///./src/app/models/oauth-token.ts","webpack:///./src/app/models/oauth_response.ts","webpack:///./src/app/models/saml2_attribute.ts","webpack:///./src/app/models/saml2_config.ts","webpack:///./src/app/models/test_urls_reply.ts","webpack:///./src/app/models/token.ts","webpack:///./src/app/models/user.ts","webpack:///./src/app/roles-mapping/add-edit-roles-mapping.component.ts.AddEditRolesMappingComponent.html","webpack:///./src/app/roles-mapping/add-edit-roles-mapping.component.ts","webpack:///./src/app/roles-mapping/roles-mapping.component.ts.RolesMappingComponent.html","webpack:///./src/app/roles-mapping/roles-mapping.component.ts","webpack:///./src/app/services/account.service.moc.ts","webpack:///./src/app/services/account.service.ts","webpack:///./src/app/services/app.service.ts","webpack:///./src/app/services/http.service.ts","webpack:///./src/app/services/identity.service.moc.ts","webpack:///./src/app/services/identity.service.ts","webpack:///./src/app/shared/alert-yesno.directive.ts.AlertYesNoDirective.html","webpack:///./src/app/shared/alert-yesno.directive.ts","webpack:///./src/app/shared/alert.directive.ts.AlertDirective.html","webpack:///./src/app/shared/alert.directive.ts","webpack:///./src/app/shared/alert.ts","webpack:///./src/app/shared/app.validators.ts","webpack:///./src/app/shared/app_toggle.component.ts.AppToggleComponent.html","webpack:///./src/app/shared/app_toggle.component.ts","webpack:///./src/app/shared/date_helper.ts","webpack:///./src/app/shared/off_click.directive.ts","webpack:///./src/app/shared/strings.ts","webpack:///./src/app/shared/title.ts","webpack:///./src/app/shared/token_helper.ts","webpack:///./src/app/user_management.component.ts.UserManagementComponent.html","webpack:///./src/app/user_management.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///./src/polyfills.ts"],"names":[],"mappings":"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","file":"main.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 { Component, EventEmitter, Input, Output, OnDestroy, OnInit } from '@angular/core';\nimport { Idle } from './idle';\nimport { Http } from '@angular/http';\nimport { Headers } from '@angular/http';\n\nimport { Observable } from 'rxjs';\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/operator/do';\nimport {throwError as observableThrowError} from 'rxjs/internal/observable/throwError';\n\n\n@Component({\n\tselector: 'app-reload',\n\ttemplate: '',\n})\n\nexport class AppReloadDirective implements OnInit, OnDestroy {\n\t@Input() maxIdle: string;\n\t@Input() forceTimeout: string;\n\t@Output() onChange: EventEmitter = new EventEmitter();\n\n\tprivate idle: Idle;\n\tprivate timeout: any;\n\n\tdelay: number = 3000; //max delay after retry\n\tretry: number = 4; //max retry\n\n\tconstructor(private http: Http) {\n\t}\n\n\tngOnInit() {\n\t\tif (!this.maxIdle) {\n\t\t\tthis.maxIdle = (60 * 5).toString() // default 5min\n\t\t}\n\t\tif (!this.forceTimeout) {\n\t\t\tthis.forceTimeout = (1000 * 60 * 60 * 5).toString() // default 5hour;\n\t\t}\n\n\t\tthis.idle = new Idle()\n\t\t\t.whenNotInteractive()\n\t\t\t.within(parseInt(this.maxIdle), 1000)\n\t\t\t.do(() => {\n\n\t\t\t\tthis.doAppVersion();\n\n\t\t\t\tthis.idle.restart();\n\n\t\t\t\tthis.startForceTimeout();\n\t\t\t})\n\t\t\t.start();\n\n\t\tconsole.log(this.forceTimeout);\n\t\tthis.startForceTimeout();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.idle.stop();\n\t\tthis.removeForceTimeout();\n\t}\n\n\tremoveForceTimeout() {\n\t\tclearTimeout(this.timeout);\n\t}\n\n\tstartForceTimeout() {\n\t\tthis.removeForceTimeout();\n\n\t\tlet t = parseInt(this.forceTimeout) * 1000\n\t\tthis.timeout = setTimeout(() => {\n\t\t\tconsole.log('force timeout', t);\n\n\t\t\tthis.doAppVersion();\n\n\t\t\tthis.startForceTimeout();\n\n\t\t}, t);\n\t}\n\n\tappVersion(): Observable {\n\t\tconsole.log('app version');\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\treturn this.http.get('/app-version.json', { headers: headers })\n\t\t\t.timeout(10000)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json().version;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error('error when getting app-version.json');\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tdoAppVersion() {\n\n\t\tthis.appVersion()\n\t\t\t.catch(err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\treturn Observable.of('');\n\t\t\t})\n\t\t\t.do((v: string) => {\n\t\t\t\tif (v !== '') {\n\t\t\t\t\tthis.onChange.emit(v);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.subscribe(() => {\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t});\n\t}\n\n\thttpRetry(o: Observable): Observable {\n\t\treturn o\n\t\t\t.mergeMap((error, count) => {\n\t\t\t\tif (count < this.retry) {\n\t\t\t\t\treturn Observable.of(error);\n\t\t\t\t}\n\t\t\t\treturn observableThrowError({error: 'error when getting app-version.json'});\n\t\t\t})\n\t\t\t.delay(this.delay);\n\t}\n}\n","export interface Interaction {\n\ttarget: EventTarget;\n\tevents: string[];\n}\n\nconst defaultDocumentEvents = [\n\t'click',\n\t'mousemove',\n\t'mouseenter',\n\t'keydown',\n\t'scroll',\n\t'touchstart',\n];\n\nexport abstract class Base {\n\n\tprotected abstract listenerAction: () => void;\n\tprotected abstract tick: () => void;\n\n\tprotected timer = 0;\n\tprotected intervalId: any;\n\n\tprotected interactions: Interaction[] = [];\n\tprotected timeout: number;\n\tprotected factor: number;\n\tprotected callback: () => void;\n\n\t/**\n\t * Sets time after which it's idle if no interaction occurs.\n\t *\n\t * @param factor amount of miliseconds `timeout` represents, default 60000 (a minute)\n\t */\n\tpublic within(timeout: number, factor = 60000): this {\n\t\tthis.timeout = timeout;\n\t\tthis.factor = factor;\n\t\treturn this;\n\t}\n\n\tpublic do(callback: () => void): this {\n\t\tthis.callback = callback;\n\t\treturn this;\n\t}\n\n\tpublic start(): this {\n\t\tif (this.interactions.length === 0) {\n\t\t\tthrow Error('There is no interaction to watch!');\n\t\t}\n\n\t\tthis.addListeners();\n\t\tthis.setInterval();\n\t\treturn this;\n\t}\n\n\tpublic stop(): this {\n\t\tthis.removeListeners();\n\t\tthis.clearInterval();\n\t\treturn this;\n\t}\n\n\tprotected addListeners(): void {\n\t\tfor (const interaction of this.interactions) {\n\t\t\tfor (const event of interaction.events) {\n\t\t\t\tinteraction.target.addEventListener(event, this.listenerAction);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected removeListeners(): void {\n\t\tfor (const interaction of this.interactions) {\n\t\t\tfor (const event of interaction.events) {\n\t\t\t\tinteraction.target.removeEventListener(event, this.listenerAction);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected clearInterval(): void {\n\t\tclearInterval(this.intervalId);\n\t}\n\n\tprotected setInterval(): void {\n\t\tthis.intervalId = setInterval(this.tick, this.factor);\n\t}\n\n\tprotected pushDefaultInteraction(): void {\n\t\tthis.interactions.push({\n\t\t\tevents: defaultDocumentEvents,\n\t\t\ttarget: document,\n\t\t});\n\t}\n\n\tprotected concatInteractions(interactions: Interaction[] | Interaction): void {\n\t\tthis.interactions = this.interactions\n\t\t\t.concat(interactions);\n\t}\n\n}\n","import { Base, Interaction } from './idle-base';\n\nexport class Idle extends Base {\n\n\tprotected repetitive = false;\n\n\t/**\n\t * @param interactions set of interactions which will prevent being idle\n\t */\n\tpublic whenNot(interactions: Interaction[] | Interaction): this {\n\t\tthis.concatInteractions(interactions);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds default interactions to decide if user is not interacting with page.\n\t */\n\tpublic whenNotInteractive(): this {\n\t\tthis.pushDefaultInteraction();\n\t\treturn this;\n\t}\n\n\t/**\n\t * Repeat calling idle action for each timeout frame.\n\t *\n\t * - Does NOT repeat by default\n\t */\n\tpublic repeat(repeat = true): this {\n\t\tthis.repetitive = repeat;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Restart away timer\n\t * incase of custom situations other than events on `EventTarget`\n\t */\n\tpublic restart(): this {\n\t\tthis.listenerAction();\n\t\treturn this;\n\t}\n\n\tprotected listenerAction = () => {\n\t\tthis.timer = 0;\n\t\tthis.clearInterval();\n\t\tthis.setInterval();\n\t}\n\n\tprotected tick = () => {\n\t\tthis.timer += 1;\n\t\tif (this.timer === this.timeout || (this.repetitive && this.timer % this.timeout === 0)) {\n\t\t\tthis.callback();\n\t\t}\n\t}\n\n}\n","\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t Logout\n\t\t\t\t
\n\t\t\t\t \n\t\t\t\t\t\t{{userGreeting}}\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t {{dashboardTitle}}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t/ {{b.title}} {{b.title}} \n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t\t \n\t\t
\n\t
\n\t
\n ","/// \nimport { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { Router, RouterOutlet, } from '@angular/router';\nimport { AppTitle, Breadcrumb } from './shared/title';\nimport { Account, validateToken } from './services/account.service';\nimport { IdentityService } from './services/identity.service';\nimport { Config } from './config';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\nimport { Alert } from './shared/alert';\nimport { environment } from '../environments/environment';\nimport { AppService } from './services/app.service';\nimport { elapsedDaysHoursMinutes } from './shared/elapsed';\n\n@Component({\n\tselector: 'identity-app',\n\ttemplate: `\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t Logout\n\t\t\t\t
\n\t\t\t\t \n\t\t\t\t\t\t{{userGreeting}}\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t {{dashboardTitle}}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t/ {{b.title}} {{b.title}} \n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t\t \n\t\t
\n\t
\n\t
\n `\n})\n\nexport class AppComponent implements OnInit {\n\tisUserToggled: boolean;\n\tisSidebarToggled: boolean;\n\ttoday: number;\n\tacctNumber: string;\n\tmsg: Alert;\n\thasAccess: boolean;\n\tappReloadMaxIdle: number;\n\tappReloadForceTimeout: number;\n\tcurrentAppVersion: string;\n\tappVersionTitle: string;\n\tbreadcrumbs: Breadcrumb[];\n\tuserGreeting: string;\n\tdashboardTitle: string;\n\taccLink: string;\n\tschoolsName: string;\n\tinterval: any;\n\tdaysWarningAboutToExpire = 30;\n\tregistrationsLink: string;\n\thasRoles: boolean;\n\n\tconstructor(\n\t\tpublic title: AppTitle,\n\t\tprivate account: Account,\n\t\tprivate config: Config,\n\t\tprivate dvc: IdentityService,\n\t\tprivate router: Router,\n\t\tangulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n\t\tprivate app: AppService,\n\t\tprivate cdref: ChangeDetectorRef,\n\t) {\n\t\tthis.msg = new Alert();\n\t\tthis.isUserToggled = false;\n\t\tthis.isSidebarToggled = true;\n\t\tthis.today = Date.now();\n\t\tthis.clickedOutside = this.clickedOutside.bind(this);\n\t\tthis.hasAccess = true;\n\t\tthis.currentAppVersion = environment.version;\n\t\tthis.appReloadMaxIdle = (60 * 5); // 5 min\n\t\tthis.appReloadForceTimeout = (1000 * 60 * 60 * 12); // 12 hours\n\t\tthis.appVersionTitle = `App Version: ${this.currentAppVersion}`;\n\t\tthis.breadcrumbs = [];\n\t\tthis.userGreeting = '';\n\t\tthis.dashboardTitle = '';\n\t\tthis.accLink = '';\n\t\tthis.schoolsName = '';\n\t\tangulartics2GoogleAnalytics.startTracking();\n\t\tthis.hasRoles = false; // by default is false, in order to show logout link in any case of error of user roles\n\t}\n\n\tngOnInit() {\n\t\tif (window.innerWidth < 992) {\n\t\t\tthis.isSidebarToggled = false;\n\t\t}\n\t\tthis.title.titleEvent.subscribe(() => {\n\t\t\tthis.dashboardTitle = this.getDashboardTitle();\n\t\t\tthis.breadcrumbs = this.getBreadcrumbs();\n\t\t});\n\n\t\tthis.app.onLoadApp.subscribe((args) => {\n\t\t\tconsole.log('re-loading');\n\t\t\tthis.load();\n\t\t});\n\n\t\tthis.load();\n\t}\n\n\tload() {\n\t\tif (validateToken()) {\n\t\t\t// check existing user roles before loading default one\n\t\t\tlet ur = this.dvc.userRoles();\n\t\t\tif (ur == null) {\n\t\t\t\tthis.msg.error('There is an error when loading user\\'s roles, please try refreshing this page.');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.hasRoles = true;\n\t\t\tthis.acctNumber = ur.acctNumber;\n\t\t\tthis.userGreeting = this.getUserGreetings();\n\t\t\tthis.registrationsLink = `settings/${this.acctNumber}/registrations`;\n\n\t\t\t// remove interval if any\n\t\t\tif (this.interval) {\n\t\t\t\tclearInterval(this.interval);\n\t\t\t}\n\n\t\t\t// validate token every 10 sec\n\t\t\tthis.interval = setInterval(() => {\n\t\t\t\tif (!this.tokenValidation()) {\n\t\t\t\t\tclearInterval(this.interval);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}, 10000);\n\t\t}\n\t}\n\n\tchangeRoute() {\n\t\tthis.schoolsName = this.schoolName();\n\t\tthis.accLink = this.accountLink();\n\t}\n\n\ttokenValidation(): boolean {\n\t\tlet t = this.dvc.getToken();\n\t\t// no need to display user message about token expiration in case of refreshToken being present\n\t\tif (t.refreshToken && t.refreshToken != '') {\n\t\t\treturn true;\n\t\t}\n\t\tif (!validateToken()) {\n\t\t\tvar c = 10;\n\t\t\t// current url is passed to login component for auth.ts to catch and send within redirect_uri for returning the user to the current page after login\n\t\t\tvar url = encodeURIComponent(this.router.url);\n\t\t\tvar interval = setInterval(() => {\n\t\t\t\tthis.msg.warningHtml(`This session has expired, please wait while redirecting you to login page in ${c}.`);\n\t\t\t\tc--;\n\t\t\t\tif (c < 0) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tthis.router.navigate(['/login', { queryParams: { 'gotopage': url } }])\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t\treturn false;\n\t\t}\n\t\treturn true\n\t}\n\n\tclickedOutside() {\n\t\tthis.isUserToggled = false;\n\t}\n\n\ttoggleSidebar() {\n\t\tthis.isSidebarToggled = !this.isSidebarToggled;\n\t}\n\n\ttoggleUser() {\n\t\tthis.isUserToggled = !this.isUserToggled;\n\t}\n\n\n\tgetDashboardTitle() {\n\t\treturn this.title.getDashboardTitle();\n\t}\n\n\tgetDashboardNav() {\n\t\treturn this.title.getDashboardNav();\n\t}\n\n\tgetBreadcrumbs() {\n\t\treturn this.title.getBreadcrumbsPrint();\n\t}\n\n\taccountLink() {\n\t\treturn this.config.authAppUrl + '/dashboard/profile'\n\t}\n\n\tlogout() {\n\t\tthis.account.removeLocalStorage();\n\t\tthis.dvc.removeLocalStorage();\n\t\tthis.account.logout();\n\t}\n\n\tschoolName() {\n\t\tlet s = this.dvc.userRoles();\n\t\tif (s != null) {\n\t\t\treturn s.schoolName;\n\t\t}\n\t\treturn 'NA';\n\t}\n\n\tshowMenu() {\n\t\tif (this.account.getUser() != null && this.dvc.userRoles() != null) {\n\t\t\tthis.acctNumber = this.dvc.userRoles().acctNumber;\n\t\t\treturn true;\n\t\t}\n\t\treturn true;\n\t}\n\n\tappReload(version: string) {\n\t\tif (this.currentAppVersion != version) {\n\t\t\tconsole.log('version:', version);\n\t\t\twindow.location.reload(true);\n\t\t}\n\t}\n\n\tngAfterContentChecked() {\n\t\tthis.cdref.detectChanges();\n\t}\n\n\tgetUserGreetings() {\n\t\tlet user = this.account.getUser();\n\t\tif (user == null) {\n\t\t\treturn \"Hi\";\n\t\t}\n\t\treturn 'Hi ' + user.firstName;\n\t}\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, Injector } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { Http, HttpModule } from '@angular/http';\nimport { LocationStrategy, HashLocationStrategy } from '@angular/common';\nimport { Config, loadConfig } from './config';\nimport { routing } from \"./app.routing\";\nimport { AppComponent } from './app.component';\nimport { DashboardComponent } from './dashboard.component';\nimport { FooterComponent } from './footer.component';\nimport { LoginComponent } from './login.component';\nimport { AppTitle } from './shared/title';\nimport { AlertDirective } from './shared/alert.directive';\nimport { OffClickDirective } from \"./shared/off_click.directive\";\nimport { Account, accountServiceFactory } from './services/account.service';\nimport { IdentityService, IdentityServiceFactory } from './services/identity.service';\nimport { Auth } from './guard/auth';\nimport { Angulartics2Module } from 'angulartics2';\nimport { CatchAllComponent } from './catchall.component';\nimport { TruncatePipe } from './shared/truncate.pipe';\nimport { AppToggleComponent } from './shared/app_toggle.component';\nimport { FileUploadModule } from 'ng2-file-upload';\nimport { AlertYesNoDirective } from './shared/alert-yesno.directive';\nimport { HttpService, getHttpService } from './services/http.service';\nimport { RequestOptions, XHRBackend } from \"@angular/http\";\nimport { AppReloadDirective } from './app-reload/app-reload.directive';\nimport { IdPUserComponent } from './idpusers/add_edit_idpuser.component';\nimport { IdPUsersListComponent } from './idpusers/idpusers_list.component';\nimport { AppService } from './services/app.service';\nimport { IdpsComponent } from './idps/idps.component';\nimport { RolesMappingComponent } from './roles-mapping/roles-mapping.component';\nimport { DomainVerificationComponent } from './domain-verification/domain-verification.component';\nimport { AddEditIdPComponent } from './idps/idp-add-edit.component';\nimport { IdPConfigComponent } from './idps/idp-config.component';\nimport { IdPUserRolesListComponent } from './idpuser-roles/idpuser_roles.component';\nimport { IdPUserRoleComponent } from './idpuser-roles/add_update_idpuser_roles.component';\nimport { IdPEndpointsComponent } from './idps/idp-endpoints.component';\nimport { UserManagementComponent } from './user_management.component';\nimport { AddEditAttributeComponent } from './idps/attribute-add-edit.component';\nimport { AddIdPDomainComponent } from './domain-verification/add-domain.component';\nimport { AddEditRolesMappingComponent } from './roles-mapping/add-edit-roles-mapping.component';\nimport { IdentityAccessComponent } from './identity_access.component';\n\n@NgModule({\n\tdeclarations: [\n\t\tAppComponent,\n\t\tDashboardComponent,\n\t\tFooterComponent,\n\t\tLoginComponent,\n\t\tAlertDirective,\n\t\tOffClickDirective,\n\t\tCatchAllComponent,\n\t\tTruncatePipe,\n\t\tAppToggleComponent,\n\t\tAlertYesNoDirective,\n\t\tAppReloadDirective,\n\t\tIdPUserComponent,\n\t\tIdPUsersListComponent,\n\t\tIdpsComponent,\n\t\tRolesMappingComponent,\n\t\tDomainVerificationComponent,\n\t\tAddEditIdPComponent,\n\t\tIdPConfigComponent,\n\t\tIdPUserRolesListComponent,\n\t\tIdPUserRoleComponent,\n\t\tIdPEndpointsComponent,\n\t\tUserManagementComponent,\n\t\tAddEditAttributeComponent,\n\t\tAddIdPDomainComponent,\n\t\tAddEditRolesMappingComponent,\n\t\tIdentityAccessComponent,\n\t],\n\timports: [\n\t\tBrowserModule,\n\t\tFormsModule,\n\t\tHttpModule,\n\t\trouting,\n\t\tReactiveFormsModule,\n\t\tAngulartics2Module.forRoot(),\n\t\tFileUploadModule\n\t],\n\tproviders: [\n\t\tAppTitle,\n\t\t{ provide: LocationStrategy, useClass: HashLocationStrategy },\n\t\t{ provide: Account, useFactory: accountServiceFactory, deps: [Config, Http] },\n\t\t{ provide: IdentityService, useFactory: IdentityServiceFactory, deps: [HttpService, Account, Config] },\n\t\t{ provide: Config, useFactory: loadConfig },\n\t\t{ provide: HttpService, useFactory: getHttpService, deps: [XHRBackend, RequestOptions, Injector] },\n\t\tAuth,\n\t\tAppService,\n\t],\n\tbootstrap: [AppComponent]\n})\n\nexport class AppModule { }\n","
\n \n
","import { Component } from '@angular/core';\nimport { ActivatedRoute, Router} from '@angular/router';\nimport { AppTitle } from './shared/title';\nimport { Alert } from './shared/alert';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'catchall',\n template:\n `
\n \n
`\n})\n\nexport class CatchAllComponent {\n private subscription: Subscription;\n public msg: Alert;\n acctNumber: string;\n\n constructor(private router: Router, private title: AppTitle, private activatedRoute: ActivatedRoute,) {\n this.msg = new Alert();\n\n this.subscription = activatedRoute.params.subscribe(\n (params) => this.acctNumber = params['acctNumber']\n )\n\n if (this.acctNumber == null) {\n this.msg.error(`Please go to your district manager.`);\n } else {\n title.setTitles({ title: 'Page not found', dashboard: 'Page not found', dashboardNav: '' });\n this.msg.error(`Page '${router.url}' could not be found, please use the menu for navigation or re-login.`);\n }\n }\n}\n","import { environment } from '../environments/environment';\n\nexport class Config {\n\tauthApiUrl: string;\n\tauthAppUrl: string;\n\tidentityApiUrl: string;\n\tclientId: string;\n\tresponseType: string;\n\tscope: string;\n\tstate: string;\n\ttokenName: string;\n\tconfig: any;\n\n\tgotopageKey: string;\n\tconstructor(config?: any) {\n\t\tthis.config = config || {};\n\t\tthis.authApiUrl = this.config.authApiUrl || 'http://localhost:4000';\n\t\tthis.authAppUrl = this.config.authAppUrl || 'http://localhost:14000/#';\n\t\tthis.identityApiUrl = this.config.identityApiUrl || 'http://localhost:4001';\n\t\tthis.tokenName = this.config.tokenName || 'token';\n\t\tthis.clientId = this.config.clientId || 'ea2849e2-8e8c-487b-81e2-dd8bfb14e22e';\n\t\tthis.responseType = this.config.responseType || 'token';\n\t\tthis.scope = this.config.scope || 'all';\n\t\tthis.state = this.config.state || '/dashboard';\n\t\tthis.gotopageKey = 'gotopage';\n\t}\n\n\tloginUrl() {\n\t\treturn this.identityApiUrl + '/oauth2/login';\n\t}\n\n\tlogoutUrl() {\n\t\treturn this.identityApiUrl + '/oauth2/logout';\n\t}\n\n\tsaveGoToPage(path: string) {\n\t\tlocalStorage.setItem(this.gotopageKey, path);\n\t}\n\n\tgoToPage(): string {\n\t\treturn localStorage.getItem(this.gotopageKey);\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.gotopageKey);\n\t}\n}\n\nexport function loadConfig(): Config {\n\treturn new Config({\n\t\tclientId: environment.clientId,\n\t\tauthApiUrl: environment.authApiUrl,\n\t\tauthAppUrl: environment.authAppUrl,\n\t\tidentityApiUrl: environment.identityApiUrl,\n\t});\n}\n","\n\t
\n\t\t\n\t

dashboard

\n\t
\n ","/// \nimport { Component, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppTitle } from './shared/title';\nimport { Account } from './services/account.service';\nimport { Config } from './config';\nimport { IdentityService } from './services/identity.service';\nimport { Alert } from './shared/alert';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'dashboard',\n template: `\n\t
\n\t\t\n\t

dashboard

\n\t
\n `\n})\n\nexport class DashboardComponent implements OnDestroy {\n private subscription: Subscription;\n msg: Alert;\n acctNumber: string;\n\n constructor(private router: Router, private title: AppTitle, private account: Account, private activatedRoute: ActivatedRoute, private config: Config, private dvc: IdentityService) {\n this.msg = new Alert();\n title.setTitles({ title: 'Dashboard', dashboard: 'Dashboard', dashboardNav: 'Home' });\n\n this.subscription = activatedRoute.params.subscribe(\n (params) => this.acctNumber = params['acctNumber']\n )\n\n if (this.acctNumber != null) {\n dvc.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n }, err => {\n console.log(err);\n this.msg.error('There is an error when processing this request, please try again.');\n });\n }\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n","\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Domain Name

\n \n
\n
\n

Email

\n \n
\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { Alert } from '../shared/alert';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { controlErrors, AppValidators } from '../shared/app.validators';\nimport { IdPDomainRequest } from '../models/idp_domain_request';\n\n@Component({\n selector: 'app-add-domain',\n template: `\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Domain Name

\n \n
\n
\n

Email

\n \n
\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n `,\n})\nexport class AddIdPDomainComponent implements OnInit {\n data: IdPDomainRequest;\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n form: FormGroup;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router, fb: FormBuilder) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n this.data = new IdPDomainRequest();\n this.form = fb.group({\n\t\t\tdomainName: ['', Validators.compose([Validators.required])],\n\t\t\temail: ['', Validators.compose([Validators.required, AppValidators.email])],\n });\n }\n\n ngOnInit() {\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n if (this.acctNumber != null) {\n this.idsvc.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n if (!res) {\n this.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n this.hasAccess = false;\n }\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n this.hasAccess = false;\n })\n }\n this.title.setTitles({\n title: `Add New - Domain Verification`,\n dashboard: `Add New - Domain Verification`\n });\n this.title.setBreadcrumbs([\n { title: 'Domain Verification ', link: `/idp/${this.acctNumber}/domain-verification` },\n { title: 'Add New', link: `` }\n ]);\n }\n\n save() {\n this.msg.error('');\n if (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n }\n this.data.domainName = this.form.get('domainName').value;\n this.data.email = this.form.get('email').value;\n\n let emailComp = this.data.email.split('@');\n if (emailComp.length < 2) {\n this.msg.error('Domain name not valid');\n return;\n }\n let dn = emailComp[1];\n if (dn != this.data.domainName) {\n this.msg.error('Domain name not matching with domain of email.');\n return;\n }\n this.idsvc.addIdPDomainApi(this.acctNumber, this.data)\n .subscribe(res => {\n this.router.navigate([`idp/${this.acctNumber}/domain-verification`]);\n return;\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n });\n }\n\n displayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n goBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/domain-verification`]);\n\t\treturn;\n\t}\n\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Domain NameStatusCreated AtActions
{{ row.domainName }}{{ row.status }}{{ printDate(row.createdAt) }}\n \n | \n \n
\n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { Alert } from '../shared/alert';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { AppTitle } from '../shared/title';\nimport { IdPDomain } from '../models/idp_domain';\nimport { isDateSet, dateFormat } from '../shared/date_helper';\nimport { validateToken } from '../services/account.service.moc';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-domain-verification',\n template: `\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Domain NameStatusCreated AtActions
{{ row.domainName }}{{ row.status }}{{ printDate(row.createdAt) }}\n \n | \n \n
\n
\n
\n `,\n})\nexport class DomainVerificationComponent implements OnInit {\n data: IdPDomain[];\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n tokenQueryParam: string;\n private subscriptionQueryParams: Subscription;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n title.setTitles({\n\t\t\ttitle: 'Domain Verification',\n\t\t\tdashboard: 'Domain Verification'\n\t\t});\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Domain Verification', link: `` }\n ]);\n this.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n (params) => {\n this.tokenQueryParam = params['token'];\n }\n );\n }\n\n ngOnInit() {\n this.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n if (this.acctNumber != null) {\n\t\t\tthis.idsvc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n }\n if (this.tokenQueryParam) {\n // verify token\n this.idsvc.verifyIdPDomainApi(this.acctNumber, this.tokenQueryParam)\n .subscribe(() => {\n this.router.navigate([`idp/${this.acctNumber}/domain-verification`]);\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msgHead.warning('Invalid domain verification URL.');\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msgHead.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msgHead.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n }\n\t\tthis.loadData();\n }\n\n loadData() {\n this.data = [];\n this.idsvc.findIdPDomainApi(this.acctNumber)\n .subscribe((domains: IdPDomain[]) => {\n this.data = domains;\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n }\n\n add() {\n this.router.navigate([`idp/${this.acctNumber}/domain-verification/add`]);\n\t\treturn;\n }\n\n resendConfirmation(row: IdPDomain) {\n\t\tthis.idsvc.resendDomainConfirmationApi(this.acctNumber, row.id)\n\t\t\t.subscribe(res => {\n this.msg.success(`We have re-send confirmation email for ${row.domainName}.`);\n return;\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n remove(row: IdPDomain) {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.idsvc.removeIdPDomainApi(this.acctNumber, row.id)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.data.splice(this.data.indexOf(row), 1);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n refresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n }\n\n printDate(d: Date): string {\n\t\tlet df = '01/02/2006 03:04 PM';\n\t\tif (isDateSet(d)) {\n\t\t\treturn dateFormat(d, df);\n\t\t}\n\t\treturn '';\n }\n\n}\n","\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'identity-footer',\n template: `\n
\n
\n
`\n})\n\nexport class FooterComponent {\n today: number;\n constructor() {\n this.today = Date.now();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Account, validateToken } from '../services/account.service';\nimport {\n\tCanActivate, Router,\n\tActivatedRouteSnapshot,\n\tActivatedRoute,\n\tRouterStateSnapshot,\n\tCanActivateChild\n} from '@angular/router';\nimport { OAuthResponse } from '../models/oauth_response';\nimport { Config } from '../config';\nimport { IdentityService } from '../services/identity.service';\nimport { OAuthTokenRequest } from '../models/oauth-token-request';\nimport { Observable } from 'rxjs';\nimport { TokenHelper } from '../shared/token_helper';\n\n\n@Injectable()\nexport class Auth implements CanActivate {\n\tpublic ar: OAuthResponse;\n\tconstructor(private account: Account, private config: Config, private svc: IdentityService) { }\n\n\tcanActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n\t\tlet path: string = window.location.href;\n\t\tif (path.indexOf(\"#access_token=\") === -1) {\n\t\t\tif (validateToken()) {\n\n\t\t\t\t// handle cases where user changes the acctnumber in url but existing userrole is different\n\t\t\t\t// solution is to re-load user roles\n\t\t\t\tlet acctNumber = route.params['acctNumber'];\n\t\t\t\tif (acctNumber) {\n\t\t\t\t\treturn this.svc.validateAcctNumber(acctNumber)\n\t\t\t\t\t\t.mergeMap(valid => {\n\t\t\t\t\t\t\tif (!valid) {\n\t\t\t\t\t\t\t\tconsole.log(`re-load user roles for acctNumber ${acctNumber}`);\n\t\t\t\t\t\t\t\treturn this.svc.loadUserByAcctNumber(acctNumber)\n\t\t\t\t\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\treturn Observable.of(null);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.map(() => {\n\t\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn Observable.of(true);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn Observable.of(true);\n\t\t\t}\n\t\t\tconsole.log('token invalid, redirecting to login page.');\n\n\t\t\tlet redirectLogin = () => {\n\n\t\t\t\tif (path.indexOf(\"#\") != -1) {\n\t\t\t\t\tlet baseUrl = path.substring(0, path.indexOf(\"#\"));\n\t\t\t\t\tlet gotopage = path.substr(path.indexOf(\"#\") + 1);\n\t\t\t\t\t// there are cases where gotopage query param is set on url\n\t\t\t\t\t// in this case we need to take that value else take the default url\n\t\t\t\t\tif (path.indexOf('gotopage=') != -1) {\n\t\t\t\t\t\tlet fg = this.parseQueryString(path.substr(path.indexOf('?') + 1));\n\t\t\t\t\t\tgotopage = fg['gotopage'];\n\t\t\t\t\t}\n\t\t\t\t\tgotopage = encodeURIComponent(gotopage);\n\t\t\t\t\twindow.location.href = this.config.loginUrl() + `?navigateUri=${gotopage}`;\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = this.config.loginUrl();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet t = this.account.getToken();\n\t\t\t// if refresh token is empty, ask user to re-login\n\t\t\t// refresh_token will be provided only when user has checked to stay signin\n\n\t\t\tif (!t || !t.refreshToken) {\n\t\t\t\tconsole.log('no refresh token');\n\t\t\t\tredirectLogin();\n\t\t\t\treturn Observable.of(false);\n\t\t\t}\n\n\t\t\t// try to get new token based on refresh token\n\t\t\t//\n\t\t\tlet oauthreq = new OAuthTokenRequest();\n\t\t\toauthreq.refreshToken = t.refreshToken;\n\t\t\treturn this.svc.oauthTokenApi(oauthreq)\n\t\t\t\t.map(data => {\n\n\t\t\t\t\tlet th = new TokenHelper();\n\t\t\t\t\tt.accessToken = data.accessToken;\n\t\t\t\t\tt.refreshToken = data.refreshToken;\n\t\t\t\t\tt.tokenType = data.tokenType;\n\t\t\t\t\tt.expiresIn = data.expiresIn;\n\t\t\t\t\tt.expiresAt = th.getExpiresAt(data.expiresIn);\n\n\t\t\t\t\tthis.account.setToken(t);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tconsole.log(err)\n\t\t\t\t\tredirectLogin();\n\t\t\t\t\treturn Observable.of(false)\n\t\t\t\t});\n\n\t\t} else {\n\t\t\tlet fg = this.getFragment();\n\t\t\tthis.setToken(fg);\n\t\t\t// gotopage param is to navigate the user to specific page after it is login\n\t\t\tlet gotopage = fg['gotopage'];\n\t\t\tif (gotopage) {\n\t\t\t\t//gotopage = decodeURIComponent(gotopage);\n\t\t\t\tthis.config.saveGoToPage(gotopage);\n\t\t\t}\n\t\t\twindow.location.href = '/#/login';\n\t\t\t//this will stop angular accessing wrong page like #/access_token and insted of that it will change the url to /#/login\n\t\t\treturn Observable.of(false);\n\t\t}\n\t}\n\n\tcanActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n\t\treturn this.canActivate(route, state);\n\t}\n\n\tsetToken(queryParam: any) {\n\t\tthis.ar = new OAuthResponse();\n\t\tthis.ar.accessToken = queryParam['access_token'];\n\t\tthis.ar.tokenType = queryParam['token_type'];\n\t\tthis.ar.state = queryParam['state'];\n\t\tthis.ar.scope = queryParam['scope'];\n\t\tthis.ar.expiresIn = parseInt(queryParam['expires_in']);\n\t\tif (queryParam['refresh_token']) {\n\t\t\tthis.ar.refreshToken = queryParam['refresh_token'];\n\t\t}\n\t\tthis.account.oauthLogin(this.ar);\n\t}\n\n\tgetFragment() {\n\t\tif (window.location.hash.indexOf(\"#\") === 0) {\n\t\t\treturn this.parseQueryString(window.location.hash.substr(1));\n\t\t} else {\n\t\t\treturn {};\n\t\t}\n\t};\n\n\tparseQueryString(queryString) {\n\t\tvar data = {}, pairs, pair, separatorIndex, escapedKey, escapedValue, key, value;\n\n\t\tif (queryString === null) {\n\t\t\treturn data;\n\t\t}\n\n\t\tpairs = queryString.split(\"&\");\n\n\t\tfor (var i = 0; i < pairs.length; i++) {\n\t\t\tpair = pairs[i];\n\t\t\tseparatorIndex = pair.indexOf(\"=\");\n\n\t\t\tif (separatorIndex === -1) {\n\t\t\t\tescapedKey = pair;\n\t\t\t\tescapedValue = null;\n\t\t\t} else {\n\t\t\t\tescapedKey = pair.substr(0, separatorIndex);\n\t\t\t\tescapedValue = pair.substr(separatorIndex + 1);\n\t\t\t}\n\n\t\t\tkey = decodeURIComponent(escapedKey);\n\t\t\tvalue = decodeURIComponent(escapedValue);\n\n\t\t\tif (key.substr(0, 1) === '/')\n\t\t\t\tkey = key.substr(1);\n\n\t\t\tdata[key] = value;\n\t\t}\n\n\t\treturn data;\n\t};\n}\n","\n\t
\n\t\t
\n\t\t\t\n\t\t\t

Click a school name to switch the school or click the checkbox to make a default school in the next login.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
AcctNumberSchoolsIs Default
{{row.acctNumber}}{{row.schoolName}}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n ","/// \nimport { Component } from '@angular/core';\nimport { AppTitle } from './shared/title';\nimport { IdentityService } from './services/identity.service';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { Account, validateToken } from './services/account.service';\nimport { Alert } from './shared/alert';\nimport { UserRoles } from './models/user_roles';\nimport { AppService } from './services/app.service';\n\n@Component({\n\tselector: 'identity-access',\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t\n\t\t\t

Click a school name to switch the school or click the checkbox to make a default school in the next login.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
AcctNumberSchoolsIs Default
{{row.acctNumber}}{{row.schoolName}}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n `\n})\n\nexport class IdentityAccessComponent {\n\tdata: UserRoles[];\n\tmsg: Alert;\n\tconstructor(\n\t\tprivate router: Router,\n\t\tprivate title: AppTitle,\n\t\tprivate account: Account,\n\t\tprivate isvc: IdentityService,\n\t\tprivate app: AppService,\n\t) {\n\t\tthis.msg = new Alert();\n\t\ttitle.setTitles({\n\t\t\ttitle: 'Identity Access',\n\t\t\tdashboard: 'Identity Access'\n\t\t});\n\t\ttitle.setBreadcrumbs([\n\t\t\t{ title: 'Identity Access', link: '' }\n\t\t]);\n\t\tthis.loadData();\n\t}\n\n\tloadData() {\n\t\tif (validateToken()) {\n\t\t\tthis.isvc.userRolesApi().subscribe((urs: UserRoles[]) => {\n\t\t\t\tthis.data = urs;\n\n\t\t\t\t// Sort list by school name\n\t\t\t\tthis.data.sort((a, b) => (a.schoolName > b.schoolName) ? 1 : ((b.schoolName > a.schoolName) ? -1 : 0));\n\t\t\t}, err => {\n\t\t\t\tthis.msg.error(this.isvc.getUserErrorDefault(err));\n\t\t\t\tconsole.log(err);\n\t\t\t});\n\t\t}\n\t}\n\n\tsetDefault(idx: number) {\n\t\tthis.isvc.setDefaultApi(this.data[idx]).subscribe(() => {\n\t\t\tthis.msg.success('Default school access changed to ' + this.data[idx].schoolName);\n\t\t},\n\t\t\terr => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tthis.msg.error(this.isvc.getUserErrorDefault(err));\n\t\t\t});\n\t\tfor (var d in this.data) {\n\t\t\tif (this.data[d] != this.data[idx]) {\n\t\t\t\tthis.data[d].isDefault = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tchangeUserRoles(idx: number) {\n\t\tthis.isvc.setUserRoles(this.data[idx]);\n\t\tif (this.isvc.containsUserRole(this.data[idx], 'admin')) {\n\t\t}\n\n\t\t// trigger app component reload\n\t\tthis.app.onLoadApp.emit(null);\n\n\t\tthis.router.navigate([`idp/${this.data[idx].acctNumber}/idps/`]);\n\t}\n\n}\n","\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Label - Used for display purpose only

\n \n
\n\n
\n

Name - Actual Attribute Name in SAML Response

\n \n
\n\n
\n

User Attribute Mapping

\n \n
\n\n
\n
\n \n
\n\n \n\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n

Attribute Validations Regex

\n \n
\n\n
\n

Attribute Transformations Regex

\n \n
\n
\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { IdP } from '../models/idp';\nimport { Alert } from '../shared/alert';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { Subscription } from 'rxjs';\nimport { SAML2Config } from '../models/saml2_config';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { FindIdP } from '../models/find_idp';\nimport { controlErrors } from '../shared/app.validators';\nimport { SAML2Attribute } from '../models/saml2_attribute';\nimport { DropdownOption } from '../shared/dropdown_option';\n\n@Component({\n selector: 'app-add-edit-attribute',\n template: `\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Label - Used for display purpose only

\n \n
\n\n
\n

Name - Actual Attribute Name in SAML Response

\n \n
\n\n
\n

User Attribute Mapping

\n \n
\n\n
\n
\n \n
\n\n \n\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n

Attribute Validations Regex

\n \n
\n\n
\n

Attribute Transformations Regex

\n \n
\n
\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n `,\n})\nexport class AddEditAttributeComponent implements OnInit {\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n idParam: string;\n nameQueryParam: string;\n private subscriptionQueryParams: Subscription;\n data: SAML2Attribute;\n editAttrIndexParam: string;\n editMode: boolean;\n editAttrInx: number;\n\n form: FormGroup;\n samlcfg: SAML2Config;\n userAttributeMappingList: DropdownOption[];\n showAdvancedSettings: boolean;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router, fb: FormBuilder) {\n this.hasAccess = true;\n this.editMode = false;\n this.msg = new Alert();\n this.msgHead = new Alert();\n this.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n this.nameQueryParam = params['name'];\n\t\t\t}\n );\n this.data = new SAML2Attribute();\n\n this.form = fb.group({\n label: ['', Validators.compose([Validators.required])],\n name: ['', Validators.compose([Validators.required])],\n userAttributeMapping: ['', Validators.compose([Validators.required])],\n defaultValues: [''],\n values: [''],\n attributeValidationsRegex: [''],\n attributeTransformationsRegex: ['']\n });\n this.showAdvancedSettings = false;\n this.userAttributeMappingList = [\n { id: '', title: 'Select User Attribute Mapping'},\n { id: 'username', title: 'Username' },\n { id: 'first_name', title: 'First Name' },\n { id: 'last_name', title: 'Last Name' },\n { id: 'group_names', title: 'Group Names' },\n { id: 'card_id', title: 'Card ID' },\n { id: 'phone_number', title: 'Phone Number' },\n ];\n }\n\n ngOnInit() {\n let titleStr = 'Add New';\n this.idParam = this.activatedRoute.snapshot.params['id'];\n this.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n this.editAttrIndexParam = this.activatedRoute.snapshot.params['attributeName'];\n if (this.acctNumber != null) {\n this.idsvc.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n if (!res) {\n this.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n this.hasAccess = false;\n }\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n this.hasAccess = false;\n })\n }\n if (this.editAttrIndexParam) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.loadData();\n\t\t\ttitleStr = 'Edit';\n\t\t}\n this.title.setTitles({\n title: titleStr + ' - Attribute',\n dashboard: titleStr + ' - Attribute'\n });\n\n this.title.setBreadcrumbs([\n { title: 'Identity Providers ', link: `/idp/${this.acctNumber}/idps` },\n { title: decodeURIComponent(this.nameQueryParam) + ' ', link: `/idp/${this.acctNumber}/idps/${this.idParam}/edit` },\n { title: 'Config ', link: `/idp/${this.acctNumber}/idps/${this.idParam}/config?name=${this.nameQueryParam}` },\n { title: titleStr + ' Attribute', link: `` }\n ]);\n this.loadData();\n }\n\n loadData() {\n let req = new FindIdP();\n req.id = parseInt(this.idParam);\n this.idsvc.saml2ConfigApi(this.acctNumber, req)\n .subscribe((saml2cfg: SAML2Config) => {\n this.samlcfg = saml2cfg;\n if (this.editAttrIndexParam) {\n let inx = parseInt(this.editAttrIndexParam)-1;\n this.data = saml2cfg.attributes[inx];\n this.editAttrInx = inx;\n if (this.data.values != \"\" || this.data.defaultValues != \"\" || this.data.attributeValidationsRegex != \"\" || this.data.attributeTransformationsRegex != \"\") {\n this.showAdvancedSettings = true;\n }\n }\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n }\n\n save() {\n if (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n }\n let attr = new SAML2Attribute();\n if (this.editAttrIndexParam && this.editMode) {\n attr = this.data;\n }\n attr.label = this.form.get('label').value;\n attr.name = this.form.get('name').value;\n attr.userAttributeMapping = this.form.get('userAttributeMapping').value;\n attr.skipIfBlank = this.data.skipIfBlank;\n attr.defaultValues = this.form.get('defaultValues').value;\n attr.values = this.form.get('values').value;\n attr.attributeValidationsRegex = this.form.get('attributeValidationsRegex').value;\n attr.attributeTransformationsRegex = this.form.get('attributeTransformationsRegex').value;\n\n if (this.editAttrIndexParam && this.editMode) {\n this.samlcfg.attributes[this.editAttrInx] = attr;\n } else {\n this.samlcfg.attributes.push(attr);\n }\n\n this.idsvc.saveSaml2ConfigApi(this.acctNumber, parseInt(this.idParam), this.samlcfg)\n\t\t\t.subscribe(res => {\n this.router.navigate([`/idp/${this.acctNumber}/idps/${this.idParam}/config`], { queryParams: { name: this.data.name } });\n\t\t return;\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n });\n }\n\n switchAdvancedSettings() {\n this.showAdvancedSettings = !this.showAdvancedSettings;\n }\n\n displayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n goBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idps/${this.idParam}/config`], { queryParams: { name: this.nameQueryParam } });\n\t\treturn;\n\t}\n}\n","\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Name

\n \n
\n
\n

Domain Names (comma separated)

\n \n
\n
\n

Protocol

\n \n
\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { IdP } from '../models/idp';\nimport { Alert } from '../shared/alert';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { DropdownOption } from '../shared/dropdown_option';\nimport { FindIdP } from '../models/find_idp';\nimport { controlErrors } from '../shared/app.validators';\nimport { IdPRequest } from '../models/idp_request';\n@Component({\n selector: 'app-idp-add-edit',\n template: `\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Name

\n \n
\n
\n

Domain Names (comma separated)

\n \n
\n
\n

Protocol

\n \n
\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n `,\n})\nexport class AddEditIdPComponent implements OnInit {\n data: IdPRequest;\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n form: FormGroup;\n protocols: DropdownOption[];\n idParam: string;\n editMode: boolean;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router, fb: FormBuilder) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n this.editMode = false;\n this.data = new IdP();\n this.data.protocol = 'saml-2.0';\n\n this.form = fb.group({\n\t\t\tname: ['', Validators.compose([Validators.required])],\n\t\t\tdomainNames: ['', Validators.compose([Validators.required])],\n\t\t\tprotocol: ['SAML-2.0'],\n });\n }\n\n ngOnInit() {\n let titleStr = 'Add New';\n\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n this.idParam = this.activatedRoute.snapshot.params['id'];\n\n if (this.acctNumber != null) {\n this.idsvc.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n if (!res) {\n this.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n this.hasAccess = false;\n }\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n this.hasAccess = false;\n })\n }\n this.protocols = [\n\t\t\t{ id: 'saml-2.0', title: 'SAML-2.0' },\n ];\n \n if (this.idParam) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.loadData();\n\t\t\ttitleStr = 'Edit';\n\t\t}\n\n this.title.setTitles({\n title: `${titleStr} - Identity Providers`,\n dashboard: `${titleStr} - Identity Providers`\n });\n this.title.setBreadcrumbs([\n { title: 'Identity Providers ', link: `/idp/${this.acctNumber}/idps` },\n { title: titleStr, link: `` }\n ]);\n }\n\n loadData() {\n let find = new FindIdP();\n\t\tfind.id = parseInt(this.idParam);\n\t\tthis.idsvc.findIdPApi(this.acctNumber, find)\n\t\t\t.subscribe((rows: IdP[]) => {\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.data = rows[0];\n\t\t\t\tthis.form.get('name').setValue(this.data.name);\n\t\t\t\tthis.form.get('domainNames').setValue(this.data.domainNames);\n\t\t\t\tthis.form.get('protocol').setValue(this.data.protocol);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tif (this.idsvc.isErrUnauthorized(err)) {\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n }\n\n save() {\n if (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n }\n this.data.name = this.form.get('name').value;\n this.data.protocol = this.form.get('protocol').value;\n this.data.domainNames = this.form.get('domainNames').value;\n\n if (this.editMode) {\n this.idsvc.updateIdPApi(this.acctNumber, this.data)\n\t\t\t.subscribe(res => {\n this.router.navigate([`idp/${this.acctNumber}/idps/${res.id}/config`], { queryParams: { name: this.data.name } });\n return;\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n });\n } else {\n this.idsvc.addIdPApi(this.acctNumber, this.data)\n .subscribe(res => {\n this.router.navigate([`idp/${this.acctNumber}/idps/${res.id}/config`], { queryParams: { name: this.data.name } });\n return;\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n });\n }\n }\n\n displayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n goBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idps`]);\n\t\treturn;\n\t}\n\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n

Single Sign-On

\n
.
\n \n
\n

Entity ID

\n \n
\n\n
\n

Login URL

\n \n
\n\n
\n

Logout URL

\n \n
\n\n
\n \n \n
\n\n \n

Policy

\n
.
\n\n
\n
\n \n
\n\n
\n
\n \n
\n \n \n

Attributes

\n
.
\n Add Attribute\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Attribute LabelActions
{{ row.label }}\n Edit |\n \n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n
\n \n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { IdP } from '../models/idp';\nimport { Alert } from '../shared/alert';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { Subscription } from 'rxjs';\nimport { SAML2Config } from '../models/saml2_config';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { FindIdP } from '../models/find_idp';\nimport { controlErrors } from '../shared/app.validators';\nimport { SAML2Attribute } from '../models/saml2_attribute';\n\n@Component({\n selector: 'app-idp-config',\n styles: [],\n template: `\n
\n
\n \n
\n
\n
\n
\n \n

Single Sign-On

\n
.
\n \n
\n

Entity ID

\n \n
\n\n
\n

Login URL

\n \n
\n\n
\n

Logout URL

\n \n
\n\n
\n \n \n
\n\n \n

Policy

\n
.
\n\n
\n
\n \n
\n\n
\n
\n \n
\n \n \n

Attributes

\n
.
\n Add Attribute\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Attribute LabelActions
{{ row.label }}\n Edit |\n \n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n
\n \n
\n
\n `,\n})\nexport class IdPConfigComponent implements OnInit {\n idp: IdP;\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n idParam: string;\n nameQueryParam: string;\n private subscriptionQueryParams: Subscription;\n data: SAML2Config;\n form: FormGroup;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router, fb: FormBuilder) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n title.setTitles({\n title: 'Config - Identity Provider',\n dashboard: 'Config - Identity Provider'\n });\n this.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n\t\t\t\tthis.nameQueryParam = params['name'];\n\t\t\t}\n );\n this.idp = new IdP();\n this.data = new SAML2Config();\n\n this.form = fb.group({\n\t\t\tentityId: ['', Validators.compose([Validators.required])],\n\t\t\tidpLoginUrl: ['', Validators.compose([Validators.required])],\n idpLogoutUrl: [''],\n idpPublicCertificate: ['', Validators.compose([Validators.required])],\n });\n }\n\n addAttribute() {\n this.router.navigate([`idp/${this.acctNumber}/idps/${this.idParam}/config/attributes/add`], { queryParams: { name: this.nameQueryParam } });\n return;\n }\n\n editAttribute(inx: number) {\n this.router.navigate([`idp/${this.acctNumber}/idps/${this.idParam}/config/attributes/${inx+1}/edit`], { queryParams: { name: this.nameQueryParam } });\n return;\n }\n\n removeAttribute(inx: number) {\n if (inx >= 0) {\n this.data.attributes.splice(inx, 1);\n return;\n }\n }\n\n ngOnInit() {\n this.idParam = this.activatedRoute.snapshot.params['id'];\n this.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n if (this.acctNumber != null) {\n this.idsvc.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n if (!res) {\n this.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n this.hasAccess = false;\n }\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n this.hasAccess = false;\n })\n }\n this.title.setBreadcrumbs([\n { title: 'Identity Providers ', link: `/idp/${this.acctNumber}/idps` },\n { title: decodeURIComponent(this.nameQueryParam) + ' ', link: `/idp/${this.acctNumber}/idps/${this.idParam}/edit` },\n { title: 'Config ', link: `` }\n ]);\n this.loadData();\n }\n\n loadData() {\n let req = new FindIdP();\n req.id = parseInt(this.idParam);\n this.idsvc.saml2ConfigApi(this.acctNumber, req)\n .subscribe((saml2cfg: SAML2Config) => {\n this.data = saml2cfg;\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n }\n\n save() {\n if (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n }\n this.data.sso.idpEntityId = this.form.get('entityId').value;\n this.data.sso.idpLoginUrl = this.form.get('idpLoginUrl').value;\n this.data.sso.idpLogoutUrl = this.form.get('idpLogoutUrl').value;\n this.data.sso.idpPublicCertificate = this.form.get('idpPublicCertificate').value;\n\n this.idsvc.saveSaml2ConfigApi(this.acctNumber, parseInt(this.idParam), this.data)\n\t\t\t.subscribe(res => {\n this.router.navigate([`idp/${this.acctNumber}/idps`]);\n\t\t return;\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n });\n }\n\n displayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n goBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idps/${this.idParam}/edit`]);\n\t\treturn;\n\t}\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n

Service Provider Endpoints

\n
.
\n

Entity ID: {{ data.entityId }}

\n

Metadata URL: {{ data.metadataUrl }}

\n

ACS URL: {{ data.acsUrl }}

\n\n

Test IdP

\n
.
\n

Login URL: {{ data.loginUrl }}

\n\n Note: Use incognito page to test, so that it doesn't use open user session.\n\n
\n Go Back\n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { IdP } from '../models/idp';\nimport { Alert } from '../shared/alert';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { Subscription } from 'rxjs';\nimport { EndpointsReply } from '../models/test_urls_reply';\n\n@Component({\n selector: 'app-idp-config',\n template: `\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n

Service Provider Endpoints

\n
.
\n

Entity ID: {{ data.entityId }}

\n

Metadata URL: {{ data.metadataUrl }}

\n

ACS URL: {{ data.acsUrl }}

\n\n

Test IdP

\n
.
\n

Login URL: {{ data.loginUrl }}

\n\n Note: Use incognito page to test, so that it doesn't use open user session.\n\n
\n Go Back\n
\n
\n `,\n})\nexport class IdPEndpointsComponent implements OnInit {\n data: EndpointsReply;\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n idParam: string;\n nameQueryParam: string;\n private subscriptionQueryParams: Subscription;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n title.setTitles({\n title: 'Endpoints - Identity Provider',\n dashboard: 'Endpoints - Identity Provider'\n });\n this.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n\t\t\t\tthis.nameQueryParam = params['name'];\n\t\t\t}\n );\n this.data = new EndpointsReply();\n }\n\n ngOnInit() {\n this.idParam = this.activatedRoute.snapshot.params['id'];\n this.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n if (this.acctNumber != null) {\n this.idsvc.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n if (!res) {\n this.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n this.hasAccess = false;\n }\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n this.hasAccess = false;\n })\n }\n this.title.setBreadcrumbs([\n { title: 'Identity Providers', link: `/idp/${this.acctNumber}/idps` },\n { title: decodeURIComponent(this.nameQueryParam) + ' ', link: `/idp/${this.acctNumber}/idps/${this.idParam}/edit` },\n { title: 'Endpoints', link: `` }\n ]);\n this.loadData();\n }\n\n loadData() {\n this.idsvc.endpointsApi(this.acctNumber)\n .subscribe((tur: EndpointsReply) => {\n this.data = tur;\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n }\n\n goBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idps`]);\n\t\treturn;\n }\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameDomain NamesUser ProvisioningProtocolUpdated AtActions
{{ row.name }}{{ row.domainNames }}\n \n {{ row.userProvisioning==false ? 'Enable' : 'Disable' }}\n \n {{ row.protocol }}{{ printDate(row.updatedAt) ? printDate(row.updatedAt) : printDate(row.createdAt) }}\n Edit |\n Endpoints |\n \n
\n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { IdP } from '../models/idp';\nimport { Alert } from '../shared/alert';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { FindIdP } from '../models/find_idp';\nimport { validateToken } from '../services/account.service.moc';\nimport { isDateSet, dateFormat } from '../shared/date_helper';\nimport { IdPRequest } from '../models/idp_request';\n\n@Component({\n selector: 'app-idps',\n template: `\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameDomain NamesUser ProvisioningProtocolUpdated AtActions
{{ row.name }}{{ row.domainNames }}\n \n {{ row.userProvisioning==false ? 'Enable' : 'Disable' }}\n \n {{ row.protocol }}{{ printDate(row.updatedAt) ? printDate(row.updatedAt) : printDate(row.createdAt) }}\n Edit |\n Endpoints |\n \n
\n
\n
\n `,\n})\nexport class IdpsComponent implements OnInit {\n data: IdP[];\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n title.setTitles({\n\t\t\ttitle: 'Identity Providers',\n\t\t\tdashboard: 'Identity Providers'\n\t\t});\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Identity Providers', link: `` }\n\t\t]);\n }\n\n ngOnInit() {\n this.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n if (this.acctNumber != null) {\n\t\t\tthis.idsvc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\t\tthis.loadData();\n }\n\n loadData() {\n this.data = [];\n this.idsvc.findIdPApi(this.acctNumber, new FindIdP())\n .subscribe((idps: IdP[]) => {\n this.data = idps;\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n }\n\n refresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n }\n\n\tprintDate(d: Date): string {\n\t\tlet df = '01/02/2006 03:04 PM';\n\t\tif (isDateSet(d)) {\n\t\t\treturn dateFormat(d, df);\n\t\t}\n\t\treturn '';\n }\n\n add() {\n this.router.navigate([`idp/${this.acctNumber}/idps/add`]);\n\t\treturn;\n }\n\n endpoints(row: IdP) {\n this.router.navigate([`idp/${this.acctNumber}/idps/${row.id}/endpoints`], { queryParams: { name: row.name } });\n\t\treturn;\n }\n\n remove(row: IdP) {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.idsvc.removeIdPApi(this.acctNumber, row.id)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.data.splice(this.data.indexOf(row), 1);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n updateProvisioning(row: IdP) {\n let req = new IdPRequest();\n req.id = row.id;\n req.name = row.name;\n req.protocol = row.protocol;\n req.domainNames = row.domainNames;\n req.userProvisioning = !row.userProvisioning;\n \n this.idsvc.updateIdPApi(this.acctNumber, req)\n\t\t\t.subscribe(res => {\n this.loadData();\n }, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n }\n\n edit(row: IdP) {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idps/${row.id}/edit`]);\n\t\treturn;\n\t}\n}\n","\n\t
\n\t
\n\t\t \n\t
\n\t
\n\t
\n\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Service

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Organization

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Service Roles

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\tGo Back\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { Alert } from '../shared/alert';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { DropdownOption } from '../shared/dropdown_option';\nimport { IdPUserRole } from '../models/idpuser_role';\nimport { Subscription } from 'rxjs';\nimport { AccountAssociation } from '../models/account_association';\nimport { FindAccountAssociation } from '../models/find_account_association';\nimport { FindIdPUserRole } from '../models/find_idpuser_role';\nimport { AppValidators, controlErrors } from '../shared/app.validators';\nimport { User } from '../models/user';\nimport { Account } from '../services/account.service';\nimport { UserRoles } from '../models/user_roles';\n\n\nclass CheckboxRoleValue {\n\ttitle: string;\n\tvalue: boolean;\n\n\tconstructor() {\n\t\t this.title = '';\n\t\t this.value = false;\n\t}\n}\n\n\n@Component({\n\tselector: 'add-identity-user-role',\n\ttemplate: `\n\t
\n\t
\n\t\t \n\t
\n\t
\n\t
\n\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Service

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Organization

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Service Roles

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\tGo Back\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n `\n})\n\nexport class IdPUserRoleComponent implements OnInit {\n\tprivate subscriptionQueryParams: Subscription;\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n hasAccess: boolean;\n\tform: FormGroup;\n\ttitleStr: string;\n\tidpName: string;\n\n\tusername:string;\n\tidParam: string;\n\troleId: string;\n\teditMode: boolean;\n\tidpIdParam:string;\n\tsaveCount: number;\n\torgs: DropdownOption[];\n\tservices: DropdownOption[];\n\tdata:IdPUserRole;\n\ttitleRStr: string;\n\tschoolManagerRoles: CheckboxRoleValue[];\n districtMangerRoles: CheckboxRoleValue[];\n identityRoles: CheckboxRoleValue[];\n\tserviceRoles: CheckboxRoleValue[];\n\tadminRoles: CheckboxRoleValue[];\n\thideOrgInput: boolean;\n\n\tconstructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router, fb: FormBuilder, private accsvc: Account){\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\tthis.data = new IdPUserRole();\n\t\tthis.titleStr = '';\n\t\tthis.titleRStr = 'Add New';\n\t\tthis.hideOrgInput = false;\n\n\t\tthis.form = fb.group({\n\t\t\tsvc:['', Validators.compose([Validators.required])],\n\t\t\torgAcctNumber: ['',Validators.compose([Validators.required])],\n\t\t});\n\t\tthis.editMode = false;\n\t\tthis.saveCount = 1;\n\n\t\tthis.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n\t\t\t\tthis.username = decodeURIComponent(params['username'])\n\t\t\t\tthis.idpName = decodeURIComponent(params['idpName'])\n\t\t\t}\n\t\t);\n\t\tthis.orgs = [];\n\t\tthis.orgs.push({ id: '', title: 'Select Organization' });\n\n\t\tthis.schoolManagerRoles = [\n\t\t\t{ title: 'admin', value: false },\n\t\t\t{ title: 'user', value: false },\n\t\t\t{ title: 'director', value: false },\n\t\t\t{ title: 'notification', value: false },\n\t\t\t{ title: 'station-kiosk', value: false }\n\t\t];\n\t\tthis.districtMangerRoles = [\n\t\t\t{ title: 'admin', value: false },\n\t\t\t{ title: 'user', value: false },\n\t\t\t{ title: 'one-roster', value: false }\n\t\t];\n\t \tthis.identityRoles = [\n\t\t\t{ title: 'admin', value: false },\n\t\t];\n\t\tthis.adminRoles = [\n { title: 'admin', value: false },\n ];\n\t \tthis.services = [\n\t\t\t{ id: '', title: 'Select Service' },\n\t\t\t{ id: 'school', title: 'School Manager' },\n\t\t\t{ id: 'district', title: 'District Manager' },\n\t\t\t{ id: 'identity', title: 'Identity' },\n\t\t];\n\t\tthis.titleStr = this.username + ' / Roles';\n\n\t\tlet currentUser: User = this.accsvc.getUser();\n if (currentUser && currentUser.username != \"\") {\n\t\t\tlet domain = currentUser.username.substring(currentUser.username.lastIndexOf('@')+1);\n\t\t\tlet idpUserDomain = this.username.substring(this.username.lastIndexOf('@')+1);\n if (domain == 'identakid.com' && idpUserDomain == 'identakid.com') {\n this.services.push({id: 'admin', title: 'Admin'});\n }\n }\n\t }\n\n\tngOnInit() {\n\t\tthis.title.setTitles({\n\t\t\ttitle: 'Add New - Role',\n\t\t\tdashboard: 'Add New - Role',\n\t\t});\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctnumber'];\n\t\tthis.idParam = this.activatedRoute.snapshot.params['userId'];\n\t\tthis.idpIdParam = this.activatedRoute.snapshot.params['idpid'];\n\t\tthis.roleId = this.activatedRoute.snapshot.params['rid'];\n\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.idsvc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t});\n\t\t}\n\t\tif (this.roleId) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.loadData();\n\t\t\tthis.title.setTitles({\n\t\t\t\ttitle: 'Edit - Role',\n\t\t\t\tdashboard: 'Edit - Role',\n\t\t\t});\n\t\t\tthis.titleRStr = 'Edit';\n\t\t}\n\n\t\t this.title.setBreadcrumbs([\n\t\t\t{ title: 'IdP Users', link: `idp/${this.acctNumber}/idp-users/users` },\n\t\t\t{ title: this.idpName + ' ', link: `` },\n\t\t\t{ title: this.titleStr, link: `idp/${this.acctNumber}/idp-users/${this.idpIdParam}/users/${this.idParam}/roles?username=${this.username}&idpName=${this.idpName}`},\n\t\t\t{ title: this.titleRStr, link:''},\n\t\t]);\n\n\t}\n\tloadOrganization(){\n\t\tthis.orgs = [];\n\t\tthis.orgs.push({ id: '', title: 'Select Organization' });\n\t\tif (this.data.serviceId == 'admin') {\n this.form.get('orgAcctNumber').setValue('0');\n this.hideOrgInput = true;\n return;\n }\n let find = new FindAccountAssociation();\n if (this.data.serviceId == 'district' || this.data.serviceId == 'identity') {\n this.idsvc.userRolesApi().subscribe((urs: UserRoles[]) => {\n for (let ur of urs) {\n if (this.acctNumber == ur.acctNumber) {\n this.orgs.push({ id: this.hexToInt(ur.acctNumber).toString(), title: ur.schoolName });\n }\n }\n }, err => {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n console.log(err);\n });\n return;\n }\n if (this.data.serviceId == 'school' && !this.editMode) {\n this.orgs.push({ id: '10', title: 'All' });\n\t\t}\n find.enabled = true;\n this.idsvc.findAccountAssociation(this.acctNumber, find).subscribe((accs: AccountAssociation[]) => {\n this.msg.close();\n for (let acc of accs) {\n this.orgs.push({ id: acc.acctNumber.toString(), title: acc.organizationName });\n }\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n\t}\n\tloadData(){\n\t\tlet find = new FindIdPUserRole();\n\t\tfind.id = parseInt(this.roleId);\n\t\tfind.idpId = parseInt(this.idpIdParam);\n\t\tfind.userId = this.idParam;\n\t\tthis.idsvc.findIdPUserRoleApi(this.acctNumber, find).subscribe((rows: IdPUserRole[]) => {\n\t\t\tthis.msg.close();\n\t\t\tthis.data = rows[0];\n\t\t\tthis.loadOrganization();\n\t\t\tthis.form.get('orgAcctNumber').setValue(this.data.orgAcctNumber.toString());\n\t\t\tthis.loadServiceRoles();\n\t\t\tthis.form.get('svc').setValue(this.data.serviceId);\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.idsvc.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tsave(){\n\t\tthis.msg.error('');\n\t\tif (!this.form.valid) {\n\t\t this.displayErrors(this.form);\n\t\t return;\n\t\t}\n\t\tlet selectedRoles: string[] = [];\n\t\tfor (let role of this.serviceRoles) {\n\t\t\tif (role.value) {\n\t\t\t\tselectedRoles.push(role.title)\n\t\t\t}\n\t\t}\n\t\tif (selectedRoles.length == 0) {\n\t\t\tthis.msg.error(\"select at least one role\")\n\t\t\treturn;\n\t\t}\n\t\tthis.data.roles = selectedRoles.join();\n\t\tthis.data.orgAcctNumber = parseInt(this.form.get('orgAcctNumber').value);\n\t\tthis.data.idpId = parseInt(this.idpIdParam);\n\t\tthis.data.id = parseInt(this.roleId);\n\t\tthis.data.userId = this.idParam;\n\t\tif (this.editMode) {\n\t\t\tthis.idsvc.updateIdPUserRolesApi(this.acctNumber, this.data.id, this.data)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.idsvc.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.goBack();\n\t\t\t\t\t}, 1000)\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t});\n\n\t\t} else {\n\t\t\tthis.idsvc.addIdPUserRoleApi(this.acctNumber, this.data)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.idsvc.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e + \" You can edit to add more roles.\");\n\t\t\t\t});\n\t\t}\n\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/${this.idpIdParam}/users/${this.idParam}/roles`], { queryParams: { username: this.username, idpName: this.idpName } });\n\t}\n\n\tdisplayServiceRoles() {\n\t\tthis.hideOrgInput = false;\n this.form.get('orgAcctNumber').setValue('');\n\t\tthis.serviceRoles = [];\n\t\tthis.loadOrganization();\n\t\tswitch(this.data.serviceId) {\n\t\t\tcase 'school':\n\t\t\t\tthis.serviceRoles = this.schoolManagerRoles;\n\t\t\t\tbreak;\n\t\t\tcase 'district':\n\t\t\t\tthis.serviceRoles = this.districtMangerRoles;\n\t\t\t\tbreak;\n\t\t\tcase 'identity':\n\t\t\t\tthis.serviceRoles = this.identityRoles;\n\t\t\t\tbreak;\n\t\t\tcase 'admin':\n\t\t\t\tthis.serviceRoles = this.adminRoles;\n\t\t\t\tbreak;\n\t \t}\n\t}\n\t \n\tloadServiceRoles(){\n\t\tlet roles = this.data.roles.split(',');\n switch(this.data.serviceId) {\n case 'school':\n for (let r of this.schoolManagerRoles) {\n for (let role of roles) {\n if (r.title == role) {\n r.value = true;\n }\n }\n }\n this.serviceRoles = this.schoolManagerRoles;\n break;\n case 'district':\n for (let r of this.districtMangerRoles) {\n for (let role of roles) {\n if (r.title == role) {\n r.value = true;\n }\n }\n }\n this.serviceRoles = this.districtMangerRoles;\n break;\n case 'identity':\n for (let r of this.identityRoles) {\n for (let role of roles) {\n if (r.title == role) {\n r.value = true;\n }\n }\n }\n this.serviceRoles = this.identityRoles;\n\t\t\tbreak;\n\t\tcase 'admin':\n\t\t\tfor (let r of this.adminRoles) {\n\t\t\t\tfor (let role of roles) {\n\t\t\t\t\tif (r.title == role) {\n\t\t\t\t\t\tr.value = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.serviceRoles = this.adminRoles;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tdisplayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n\thexToInt(hex) {\n\t\tif (hex.length % 2 != 0) {\n\t\t\thex = \"0\" + hex;\n\t\t}\n\t\tvar num = parseInt(hex, 16);\n\t\tvar maxVal = Math.pow(2, hex.length / 2 * 8);\n\t\tif (num > maxVal / 2 - 1) {\n\t\t\tnum = num - maxVal\n\t\t}\n\t\treturn num;\n\t}\n\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n\t\t\t\t\n\t\t\t\tGo Back\n\t\t\t\t
\n\t\t
\n
\n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n \n
OrganizationServiceRolesUpdated AtActions
{{ row.organizationName }}{{ row.serviceId }}\n \t\t\t\t\t\t\t\t{{role}}\n \t\t\t\t\t\t {{ printDate(row.updatedAt) }}\n Edit |\n \n
\n
\n
\n\t\t
\n ","/// \nimport { validateToken } from '../services/account.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { OnInit, Component } from '@angular/core';\nimport { IdPUserRole } from '../models/idpuser_role';\nimport { Alert } from '../shared/alert';\nimport { IdentityService } from '../services/identity.service';\nimport { AppTitle } from '../shared/title';\nimport { FindIdPUserRole } from '../models/find_idpuser_role';\nimport { isDateSet, dateFormat } from '../shared/date_helper';\nimport { Subscription } from 'rxjs';\n\n@Component({\n\tselector: 'users',\n\tstyles: [`\n\t\t.tag {\n\t\t\tmargin-right:2px;\n\t\t\tbackground-color:#e0e0e0;\n\t\t\tborder-radius:4px;\n\t\t\tpadding:5px;\n\t\t}\n `],\n\ttemplate: `\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n\t\t\t\t\n\t\t\t\tGo Back\n\t\t\t\t
\n\t\t
\n
\n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n \n
OrganizationServiceRolesUpdated AtActions
{{ row.organizationName }}{{ row.serviceId }}\n \t\t\t\t\t\t\t\t{{role}}\n \t\t\t\t\t\t {{ printDate(row.updatedAt) }}\n Edit |\n \n
\n
\n
\n\t\t
\n `\n})\n\nexport class IdPUserRolesListComponent implements OnInit {\n\tprivate subscriptionQueryParams: Subscription;\n\tdata: IdPUserRole[];\n\tfobj: FindIdPUserRole;\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\thasAccess: boolean;\n\tuserId: string;\n\ttitleStr: string;\n\tidpId: string;\n\tusername:string;\n\tidpName:string;\n\n\tconstructor(private router: Router, private idsvc: IdentityService, private title: AppTitle, private activatedRoute: ActivatedRoute){\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\tthis.titleStr = '';\n\t\ttitle.setTitles({\n\t\t\ttitle: 'Roles - IdP User',\n\t\t\tdashboard: 'Roles - IdP User'\n\t\t});\n\n\t\tthis.fobj = new FindIdPUserRole();\n\t\tthis.data = [];\n\n\t\tthis.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n\t\t\t\tthis.username = decodeURIComponent(params['username'])\n\t\t\t\tthis.idpName = decodeURIComponent(params['idpName'])\n\t\t\t}\n\t\t);\n\t\tthis.titleStr = this.username + ' / Roles'\n\n\t}\n\n\tngOnInit(){\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctnumber'];\n\t\tthis.userId = this.activatedRoute.snapshot.params['userId'];\n\t\tthis.idpId = this.activatedRoute.snapshot.params['idpid'];\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.idsvc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\t\tthis.loadData();\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'IdP Users ', link: `idp/${this.acctNumber}/idp-users/users` },\n\t\t\t{ title: this.idpName + ' ', link: '' },\n\t\t\t{ title: this.titleStr, link: '' },\n\t\t]);\n\t}\n\n\tloadData(){\n\t\tthis.data = [];\n\t\tthis.fobj.idpId = parseInt(this.idpId);\n\t\tthis.fobj.userId = this.userId;\n\t\tthis.idsvc.findIdPUserRoleApi(this.acctNumber, this.fobj).subscribe((rows: IdPUserRole[]) => {\n\t\t\tfor (let e of rows) {\n\t\t\t\tif(e.serviceId === 'school-manager'){\n\t\t\t\t\te.serviceId = 'School Manager'\n\t\t\t\t}else if(e.serviceId === 'district-manager') {\n\t\t\t\t\te.serviceId = 'District Manager'\n\t\t\t\t}else if(e.serviceId === 'identity') {\n\t\t\t\t\te.serviceId = 'Identity'\n\t\t\t\t}\n\t\t\t\tthis.data.push(e);\n\t\t\t}\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.idsvc.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\trefresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n\t}\n\n\tprintDate(d: Date): string {\n\t\tlet df = '01/02/2006 03:04 PM';\n\t\tif (isDateSet(d)) {\n\t\t\treturn dateFormat(d, df);\n\t\t}\n\t\treturn '';\n\t}\n\n\taddRole() {\n\t\tvar params: any = {};\n\t\tparams['username'] = this.username;\n\t\tparams['idpName'] = this.idpName;\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/${this.idpId}/users/${this.userId}/roles/add`],{ queryParams: this.idsvc.params(params) });\n\t\treturn;\n\t}\n\n\tedit(ids: IdPUserRole){\n\t\tvar params: any = {};\n\t\tparams['username'] = this.username;\n\t\tparams['idpName'] = this.idpName;\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/${this.idpId}/users/${this.userId}/roles/${ids.id}/edit`], { queryParams: this.idsvc.params(params) });\n\t\treturn;\n\t}\n\n\tremoveRow(ids: IdPUserRole){\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.idsvc.removeIdPUserRoleApi(this.acctNumber, ids.id)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.data.splice(this.data.indexOf(ids), 1);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptionQueryParams.unsubscribe();\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/users`]);\n\t\treturn;\n\t}\n\n}\n","\n
\n
\n \n
\n
\n
\n\t\t
\n
\n
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Identity Provider*

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Username

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n

First Name

\n \n \t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Last Name

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Card ID

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Phone Number

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Group Names (Comma Separated)

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n
\n
\n
\n
\n
\n
\n
\n \n\t\t\t\t\t Clear Form\n\t\t\t\t\t Go Back\n
\n
\n
\n
\n \n
\n
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { IdPUser } from '../models/idpuser';\nimport { IdentityService } from '../services/identity.service';\nimport { FindIdPUser } from '../models/find_idpuser';\nimport { IdPUserRequest } from '../models/idpuser_request';\nimport { Alert } from '../shared/alert';\nimport { User } from '../models/user';\nimport { AppTitle } from '../shared/title';\nimport { AppValidators, controlErrors } from '../shared/app.validators';\nimport { trimReturnKey } from '../shared/strings';\nimport { Account } from '../services/account.service';\nimport { FindIdP } from '../models/find_idp';\nimport { IdP } from '../models/idp';\nimport { Subscription } from 'rxjs';\n\n@Component({\n\tselector: 'add-identity-user',\n\ttemplate: `\n
\n
\n \n
\n
\n
\n\t\t
\n
\n
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Identity Provider*

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Username

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n

First Name

\n \n \t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Last Name

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Card ID

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Phone Number

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t

Group Names (Comma Separated)

\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n
\n
\n
\n
\n
\n
\n
\n \n\t\t\t\t\t Clear Form\n\t\t\t\t\t Go Back\n
\n
\n
\n
\n \n
\n
\n `\n})\n\nexport class IdPUserComponent implements OnInit {\n\thasAccess: boolean;\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tdata: IdPUser;\n\tacctNumber: string;\n\tuser: User;\n\tform: FormGroup;\n\tidParam: string;\n\teditMode: boolean;\n\tsaveCount: number;\n\tidpIdParam:string;\n\tidpIdValue:number;\n\tidP:IdP[];\n\tusername: string;\n\tidpName: string;\n\tprivate subscriptionQueryParams: Subscription;\n\n\tconstructor(private account: Account, private router: Router, private svc: IdentityService, fb: FormBuilder, private title: AppTitle, private activatedRoute: ActivatedRoute) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\tthis.data = new IdPUser();\n\t\tthis.idP = [];\n\t\tthis.idpIdValue = 0;\n\t\tthis.form = fb.group({\n\t\t\tidp:['', Validators.compose([Validators.required])],\n\t\t\tuserName: ['',Validators.compose([Validators.required, AppValidators.email])],\n\t\t\tfirstName: ['', Validators.compose([Validators.maxLength(25)])],\n\t\t\tlastName: ['', Validators.compose([Validators.maxLength(25)])],\n\t\t\tcardId: ['', Validators.compose([Validators.maxLength(26)])],\n\t\t\tphoneNumber: [''],\n\t\t\tgroupNames: ['', Validators.maxLength(50)],\n\t\t});\n\t\tthis.editMode = false;\n\t\tthis.saveCount = 1;\n\t\tthis.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n\t\t\t\tthis.idpName = decodeURIComponent(params['idpName'])\n\t\t\t\tthis.username = decodeURIComponent(params['username'])\n\t\t\t}\n\t\t);\n\t}\n\n\tngOnInit() {\n\t\tlet titleStr = 'Add New';\n\t\tlet action = 'add';\n\t\tthis.title.setTitles({\n\t\t\ttitle: 'Add New - IdP User',\n\t\t\tdashboard: 'Add New - IdP User',\n\t\t});\n\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctnumber'];\n\t\tthis.idParam = this.activatedRoute.snapshot.params['userId'];\n\t\tthis.idpIdParam = this.activatedRoute.snapshot.params['idpid'];\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.svc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.svc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t});\n\t\t}\n\t\tthis.user = this.account.getUser();\n\t\tthis.loadIdP();\n\t\tif (this.idParam) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.loadData();\n\t\t\tif(this.idpIdParam){\n\t\t\t\tthis.idpIdValue = parseInt(this.idpIdParam);\n\t\t\t}\n\t\t\tthis.title.setTitles({\n\t\t\t\ttitle: 'Edit - IdP User',\n\t\t\t\tdashboard: 'Edit - IdP User',\n\t\t\t});\n\t\t\ttitleStr = 'Edit';\n\t\t\taction = 'edit';\n\t\t}\n\t\tif (this.editMode) {\n\t\t\tthis.title.setBreadcrumbs([\n\t\t\t\t{ title: 'IdP Users', link: `idp/${this.acctNumber}/idp-users/users` },\n\t\t\t\t{ title: this.idpName + ' ', link: `` },\n\t\t\t\t{ title: this.username + ' ', link: `` },\n\t\t\t\t{ title: titleStr, link: '' },\n\t\t\t]);\n\t\t} else {\n\t\t\tthis.title.setBreadcrumbs([\n\t\t\t\t{ title: 'IdP Users', link: `idp/${this.acctNumber}/idp-users/users` },\n\t\t\t\t{ title: titleStr, link: '' },\n\t\t\t]);\n\t\t}\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/users`]);\n\t}\n\n\tloadData() {\n\t\tlet find = new FindIdPUser();\n\t\tfind.userId = this.idParam;\n\t\tthis.svc.findIdPUserApi(this.acctNumber, find).subscribe((rows: IdPUser[]) => {\n\t\t\tthis.msg.close();\n\t\t\tthis.data = rows[0];\n\t\t\tthis.form.get('idp').setValue(this.data.idpId);\n\t\t\tthis.form.get('firstName').setValue(this.data.firstName);\n\t\t\tthis.form.get('lastName').setValue(this.data.lastName);\n\t\t\tthis.form.get('cardId').setValue(this.data.cardId);\n\t\t\tthis.form.get('userName').setValue(this.data.username);\n\t\t\tthis.form.get('phoneNumber').setValue(this.data.phoneNumber);\n\t\t\tthis.form.get('groupNames').setValue(this.data.groupNames);\n\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.svc.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.svc.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.svc.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msg.error(this.svc.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.svc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tloadIdP() {\n\t\tthis.idP = [];\n\t\tthis.svc.findIdPApi(this.acctNumber, new FindIdP())\n\t\t .subscribe((idps: IdP[]) => {\n\t\t\tfor (let r of idps) {\n\t\t\t\tthis.idP.push(r);\n\t\t\t}\n\t\t }, err => {\n\t\t\t console.log(err);\n\t\t\t if (this.svc.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.svc.getUserError(err));\n\t\t\t } else {\n\t\t\t\tif (this.svc.isErrUnauthorized(err)) {\n\t\t\t\t this.hasAccess = false;\n\t\t\t\t this.msg.error(this.svc.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t this.msg.error(this.svc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t }\n\t\t });\n\t }\n\n\tviewToRequest(r: IdPUser): IdPUserRequest {\n\t\tlet ret = new IdPUserRequest();\n\t\tret.idpId = this.idpIdValue;\n\t\tret.firstName = trimReturnKey(r.firstName);\n\t\tret.lastName = trimReturnKey(r.lastName);\n\t\tret.cardId = trimReturnKey(r.cardId);\n\t\tret.phoneNumber = trimReturnKey(r.phoneNumber);\n\t\tret.groupNames = trimReturnKey(r.groupNames);\n\t\tret.username = trimReturnKey(r.username);\n\t\treturn ret;\n\t}\n\n\tsave() {\n\t\tif(this.idpIdValue == 0){\n\t\t\tthis.form.get('idp').setErrors({'required': true});\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n\t\t}\n\t\tif (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n\t\t}\n\t\tthis.idpIdValue = parseInt(this.form.get('idp').value);\n\t\tthis.data.idpId = this.idpIdValue;\n\t\tthis.data.firstName = this.form.get('firstName').value;\n\t\tthis.data.lastName = this.form.get('lastName').value;\n\t\tthis.data.cardId = this.form.get('cardId').value;\n\t\tthis.data.phoneNumber = this.form.get('phoneNumber').value;\n\t\tthis.data.groupNames = this.form.get('groupNames').value;\n\t\tthis.data.username = this.form.get('userName').value;\n\n\t\tif (this.editMode) {\n\t\t\tthis.svc.updateIdPUsersApi(this.acctNumber, this.data.id, this.viewToRequest(this.data))\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.svc.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.goBack();\n\t\t\t\t\t}, 1000)\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.svc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t});\n\n\t\t} else {\n\t\t\tthis.svc.addIdPUsersApi(this.acctNumber, this.viewToRequest(this.data))\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.svc.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.svc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t});\n\t\t}\n\t}\n\n\tclearForm() {\n\t\tthis.form.reset({\n\t\t\tfirstName: '',\n\t\t\tlastName: '',\n\t\t\tmiddleName: '',\n\t\t\tbadgeTypeId: '',\n\t\t\tfield1: '',\n\t\t\tfield2: '',\n\t\t\tfield3: '',\n\t\t\tfield4: '',\n\t\t\tfield5: '',\n\t\t\tfield6: '',\n\t\t\tfield7: '',\n\t\t\trecordIdentifier: '',\n\t\t\tschoolGroupID: 1,\n\t\t});\n\t}\n\n\tdisplayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\t\tdelete all\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t \t\t
\n\t\t
\n
\n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n \n\t\t\t\t\t\t\t\t\n \n \n \n
IdP NameUsernameFirst NameLast NameCard IDGroup NamesCreated AtLast Login AtActions
{{ row.idpName }}{{ row.username }}{{ row.firstName }}{{ row.lastName }}{{ row.cardId }}\n\t\t\t\t\t\t\t\t\t{{ truncateText(row) }}\n\t\t\t\t\t\t\t\t{{ printDate(row.createdAt) }}{{ printDate(row.lastLoginAt) }}\n Edit |\n Roles |\n \n
\n
\n
\n\t\t
\n\t\t
0\" style=\"\">\n
\n \n \n {{getFromPage()}}-{{getToPage()}} of {{rowCount}}\n \n
\n
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from '../shared/title';\nimport { IdentityService } from '../services/identity.service';\nimport { Alert } from '../shared/alert';\nimport { validateToken } from '../services/account.service';\nimport { isDateSet, dateFormat } from '../shared/date_helper';\nimport { IdPUser } from '../models/idpuser';\nimport { IdPUserTextSearch } from '../models/idpuser_text_search';\nimport { Subscription } from 'rxjs';\nimport { Observable } from 'rxjs/Observable';\nimport { Observer } from 'rxjs/Observer';\n\n@Component({\n\tselector: 'users',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#9dbd9e;\n border-radius:4px;\n padding:5px;\n }\n .tag-close {\n margin-left:5px;\n cursor: pointer;\n }\n `],\n\ttemplate: `\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\t\tdelete all\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t \t\t
\n\t\t
\n
\n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n \n\t\t\t\t\t\t\t\t\n \n \n \n
IdP NameUsernameFirst NameLast NameCard IDGroup NamesCreated AtLast Login AtActions
{{ row.idpName }}{{ row.username }}{{ row.firstName }}{{ row.lastName }}{{ row.cardId }}\n\t\t\t\t\t\t\t\t\t{{ truncateText(row) }}\n\t\t\t\t\t\t\t\t{{ printDate(row.createdAt) }}{{ printDate(row.lastLoginAt) }}\n Edit |\n Roles |\n \n
\n
\n
\n\t\t
\n\t\t
0\" style=\"\">\n
\n \n \n {{getFromPage()}}-{{getToPage()}} of {{rowCount}}\n \n
\n
\n `\n})\n\nexport class IdPUsersListComponent implements OnInit {\n\tdata: IdPUser[];\n\tmsg: Alert;\n\tmsgYesNo: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\thasAccess: boolean;\n\tmaxPageSize: number;\n\tfobj: IdPUserTextSearch;\n\tfromPage: number;\n\ttoPage: number;\n\trowCount: number;\n\tdisablePreviousPage: boolean;\n\tdisableNextPage: boolean;\n\tsearchQueryParam: string;\n\tpageSizeParam: string;\n\tpageParam: string;\n\tprivate subscriptionQueryParams: Subscription;\n\n\tconstructor(private router: Router, private idsvc: IdentityService, private title: AppTitle, private activatedRoute: ActivatedRoute) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\tthis.msgYesNo = new Alert();\n\t\ttitle.setTitles({\n\t\t\ttitle: 'IdP Users',\n\t\t\tdashboard: 'IdP Users'\n\t\t});\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'IdP Users', link: `` }\n\t\t]);\n\t\tthis.maxPageSize = 20;\n\t\tthis.fobj = new IdPUserTextSearch()\n\t\tthis.fobj.pageSize = this.maxPageSize;\n\t\tthis.data = [];\n\n\t\tthis.fromPage = 0;\n\t\tthis.toPage = 0;\n\t\tthis.rowCount = 0;\n\t\tthis.disablePreviousPage = true;\n\t\tthis.disableNextPage = true;\n\t\tthis.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n\t\t\t\tthis.searchQueryParam = params['searchQuery'];\n\t\t\t\tthis.pageSizeParam = params['pageSize']\n\t\t\t\tthis.pageParam = params['page']\n\t\t\t\tthis.setFormNavParams(this.fobj);\n\t\t\t}\n\t\t);\n\n\t}\n\n\tngOnInit() {\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctnumber'];\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.idsvc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\t\tthis.loadData();\n\t}\n\n\tloadData() {\n\t\tthis.data = [];\n\n\t\tthis.idsvc.textSearchIdPUsersApi(this.acctNumber, this.fobj).subscribe((rows: IdPUser[]) => {\n\t\t\tfor (let e of rows) {\n\t\t\t\tthis.data.push(e);\n\t\t\t}\n\t\t\tthis.rowCount = rows.length;\n\t\t\tthis.disablePreviousPage = this.fobj.page == 1;\n\t\t\tthis.maxPageSize = this.fobj.pageSize;\n\t\t\tif (this.data.length >= this.maxPageSize) {\n\t\t\t\tthis.fromPage = (this.maxPageSize * (this.fobj.page - 1)) + 1;\n\t\t\t\tthis.toPage = (this.maxPageSize * (this.fobj.page));\n\t\t\t} else {\n\t\t\t\tthis.fromPage = (this.maxPageSize * (this.fobj.page - 1)) + 1;\n\t\t\t}\n\n\t\t\tthis.idsvc.textSearchCountIdPUsersApi(this.acctNumber, this.fobj).subscribe(resp => {\n\t\t\t\tlet count = resp.count;\n\t\t\t\tthis.rowCount = count;\n\t\t\t\tif (this.data.length < this.maxPageSize) {\n\t\t\t\t\tthis.toPage = count;\n\t\t\t\t}\n\t\t\t\tthis.disableNextPage = this.getToPage() >= count;\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t});\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.idsvc.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t}\n\n\trefresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n\t}\n\n\tadd() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/users/add`]);\n\t\treturn;\n\t}\n\n\tedit(ids: IdPUser) {\n\t\tlet params: any = {};\n\t\tparams['username'] = ids.username;\n\t\tparams['idpName'] = ids.idpName;\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/${ids.idpId}/users/${ids.userId}/edit`], { queryParams: this.idsvc.params(params) });\n\t\treturn;\n\t}\n\n\troles(ids: IdPUser){\n\t\tvar params: any = {};\n\t\tparams['username'] = ids.username;\n\t\tparams['idpName'] = ids.idpName;\n\t\tthis.router.navigate([`idp/${this.acctNumber}/idp-users/${ids.idpId}/users/${ids.userId}/roles`], { queryParams: this.idsvc.params(params) });\n\t\treturn;\n\t}\n\n\tremove(reg: IdPUser) {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.idsvc.removeIdPUsersApi(this.acctNumber, reg.id)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.data.splice(this.data.indexOf(reg), 1);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n\tprintDate(d: Date): string {\n\t\tlet df = '01/02/2006 03:04 PM';\n\t\tif (isDateSet(d)) {\n\t\t\treturn dateFormat(d, df);\n\t\t}\n\t\treturn '';\n\t}\n\n\tsetNavParams(req: IdPUserTextSearch): Observable {\n\t\tvar params: any = {};\n\n\t\tparams['searchQuery'] = req.query;\n\t\tparams['page'] = req.page;\n\t\tparams['pageSize'] = req.pageSize;\n\n\t\tlet p = this.router.navigate([`idp/${this.acctNumber}/idp-users/users`], { queryParams: this.idsvc.params(params) });\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tp.then(() => {\n\t\t\t\tobserver.next(true);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t});\n\t}\n\n\tsetFormNavParams(f: IdPUserTextSearch) {\n\t\tlet dec = decodeURIComponent;\n\t\tf.query = this.searchQueryParam != null ? dec(this.searchQueryParam) : '';\n\t\tf.pageSize = this.pageSizeParam != null ? parseInt(dec(this.pageSizeParam)) : 20;\n\t\tf.page = this.pageParam != null ? parseInt(dec(this.pageParam)) : 1;\n\t}\n\n\tdeleteAllConfirmation() {\n\t\tthis.msg.close();\n\t\tthis.msgYesNo.warningHtml(`Are you sure to remove all results from current search?`);\n\t}\n\n\tmsgYesNoRespond(respond: any) {\n\t\tif (respond == 'yes') {\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => {\n\t\t\t\tthis.msgYesNo.close();\n\t\t\t\tthis.deleteAll();\n\t\t\t});\n\t\t} else if (respond == 'no') {\n\t\t\tthis.msgYesNo.close();\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => { });\n\t\t}\n\t}\n\n\tdeleteAll() {\n\t\tthis.msg.info('Removing results from current search ...');\n\t\tthis.idsvc.removeAllIdPUsersApi(this.acctNumber, this.fobj)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.data = [];\n\t\t\t\tthis.msg.success('Successfully removed all results from current search.');\n\t\t\t\tif (this.fobj.query != '') {\n\t\t\t\t\tthis.fobj.query = '';\n\t\t\t\t\tthis.refresh();\n\t\t\t\t}\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msg.error(e);\n\t\t\t});\n\t}\n\n\tgetFromPage(): number {\n\t\treturn this.fromPage;\n\t}\n\n\tgetToPage(): number {\n\t\treturn this.toPage;\n\t}\n\n\tprevPage() {\n\t\tif (this.fobj.page > 1) {\n\t\t\tthis.fobj.page -= 1;\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => {\n\t\t\t\tthis.loadData()\n\t\t\t});\n\t\t}\n\t}\n\n\tfirstPage() {\n\t\tif (this.fobj.page > 1) {\n\t\t\tthis.fobj.page = 1;\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => {\n\t\t\t\tthis.loadData()\n\t\t\t});\n\t\t}\n\t}\n\n\tnextPage() {\n\t\tif (this.data.length >= this.maxPageSize) {\n\t\t\tthis.fobj.page = this.fobj.page + 1;\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => {\n\t\t\t\tthis.loadData()\n\t\t\t});\n\t\t}\n\t}\n\n\ttruncateText(row): string {\n\t\tvar limit = 30;\n\t\tvar value = row.groupNames;\n\t\tif (value && value.length > limit) {\n\t\t\tif (row.isExpanded) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\treturn value.substring(0, limit) + '...';\n\t\t}\n\t\treturn value;\n\t}\n\n\texpandGroupName(row){\n\t\trow.isExpanded = !row.isExpanded;\n\t}\n\n\tcursorStyle(row){\n\t\treturn row.groupNames.length > 30 ? 'pointer' : 'auto'\n\t}\n\n}\n","
\n \n
","/// \nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './shared/title';\nimport { Account, validateToken } from './services/account.service';\nimport { IdentityService } from './services/identity.service';\nimport { Alert } from './shared/alert';\nimport { Config } from './config';\nimport { AppService } from './services/app.service';\n\n@Component({\n\tselector: 'login',\n\ttemplate:\n\t\t`
\n \n
`\n})\n\nexport class LoginComponent implements OnInit, OnDestroy {\n\tpublic msg: Alert;\n\n\tconstructor(\n\t\tprivate router: Router,\n\t\tprivate title: AppTitle,\n\t\tprivate account: Account,\n\t\tprivate dvc: IdentityService,\n\t\tprivate config: Config,\n\t\tprivate app: AppService,\n\t) {\n\t\tthis.msg = new Alert();\n\t\ttitle.setTitles({ title: 'Login', dashboard: 'Login' });\n\t\ttitle.setBreadcrumbs([\n\t\t\t{ title: 'Login', link: '' }\n\t\t]);\n\t}\n\n\tngOnInit() {\n\t\tlet gotopage = this.config.goToPage();\n\n\t\tif (validateToken()) {\n\n\t\t\tthis.dvc.loadUser().subscribe(ur => {\n\n\t\t\t\tlet usr = this.dvc.userRoles();\n\t\t\t\tlet us = this.account.getUser();\n\t\t\t\tif (usr == null && us == null) {\n\t\t\t\t\tthis.msg.error('You don\\'t have access to this page.');\n\t\t\t\t\t// in case user login and token has being stored into localStorage but since this user is not allowed to view this page\n\t\t\t\t\t// and there is no logout link, we need to remove token and other kyes from localStorage for security reasons\n\t\t\t\t\tthis.account.removeLocalStorage();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// trigger app component to reload some of the ui parts\n\t\t\t\tthis.app.onLoadApp.emit(null);\n\t\t\t\tif (!gotopage || gotopage === '/') {\n\t\t\t\t\tthis.router.navigateByUrl(`/idp/${ur.acctNumber}/idps`);\n\t\t\t\t} else {\n\t\t\t\t\tthis.router.navigateByUrl(gotopage);\n\t\t\t\t}\n\n\t\t\t}, err => {\n\t\t\t\tif (err.message == 'unauthorized') {\n\t\t\t\t\tthis.msg.error('You don\\'t have access to this page.');\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error('There is an error when processing this request, please try again.');\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tthis.msg.error('Invalid token, please logout and login again.');\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis.config.removeLocalStorage();\n\t}\n}\n","export class FindAccountAssociation {\n\tacctNumber: number;\n\tenabled: boolean;\n\tpage: number;\n\tpageSize: number;\n\n\tconstructor(){\n\t\tthis.acctNumber = 0;\n\t\tthis.enabled = false;\n\t\tthis.page = 0;\n\t\tthis.pageSize = 0;\n\t}\n}\n","export class FindIdP {\n id: number;\n domainNames: string;\n page: number;\n pageSize: number;\n\n constructor() {\n this.id = 0;\n this.domainNames = '';\n this.page = 1;\n this.pageSize = 10;\n }\n}","export class FindIdPRolesMapping {\n id: number;\n idpId: number;\n \n constructor() {\n this.id = 0;\n this.idpId = 0;\n }\n}","export class FindIdPUser {\n\tid: number;\n\tusername: string;\n\tidpId: number;\n\tuserId: string;\n\tpage: number;\n\tpageSize: number;\n\n\tconstructor(){\n\t\tthis.id = 0;\n\t\tthis.username = '';\n\t\tthis.idpId = 0;\n\t\tthis.userId = '';\n\t\tthis.page = 0;\n\t\tthis.pageSize = 0;\n\t}\n}\n","export class FindIdPUserRole {\n\tid: number;\n\tidpId: number;\n\tuserId: string;\n\n\tconstructor(){\n\t\tthis.id = 0;\n\t\tthis.idpId = 0;\n\t\tthis.userId = '';\n\t}\n\n}\n","export class IdentityUser {\n\troles: string[];\n\tuserId: string;\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n\topenAddRole: boolean; //from js\n\tstatus: string;\n\towner: string;\n\n\tconstructor() {\n\t\tthis.roles = [];\n\t\tthis.userId = '';\n\t\tthis.firstName = '';\n\t\tthis.lastName = '';\n\t\tthis.email = '';\n\t\tthis.openAddRole = false;\n\t\tthis.status = '';\n\t\tthis.owner = '';\n\t}\n}\n","export class IdP {\n id: number;\n domainNames: string;\n protocol: string;\n name: string;\n userProvisioning: boolean;\n createdAt: Date;\n updatedAt: Date;\n\n constructor() {\n this.id = 0;\n this.domainNames = '';\n this.protocol = '';\n this.name = '';\n this.userProvisioning = false;\n this.createdAt = new Date();\n this.updatedAt = new Date();\n }\n}","export class IdPDomainRequest {\n domainName: string;\n email: string;\n\n constructor() {\n this.domainName = '';\n this.email = '';\n }\n}","export class IdPRequest {\n id: number;\n domainNames: string;\n protocol: string;\n name: string;\n userProvisioning: boolean;\n\n constructor() {\n this.id = 0;\n this.domainNames = '';\n this.protocol = '';\n this.name = '';\n this.userProvisioning = false;\n }\n}","export class IdPRolesMappingRequest {\n id: number;\n idpId: number;\n orgAcctNumber: number;\n accountGroups: string;\n serviceId: string;\n serviceRoles: string;\n serviceRolesGroups: string;\n\n constructor() {\n this.id = 0;\n this.idpId = 0;\n this.orgAcctNumber = 0;\n this.accountGroups = '';\n this.serviceId = '';\n this.serviceRoles = '';\n this.serviceRolesGroups = '';\n }\n}","export class IdPRolesMappingTextSearch {\n\tidpId: number;\n\tquery: string;\n\tpage: number;\n\tpageSize: number;\n\n\tconstructor(){\n\t\tthis.idpId = 0;\n\t\tthis.query = '';\n\t\tthis.page = 0;\n\t\tthis.pageSize = 0;\n\t}\n}\n","export class IdPUser {\n\tid: number;\n\tidpId:number;\n\tusername: string;\n\tacctNumber: string;\n\tfirstName: string;\n\tlastName: string;\n\tcardId: string;\n\tphoneNumber: string;\n\tgroupNames: string;\n\tidpName: string;\n\tuserId: string;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n\tlastLoginAt: Date;\n\n\tconstructor(){\n\t\tthis.id = 0;\n\t\tthis.idpId = 0;\n\t\tthis.acctNumber = '';\n\t\tthis.username = '';\n\t\tthis.firstName = '';\n\t\tthis.lastName = '';\n\t\tthis.cardId = '';\n\t\tthis.phoneNumber = '';\n\t\tthis.groupNames = '';\n\t\tthis.idpName = '';\n\t\tthis.userId = '';\n\t\tthis.createdAt = new Date();\n\t\tthis.updatedAt = new Date();\n\t\tthis.lastLoginAt = new Date();\n\t}\n}\n","export class IdPUserRequest {\n\tid: number;\n\tidpId: number;\n\tusername: string;\n\tfirstName: string;\n\tlastName: string;\n\tcardId: string;\n\tphoneNumber: string;\n\tgroupNames: string;\n\n\tconstructor(){\n\t\tthis.id = 0;\n\t\tthis.idpId = 0;\n\t\tthis.firstName = '';\n\t\tthis.lastName = '';\n\t\tthis.cardId = '';\n\t\tthis.phoneNumber = '';\n\t\tthis.groupNames = '';\n\t}\n }\n","export class IdPUserRole {\n\tid: number;\n\tidpId: number;\n\tuserId: string;\n\torgAcctNumber: number;\n\tserviceId: string;\n\troles: string;\n\tupdatedAt: Date;\n\torganizationName: string;\n\n\tconstructor(){\n\t\tthis.id = 0;\n\t\tthis.idpId = 0;\n\t\tthis.userId = '';\n\t\tthis.orgAcctNumber = 0;\n\t\tthis.serviceId = '';\n\t\tthis.roles = '';\n\t\tthis.updatedAt = new Date();\n\t\tthis.organizationName = '';\n\t}\n\n}\n","export class IdPUserTextSearch {\n\tidpId: number;\n\tquery: string;\n\tpage: number;\n\tpageSize: number;\n\n\tconstructor(){\n\t\tthis.idpId = 0;\n\t\tthis.query = '';\n\t\tthis.page = 0;\n\t\tthis.pageSize = 0;\n\t}\n}\n","export class InviteUser {\n\temail: string;\n\n\tconstructor() {\n\t this.email = '';\n\t}\n }\n","export class OAuthTokenRequest {\n\trefreshToken: string;\n\n\tconstructor() {\n\t\tthis.refreshToken = '';\n\t}\n}\n","export class OAuthToken {\n\trefreshToken: string;\n\taccessToken: string;\n\texpiresIn: number;\n\ttokenType: string;\n\n\tconstructor() {\n\t\tthis.refreshToken = '';\n\t\tthis.accessToken = '';\n\t\tthis.expiresIn = 0;\n\t\tthis.tokenType = '';\n\t}\n}\n","import { Token } from './token';\n\nexport class OAuthResponse {\n\taccessToken: string;\n\ttokenType: string;\n\tstate: string;\n\tscope: string;\n\texpiresIn: number;\n\texpiresAt: Date;\n\trefreshToken: string;\n\tconstructor() {\n\t\tthis.accessToken = '';\n\t\tthis.tokenType = '';\n\t\tthis.state = '';\n\t\tthis.scope = '';\n\t\tthis.expiresIn = 0;\n\t\tthis.refreshToken = '';\n\t}\n\n\tgetToken(): Token {\n\t\tlet t = new Token();\n\t\tt.accessToken = this.accessToken;\n\t\tt.tokenType = this.tokenType;\n\t\tt.state = this.state;\n\t\tt.scope = this.scope;\n\t\tt.expiresIn = this.expiresIn;\n\t\tt.expiresAt = this.expiresAt;\n\t\tt.refreshToken = this.refreshToken;\n\t\treturn t;\n\t}\n}\n","export class SAML2Attribute {\n name: string;\n userAttributeMapping: string;\n attributeTransformationsRegex: string;\n attributeValidationsRegex: string;\n values: string;\n skipIfBlank: boolean;\n defaultValues: string;\n label: string;\n\n constructor() {\n this.name = '';\n this.userAttributeMapping = '';\n this.attributeTransformationsRegex = '';\n this.attributeValidationsRegex = '';\n this.values = '';\n this.skipIfBlank = false;\n this.defaultValues = '';\n this.label = '';\n }\n}","import { SAML2Attribute } from \"./saml2_attribute\";\n\nclass SAML2SSO {\n idpEntityId: string;\n idpLoginUrl: string;\n idpLogoutUrl: string;\n idpPublicCertificate: string;\n spCertificateId: string;\n sessionTrustDuration: number;\n\n constructor() {\n this.idpEntityId = '';\n this.idpLoginUrl = '';\n this.idpLogoutUrl = '';\n this.idpPublicCertificate = '';\n this.spCertificateId = '';\n this.sessionTrustDuration = 0;\n }\n}\n\nclass SAML2Policy {\n manageUserProfile: boolean;\n rolesMapping: boolean;\n\n constructor() {\n this.manageUserProfile = false;\n this.rolesMapping = false;\n }\n}\n\nexport class SAML2Config {\n sso: SAML2SSO;\n policy: SAML2Policy;\n attributes: SAML2Attribute[];\n\n constructor() {\n this.sso = new SAML2SSO(),\n this.policy = new SAML2Policy(),\n this.attributes = [];\n }\n}","export class EndpointsReply {\n entityId: string;\n metadataUrl: string;\n loginUrl: string;\n acsUrl: string;\n\n constructor() {\n this.entityId = '';\n this.metadataUrl = '';\n this.loginUrl = '';\n this.acsUrl = '';\n }\n}","export class Token {\n\taccessToken: string;\n\texpiresIn: number;\n\tscope: string;\n\tstate: string;\n\ttokenType: string;\n\texpiresAt: Date;\n\trefreshToken: string;\n\n\tconstructor(token?: any) {\n\t\tlet t = token || {};\n\t\tthis.accessToken = t.accessToken || '';\n\t\tthis.expiresIn = t.expiresIn || 0;\n\t\tthis.scope = t.scope || '';\n\t\tthis.state = t.state || '';\n\t\tthis.tokenType = t.tokenType || '';\n\t\tthis.expiresAt = new Date(t.expiresAt) || new Date();\n\t\tthis.refreshToken = t.refreshToken || '';\n\t}\n}\n","export class User {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n\tusername: string;\n\ttimeZone: string;\n\tuserId: string;\n\tphoneNumber: string;\n\tconstructor() {\n\t\tthis.firstName = 'Testing';\n\t\tthis.lastName = '';\n\t\tthis.email = '';\n\t\tthis.timeZone = '';\n\t\tthis.username = '';\n\t\tthis.userId = '';\n\t\tthis.phoneNumber = '';\n\t}\n\n\tgetUserProfile() {\n\t\treturn {\n\t\t\tfirstName: this.firstName,\n\t\t\tlastName: this.lastName,\n\t\t\temail: this.email,\n\t\t\tusername: this.username,\n\t\t\ttimeZone: this.timeZone,\n\t\t\tuserId: this.userId,\n\t\t\tphoneNumber: this.phoneNumber,\n\t\t}\n\t}\n}\n","\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n
\n

Identity Providers

\n \n
\n\n
\n

Service

\n \n
\n\n
\n

Organization

\n \n
\n\n
\n

Organization Mapping (comma separated)

\n \n
\n\n
\n

Service Roles

\n
\n \n
\n
\n\n
\n

Service Roles Mapping (comma separated)

\n \n
\n\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { IdP } from '../models/idp';\nimport { Alert } from '../shared/alert';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { DropdownOption } from '../shared/dropdown_option';\nimport { FindIdP } from '../models/find_idp';\nimport { controlErrors } from '../shared/app.validators';\nimport { IdPRolesMapping } from '../models/idp_roles_mapping';\nimport { IdPRolesMappingRequest } from '../models/idp_roles_mapping_request';\nimport { FindIdPRolesMapping } from '../models/find_idp_roles_mapping';\nimport { FindAccountAssociation } from '../models/find_account_association';\nimport { AccountAssociation } from '../models/account_association';\nimport { UserRoles } from '../models/user_roles';\nimport { User } from '../models/user';\nimport { Account } from '../services/account.service';\n\nclass CheckboxRoleValue {\n title: string;\n value: boolean;\n\n constructor() {\n this.title = '';\n this.value = false;\n }\n}\n\n@Component({\n selector: 'app-idp-add-edit',\n template: `\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n
\n

Identity Providers

\n \n
\n\n
\n

Service

\n \n
\n\n
\n

Organization

\n \n
\n\n
\n

Organization Mapping (comma separated)

\n \n
\n\n
\n

Service Roles

\n
\n \n
\n
\n\n
\n

Service Roles Mapping (comma separated)

\n \n
\n\n
\n
\n
\n
\n
\n \n Go Back\n
\n
\n
\n
\n \n
\n
\n `,\n})\nexport class AddEditRolesMappingComponent implements OnInit {\n data: IdPRolesMappingRequest;\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n form: FormGroup;\n idps: DropdownOption[];\n services: DropdownOption[];\n orgs: DropdownOption[];\n idParam: string;\n editMode: boolean;\n schoolManagerRoles: CheckboxRoleValue[];\n districtMangerRoles: CheckboxRoleValue[];\n identityRoles: CheckboxRoleValue[];\n serviceRoles: CheckboxRoleValue[];\n adminRoles: CheckboxRoleValue[];\n hideOrgInput: boolean;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router, fb: FormBuilder, private accsvc: Account) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n this.editMode = false;\n this.data = new IdPRolesMappingRequest();\n this.idps = [];\n this.orgs = [];\n this.idps.push({ id: '', title: 'Select Identity Provider' });\n this.orgs.push({ id: '', title: 'Select Organization' });\n this.form = fb.group({\n\t\t\tidpId: ['', Validators.compose([Validators.required])],\n\t\t\tserviceId: ['', Validators.compose([Validators.required])],\n\t\t\torgAcctNumber: ['', Validators.compose([Validators.required])],\n\t\t\taccountGroups: ['', Validators.compose([Validators.required])],\n\t\t\tserviceRolesGroups: ['', Validators.compose([Validators.required])],\n });\n this.hideOrgInput = false;\n\n this.schoolManagerRoles = [\n { title: 'admin', value: false },\n { title: 'user', value: false },\n { title: 'director', value: false },\n { title: 'notification', value: false },\n { title: 'station-kiosk', value: false }\n ];\n\t\tthis.districtMangerRoles = [\n { title: 'admin', value: false },\n { title: 'user', value: false },\n { title: 'one-roster', value: false }\n ];\n this.identityRoles = [\n { title: 'admin', value: false },\n ];\n this.adminRoles = [\n { title: 'admin', value: false },\n ];\n this.services = [\n { id: '', title: 'Select Service' },\n { id: 'school', title: 'School Manager' },\n { id: 'district', title: 'District Manager' },\n { id: 'identity', title: 'Identity' },\n ];\n\n let currentUser: User = this.accsvc.getUser();\n if (currentUser && currentUser.username != \"\") {\n let domain = currentUser.username.substring(currentUser.username.lastIndexOf(\"@\") +1);\n if (domain == \"identakid.com\") {\n this.services.push({id: 'admin', title: 'Admin'})\n }\n }\n }\n\n ngOnInit() {\n let titleStr = 'Add New';\n\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n this.idParam = this.activatedRoute.snapshot.params['id'];\n if (this.acctNumber != null) {\n this.idsvc.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n if (!res) {\n this.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n this.hasAccess = false;\n }\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n this.hasAccess = false;\n })\n }\n\n this.idsvc.findIdPApi(this.acctNumber, new FindIdP())\n .subscribe((rows: IdP[]) => {\n for (let idp of rows) {\n this.idps.push({ id: idp.id.toString(), title: idp.name });\n }\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n\n if (this.idParam) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.loadData();\n\t\t\ttitleStr = 'Edit';\n\t\t}\n\n this.title.setTitles({\n title: `${titleStr} - Roles Mapping`,\n dashboard: `${titleStr} - Roles Mapping`\n });\n this.title.setBreadcrumbs([\n { title: 'Roles Mapping ', link: `/idp/${this.acctNumber}/roles-mapping` },\n { title: titleStr, link: `` }\n ]);\n }\n\n loadData() {\n let find = new FindIdPRolesMapping();\n\t\tfind.id = parseInt(this.idParam);\n\t\tthis.idsvc.findIdPRolesMappingApi(this.acctNumber, find)\n\t\t\t.subscribe((rows: IdPRolesMapping[]) => {\n\t\t\t\tthis.msg.close();\n this.data = rows[0];\n this.loadOrgs();\n\t\t\t\tthis.form.get('idpId').setValue(this.data.idpId.toString());\n this.form.get('serviceId').setValue(this.data.serviceId);\n\t\t\t\tthis.form.get('accountGroups').setValue(this.data.accountGroups);\n this.form.get('serviceRolesGroups').setValue(this.data.serviceRolesGroups);\n\t\t\t\tthis.form.get('orgAcctNumber').setValue(this.data.orgAcctNumber.toString());\n this.loadServiceRoles();\n }, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tif (this.idsvc.isErrUnauthorized(err)) {\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n }\n\n displayServiceRoles() {\n this.hideOrgInput = false;\n this.form.get('orgAcctNumber').setValue('');\n this.serviceRoles = [];\n this.loadOrgs();\n switch(this.data.serviceId) {\n case 'school':\n this.serviceRoles = this.schoolManagerRoles;\n break;\n case 'district':\n this.serviceRoles = this.districtMangerRoles;\n break;\n case 'identity':\n this.serviceRoles = this.identityRoles;\n break;\n case 'admin':\n this.serviceRoles = this.adminRoles;\n break;\n\t\t}\n }\n\n loadServiceRoles() {\n let roles = this.data.serviceRoles.split(',');\n switch(this.data.serviceId) {\n case 'school':\n for (let r of this.schoolManagerRoles) {\n for (let role of roles) {\n if (r.title == role) {\n r.value = true;\n }\n }\n }\n this.serviceRoles = this.schoolManagerRoles;\n break;\n case 'district':\n for (let r of this.districtMangerRoles) {\n for (let role of roles) {\n if (r.title == role) {\n r.value = true;\n }\n }\n }\n this.serviceRoles = this.districtMangerRoles;\n break;\n case 'identity':\n for (let r of this.identityRoles) {\n for (let role of roles) {\n if (r.title == role) {\n r.value = true;\n }\n }\n }\n this.serviceRoles = this.identityRoles;\n break;\n case 'admin':\n for (let r of this.adminRoles) {\n for (let role of roles) {\n if (r.title == role) {\n r.value = true;\n }\n }\n }\n this.serviceRoles = this.adminRoles;\n break;\n\t\t}\n }\n\n loadOrgs() {\n this.orgs = [];\n this.orgs.push({ id: '', title: 'Select Organization' });\n if (this.data.serviceId == 'admin') {\n this.form.get('orgAcctNumber').setValue('0');\n this.hideOrgInput = true;\n return;\n }\n let find = new FindAccountAssociation();\n if (this.data.serviceId == 'district' || this.data.serviceId == 'identity') {\n this.idsvc.userRolesApi().subscribe((urs: UserRoles[]) => {\n for (let ur of urs) {\n if (this.acctNumber == ur.acctNumber) {\n this.orgs.push({ id: this.hexToInt(ur.acctNumber).toString(), title: ur.schoolName });\n }\n }\n }, err => {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n console.log(err);\n });\n return;\n }\n if (this.data.serviceId == 'school') {\n this.orgs.push({ id: '10', title: 'All' });\n }\n find.enabled = true;\n this.idsvc.findAccountAssociation(this.acctNumber, find).subscribe((accs: AccountAssociation[]) => {\n this.msg.close();\n for (let acc of accs) {\n this.orgs.push({ id: acc.acctNumber.toString(), title: acc.organizationName });\n }\n }, err => {\n console.log(err);\n if (this.idsvc.isErrNotFound(err)) {\n this.msg.warning(this.idsvc.getUserError(err));\n } else {\n if (this.idsvc.isErrUnauthorized(err)) {\n this.hasAccess = false;\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n } else {\n this.msg.error(this.idsvc.getUserErrorDefault(err));\n }\n }\n });\n }\n\n save() {\n this.msg.error('');\n if (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n }\n this.data.idpId = parseInt(this.form.get('idpId').value);\n this.data.serviceId = this.form.get('serviceId').value;\n this.data.orgAcctNumber = parseInt(this.form.get('orgAcctNumber').value)\n this.data.accountGroups = this.form.get('accountGroups').value;\n this.data.serviceRolesGroups = this.form.get('serviceRolesGroups').value;\n let selectedRoles: string[] = [];\n for (let role of this.serviceRoles) {\n if (role.value) {\n selectedRoles.push(role.title)\n }\n }\n if (selectedRoles.length == 0) {\n this.msg.error(\"select at least one role\")\n return;\n }\n this.data.serviceRoles = selectedRoles.join();\n if (this.editMode) {\n this.idsvc.updateIdPRolesMappingApi(this.acctNumber, this.data)\n\t\t\t.subscribe(res => {\n this.router.navigate([`idp/${this.acctNumber}/roles-mapping`]);\n return;\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n });\n } else {\n this.idsvc.addIdPRolesMappingApi(this.acctNumber, this.data)\n .subscribe(res => {\n this.router.navigate([`idp/${this.acctNumber}/roles-mapping`]);\n return;\n }, err => {\n console.log(err);\n let e = this.idsvc.getUserErrorDefault(err);\n this.msgHead.error(e);\n });\n }\n }\n\n displayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n goBack() {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/roles-mapping`]);\n\t\treturn;\n }\n\n hexToInt(hex) {\n\t\tif (hex.length % 2 != 0) {\n\t\t\thex = \"0\" + hex;\n\t\t}\n\t\tvar num = parseInt(hex, 16);\n\t\tvar maxVal = Math.pow(2, hex.length / 2 * 8);\n\t\tif (num > maxVal / 2 - 1) {\n\t\t\tnum = num - maxVal\n\t\t}\n\t\treturn num;\n\t}\n\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdP NameAcctNumberOrganizationOrganization MappingService NameService RolesService Roles MappingUpdated AtActions
{{ row.idpName }}{{ hexAcctNumber(row.orgAcctNumber) }}{{ row.orgName }}{{ row.accountGroups }}{{ row.serviceId }}\n {{role}}\n {{ row.serviceRolesGroups }}{{ printDate(row.updatedAt) ? printDate(row.updatedAt) : printDate(row.createdAt) }}\n Edit |\n \n
\n
\n
\n
0\" style=\"margin-top:10px;\">\n
\n \n \n {{getFromPage()}}-{{getToPage()}} of {{rowCount}}\n \n
\n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { Alert } from '../shared/alert';\nimport { IdPRolesMapping } from '../models/idp_roles_mapping';\nimport { AppTitle } from '../shared/title';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdentityService } from '../services/identity.service';\nimport { validateToken } from '../services/account.service.moc';\nimport { dateFormat, isDateSet } from '../shared/date_helper';\nimport { FindIdPRolesMapping } from '../models/find_idp_roles_mapping';\nimport { IdPRolesMappingTextSearch } from '../models/idp_roles_mapping_text_search';\nimport { Subscription, Observable, Observer } from 'rxjs';\n\n@Component({\n selector: 'app-roles-mapping',\n styles: [`\n .tag {\n margin-right:2px;\n background-color:#e0e0e0;\n border-radius:4px;\n padding:5px;\n }\n `],\n template: `\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdP NameAcctNumberOrganizationOrganization MappingService NameService RolesService Roles MappingUpdated AtActions
{{ row.idpName }}{{ hexAcctNumber(row.orgAcctNumber) }}{{ row.orgName }}{{ row.accountGroups }}{{ row.serviceId }}\n {{role}}\n {{ row.serviceRolesGroups }}{{ printDate(row.updatedAt) ? printDate(row.updatedAt) : printDate(row.createdAt) }}\n Edit |\n \n
\n
\n
\n
0\" style=\"margin-top:10px;\">\n
\n \n \n {{getFromPage()}}-{{getToPage()}} of {{rowCount}}\n \n
\n
\n
\n `\n})\nexport class RolesMappingComponent implements OnInit {\n data: IdPRolesMapping[];\n msg: Alert;\n msgHead: Alert;\n acctNumber: string;\n hasAccess: boolean;\n maxPageSize: number;\n\tfobj: IdPRolesMappingTextSearch;\n\tfromPage: number;\n\ttoPage: number;\n\trowCount: number;\n\tdisablePreviousPage: boolean;\n\tdisableNextPage: boolean;\n\tqueryParam: string;\n\tpageSizeParam: string;\n\tpageParam: string;\n\tprivate subscriptionQueryParams: Subscription;\n\n constructor(private title: AppTitle, private activatedRoute: ActivatedRoute, private idsvc: IdentityService, private router: Router) {\n this.hasAccess = true;\n this.msg = new Alert();\n this.msgHead = new Alert();\n title.setTitles({\n\t\t\ttitle: 'Roles Mapping',\n\t\t\tdashboard: 'Roles Mapping'\n\t\t});\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Roles Mapping', link: `` }\n ]);\n this.maxPageSize = 20;\n\t\tthis.fobj = new IdPRolesMappingTextSearch()\n this.fobj.pageSize = this.maxPageSize;\n this.data = [];\n\n this.fromPage = 0;\n\t\tthis.toPage = 0;\n\t\tthis.rowCount = 0;\n\t\tthis.disablePreviousPage = true;\n\t\tthis.disableNextPage = true;\n\t\tthis.subscriptionQueryParams = activatedRoute.queryParams.subscribe(\n\t\t\t(params) => {\n\t\t\t\tthis.queryParam = params['query'];\n\t\t\t\tthis.pageSizeParam = params['pageSize']\n\t\t\t\tthis.pageParam = params['page']\n\t\t\t\tthis.setFormNavParams(this.fobj);\n\t\t\t}\n\t\t);\n }\n\n ngOnInit() {\n this.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n if (this.acctNumber != null) {\n\t\t\tthis.idsvc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\t\tthis.loadData();\n }\n\n loadData() {\n this.data = [];\n this.idsvc.textSearchIdPRolesMappingApi(this.acctNumber, this.fobj).subscribe((rows: IdPRolesMapping[]) => {\n\t\t\tfor (let e of rows) {\n\t\t\t\tthis.data.push(e);\n\t\t\t}\n\t\t\tthis.rowCount = rows.length;\n\t\t\tthis.disablePreviousPage = this.fobj.page == 1;\n\t\t\tthis.maxPageSize = this.fobj.pageSize;\n\t\t\tif (this.data.length >= this.maxPageSize) {\n\t\t\t\tthis.fromPage = (this.maxPageSize * (this.fobj.page - 1)) + 1;\n\t\t\t\tthis.toPage = (this.maxPageSize * (this.fobj.page));\n\t\t\t} else {\n\t\t\t\tthis.fromPage = (this.maxPageSize * (this.fobj.page - 1)) + 1;\n\t\t\t}\n\n\t\t\tthis.idsvc.textSearchCountIdPRolesMappingApi(this.acctNumber, this.fobj).subscribe(resp => {\n\t\t\t\tlet count = resp.count;\n\t\t\t\tthis.rowCount = count;\n\t\t\t\tif (this.data.length < this.maxPageSize) {\n\t\t\t\t\tthis.toPage = count;\n\t\t\t\t}\n\t\t\t\tthis.disableNextPage = this.getToPage() >= count;\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t});\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.idsvc.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.idsvc.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.idsvc.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.idsvc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n }\n\n refresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n }\n\n\tprintDate(d: Date): string {\n\t\tlet df = '01/02/2006 03:04 PM';\n\t\tif (isDateSet(d)) {\n\t\t\treturn dateFormat(d, df);\n\t\t}\n\t\treturn '';\n }\n\n add() {\n this.router.navigate([`idp/${this.acctNumber}/roles-mapping/add`]);\n\t\treturn;\n }\n\n remove(row: IdPRolesMapping) {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.idsvc.removeIdPRolesMappingApi(this.acctNumber, row.id)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.data.splice(this.data.indexOf(row), 1);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.idsvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n edit(row: IdPRolesMapping) {\n\t\tthis.router.navigate([`idp/${this.acctNumber}/roles-mapping/${row.id}/edit`]);\n\t\treturn;\n }\n\n setNavParams(req: IdPRolesMappingTextSearch): Observable {\n\t\tvar params: any = {};\n\n\t\tparams['query'] = req.query;\n\t\tparams['page'] = req.page;\n\t\tparams['pageSize'] = req.pageSize;\n\n\t\tlet p = this.router.navigate([`idp/${this.acctNumber}/roles-mapping`], { queryParams: this.idsvc.params(params) });\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tp.then(() => {\n\t\t\t\tobserver.next(true);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t});\n\t}\n\n setFormNavParams(f: IdPRolesMappingTextSearch) {\n\t\tlet dec = decodeURIComponent;\n\t\tf.query = this.queryParam != null ? dec(this.queryParam) : '';\n\t\tf.pageSize = this.pageSizeParam != null ? parseInt(dec(this.pageSizeParam)) : 20;\n\t\tf.page = this.pageParam != null ? parseInt(dec(this.pageParam)) : 1;\n }\n\n getFromPage(): number {\n\t\treturn this.fromPage;\n\t}\n\n\tgetToPage(): number {\n\t\treturn this.toPage;\n\t}\n\n\tprevPage() {\n\t\tif (this.fobj.page > 1) {\n\t\t\tthis.fobj.page -= 1;\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => {\n\t\t\t\tthis.loadData()\n\t\t\t});\n\t\t}\n\t}\n\n\tfirstPage() {\n\t\tif (this.fobj.page > 1) {\n\t\t\tthis.fobj.page = 1;\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => {\n\t\t\t\tthis.loadData()\n\t\t\t});\n\t\t}\n\t}\n\n\tnextPage() {\n\t\tif (this.data.length >= this.maxPageSize) {\n\t\t\tthis.fobj.page = this.fobj.page + 1;\n\t\t\tthis.setNavParams(this.fobj).subscribe(() => {\n\t\t\t\tthis.loadData()\n\t\t\t});\n\t\t}\n\t}\n\n\tleftPad(val: string, size: number, ch: string): string {\n\t\tvar result = String(val);\n\t\tif (!ch) {\n\t\t\tch = \" \";\n\t\t}\n\t\twhile (result.length < size) {\n\t\t\tresult = ch + result;\n\t\t}\n\t\treturn result;\n\t}\n\n\thexAcctNumber(num: number): string {\n\t\t//sign >>> is Zero-fill right shift\n\t\treturn this.leftPad((num >>> 0).toString(16), 8, '0').toUpperCase();\n\t}\n\n}\n","/// \nimport { Injectable, Injector } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\nimport { Observable , Observer } from 'rxjs';\nimport { Token } from '../models/token';\nimport { TokenHelper } from '../shared/token_helper';\nimport { Config } from '../config';\nimport { User } from '../models/user';\nimport { OAuthResponse } from '../models/oauth_response';\n\n@Injectable()\nexport class AccountServiceMoc {\n\tth: TokenHelper;\n\terrConn: string;\n\tuserKey: string = 'user';\n\ttimeout: number = 1000; //1 sec\n\tretry: number = 3; //max retry\n\tpublic dateNowFunc: any;\n\n\tconstructor(private config: Config, private http: Http) {\n\t\tthis.th = new TokenHelper();\n\t\tthis.errConn = 'There is an error when communicating with a server, please try again later.';\n\t\tthis.dateNowFunc = () => { return new Date(); };\n\t\tif (!validateToken()) {\n\t\t\tthis.setToken(new Token({\n\t\t\t\taccessToken: 'Code',\n\t\t\t\tscope: 'all',\n\t\t\t\ttokenType: 'Bearer',\n\t\t\t\tstate: 'dashboard',\n\t\t\t\texpiresIn: 50000,\n\t\t\t\texpiresAt: this.th.getExpiresAt(50000),\n\t\t\t\trefreshToken: 'refresh',\n\t\t\t}));\n\t\t}\n\t}\n\n\tgetUserProfileApi(): Observable {\n\t\tlet us = new User();\n\n\t\tus.firstName = 'ben';\n\t\tus.lastName = 'kolenovic';\n\t\tus.timeZone = 'tzone';\n\t\tus.email = 'ben@identakid.com';\n\t\tus.username = 'ben@identakid.com';\n\t\tus.userId = '12345';\n\t\tus.phoneNumber = '8009008888';\n\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(us);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tgetUser(): Observable {\n\t\tif (localStorage.getItem(this.userKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userKey));\n\t}\n\n\tsetUser(user: User) {\n\t\tlocalStorage.setItem(this.userKey, JSON.stringify(user));\n\t}\n\n\tsetToken(tk: Token) {\n\t\tthis.th.setToken(this.config.tokenName, tk);\n\t}\n\n\toauthLogin(ar: OAuthResponse) {\n\t\tar.expiresAt = this.th.getExpiresAt(ar.expiresIn);\n\t\tthis.th.setToken(this.config.tokenName, ar.getToken());\n\t\treturn true;\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = this.errConn;\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetToken(): Token {\n\t\treturn this.th.getToken(this.config.tokenName);\n\t}\n\n\tlogout() {\n\t\twindow.location.href = this.config.logoutUrl();\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userKey);\n\t\tthis.th.removeToken(this.config.tokenName);\n\t}\n\n\tlogoutWithMsg(msg: string) {\n\t\tthis.th.removeToken(this.config.tokenName);\n\t\twindow.location.href = this.config.loginUrl() + 'msg=' + encodeURI(msg);\n\t}\n}\n\nexport function validateToken(tokenName?: string, token?: Token) {\n\tvar tname: string = tokenName || 'token';\n\tvar t: Token;\n\tif (token) {\n\t\tt = token;\n\t} else {\n\t\tif (localStorage.getItem(tname) === null) {\n\t\t\treturn false\n\t\t}\n\t\tlet data = JSON.parse(localStorage.getItem(tname));\n\t\tt = new Token(data);\n\t}\n\tvar tokenHelper = new TokenHelper();\n\tif (!t || tokenHelper.isTokenExpired(t)) {\n\t\tconsole.log('token is expired');\n\t\treturn false\n\t} else {\n\t\treturn true\n\t}\n}\n","\nimport {throwError as observableThrowError, Observable } from 'rxjs';\n/// \nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\nimport { Token } from '../models/token';\nimport { TokenHelper } from '../shared/token_helper';\nimport { Config } from '../config';\nimport { User } from '../models/user';\nimport { OAuthResponse } from '../models/oauth_response';\nimport { environment } from \"../../environments/environment\";\nimport { AccountServiceMoc } from \"./account.service.moc\";\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/retry';\nimport 'rxjs/add/operator/timeout'\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/retryWhen';\nimport 'rxjs/add/operator/delay';\nimport 'rxjs/add/operator/take';\nimport 'rxjs/add/operator/concat';\n\n@Injectable()\nexport class Account {\n\tth: TokenHelper;\n\terrConn: string;\n\tuserKey: string = 'user';\n\ttimeout: number = 1000; //1 sec\n\tretry: number = 2; //max retry\n\tpublic dateNowFunc: any;\n\tdelay: number = 3000; //max delay after retry\n\n\tconstructor(private config: Config, private http: Http) {\n\t\tthis.th = new TokenHelper();\n\t\tthis.errConn = 'There is an error when communicating with a server, please try again later.';\n\t\tthis.dateNowFunc = () => { return new Date() };\n\t}\n\n\tsetToken(tk: Token) {\n\t\tthis.th.setToken(this.config.tokenName, tk);\n\t}\n\n\tgetUserProfileApi(): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.get(this.config.authApiUrl + '/user/profile', { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tlet data = resp.json()\n\t\t\t\t\tlet us = new User();\n\t\t\t\t\tus.firstName = data.firstName;\n\t\t\t\t\tus.lastName = data.lastName;\n\t\t\t\t\tus.timeZone = data.timeZone;\n\t\t\t\t\tus.email = data.email;\n\t\t\t\t\tus.username = data.username;\n\t\t\t\t\tus.userId = data.userId;\n\t\t\t\t\tus.phoneNumber = data.phoneNumber;\n\t\t\t\t\treturn us;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tgetUser(): User {\n\t\tif (localStorage.getItem(this.userKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userKey));\n\t}\n\n\tsetUser(user: User) {\n\t\tlocalStorage.setItem(this.userKey, JSON.stringify(user));\n\t}\n\n\toauthLogin(ar: OAuthResponse) {\n\t\tar.expiresAt = this.th.getExpiresAt(ar.expiresIn);\n\t\tthis.th.setToken(this.config.tokenName, ar.getToken());\n\t\treturn true;\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = this.errConn;\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetToken() {\n\t\treturn this.th.getToken(this.config.tokenName);\n\t}\n\n\tlogout() {\n\t\twindow.location.href = this.config.logoutUrl();\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userKey);\n\t\tthis.th.removeToken(this.config.tokenName);\n\t}\n\n\tlogoutWithMsg(msg: string) {\n\t\tthis.th.removeToken(this.config.tokenName);\n\t\twindow.location.href = this.config.loginUrl() + 'msg=' + encodeURI(msg);\n\t}\n\n\thttpRetry(o: Observable): Observable {\n\t\treturn o\n\t\t\t.mergeMap((error, count) => {\n\t\t\t\tif (count < this.retry) {\n\t\t\t\t\treturn Observable.of(error);\n\t\t\t\t}\n\t\t\t\treturn observableThrowError(this.getError(error));\n\t\t\t})\n\t\t\t.delay(this.delay);\n\t}\n}\n\nexport function validateToken(tokenName?: string, token?: Token) {\n\tvar tname: string = tokenName || 'token';\n\tvar t: Token;\n\tif (token) {\n\t\tt = token;\n\t} else {\n\t\tif (localStorage.getItem(tname) === null) {\n\t\t\treturn false\n\t\t}\n\t\tlet data = JSON.parse(localStorage.getItem(tname));\n\t\tt = new Token(data);\n\t}\n\tvar tokenHelper = new TokenHelper();\n\tif (!t || tokenHelper.isTokenExpired(t)) {\n\t\tconsole.log('token is expired');\n\t\treturn false\n\t} else {\n\t\treturn true\n\t}\n}\n\nexport function accountServiceFactory(\n\tconfig: Config,\n\thttp: Http\n) {\n\treturn (environment.isMoc) ? new AccountServiceMoc(config, http) : new Account(config, http);\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\n\n\n@Injectable()\nexport class AppService {\n\t// use this service when you need to re-render app component\n\t// example if menu displays something from settigns or any other service you need to fire this event from that component\n\t// for more take a look at the source code of station-setup/new-station\n\t// pass arguments or commands\n\tonLoadApp: EventEmitter = new EventEmitter();\n\n}\n","\nimport {throwError as observableThrowError, Observable } from 'rxjs';\nimport { Http, Request, RequestOptions, RequestOptionsArgs, Response, ConnectionBackend, Headers } from \"@angular/http\";\nimport \"rxjs/add/observable/fromPromise\";\nimport \"rxjs/add/operator/mergeMap\";\n\nimport { Account } from './account.service';\nimport { Token } from '../models/token';\nimport { Config } from '../config';\nimport { TokenHelper } from '../shared/token_helper';\nimport { Injector, Injectable } from '@angular/core';\nimport { OAuthToken } from '../models/oauth-token';\n\n\nexport interface InterceptorConfigOptional {\n\theaderName?: string;\n\theaderPrefix?: string;\n\tnoTokenError?: boolean;\n}\n\nconst DEFAULT_HEADER_NAME = 'Authorization';\nconst DEFAULT_HEADER_PREFIX_BEARER = 'Bearer';\n\nexport class InterceptorConfig {\n\n\theaderName: string = DEFAULT_HEADER_NAME;\n\theaderPrefix: string = DEFAULT_HEADER_PREFIX_BEARER;\n\tnoTokenError: boolean = false;\n\n\tconstructor(config?: InterceptorConfigOptional) {\n\t\tconfig = config || {};\n\t\t(Object).assign(this, config)\n\t}\n}\n\nexport abstract class HttpInterceptor extends Http {\n\n\tprivate origRequest: Request;\n\n\tconstructor(backend: ConnectionBackend, defaultOptions: RequestOptions, private config: InterceptorConfig) {\n\t\tsuper(backend, defaultOptions);\n\t}\n\n\tprivate getRequestOptionArgs(options?: RequestOptionsArgs): RequestOptionsArgs {\n\t\tif (options == null) {\n\t\t\toptions = new RequestOptions();\n\t\t}\n\t\tif (options.headers == null) {\n\t\t\toptions.headers = new Headers();\n\t\t}\n\t\toptions.headers.append('Content-Type', 'application/json');\n\t\treturn options;\n\t}\n\n\tprotected requestWithToken(req: Request, token: Token): Observable {\n\t\tthis.origRequest = req;\n\t\tif (!this.config.noTokenError && !token) {\n\t\t\treturn observableThrowError(new Error('No authorization token given'));\n\t\t} else {\n\t\t\treq.headers.set(this.config.headerName, this.config.headerPrefix + ' ' + token.accessToken);\n\t\t}\n\n\t\treturn super.request(req);\n\t}\n\n\trequest(url: string | Request, options?: RequestOptionsArgs): Observable {\n\t\tif (typeof url === 'string') {\n\t\t\treturn this.get(url, options);\n\t\t}\n\t\tlet req: Request = url as Request;\n\t\tlet token = this.getToken();\n\t\treturn token.mergeMap((token: Token) => this.requestWithToken(req, token));\n\t}\n\n\tget(url: string, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.get(url, options);\n\t\t}\n\t\treturn this.intercept(super.get(url, options));\n\t}\n\n\tpost(url: string, body: any, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.post(url, body, options);\n\t\t}\n\t\treturn this.intercept(super.post(url, body, this.getRequestOptionArgs(options)));\n\t}\n\n\tput(url: string, body: any, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.put(url, body, options);\n\t\t}\n\t\treturn this.intercept(super.put(url, body, this.getRequestOptionArgs(options)));\n\t}\n\n\tdelete(url: string, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.delete(url, options);\n\t\t}\n\t\treturn this.intercept(super.delete(url, options));\n\t}\n\n\tprotected intercept(observable: Observable): Observable {\n\t\treturn observable.catch((err, source) => {\n\t\t\tif (this.isErrUnauthorized(err)) {\n\t\t\t\tconsole.log(\"Unauthorised need to refresh token\");\n\n\t\t\t\t// check if we have refreshToken if yes do a refresh else return the error\n\t\t\t\treturn this.getToken()\n\t\t\t\t\t.mergeMap(tk => {\n\t\t\t\t\t\tlet t = new Token();\n\t\t\t\t\t\tif (tk) {\n\t\t\t\t\t\t\tt = tk;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (t.refreshToken !== '') {\n\n\t\t\t\t\t\t\tlet orig = this.origRequest;\n\t\t\t\t\t\t\treturn this.refreshToken()\n\t\t\t\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\t\t\t\t// check in case of an error could not get token due to deletion or token into db\n\t\t\t\t\t\t\t\t\tif (err.message && err.message.indexOf('cannot fetch token') !== -1) {\n\t\t\t\t\t\t\t\t\t\treturn observableThrowError(new Error('unauthorized'));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn observableThrowError(err);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.mergeMap(data => {\n\t\t\t\t\t\t\t\t\tif (data && data.accessToken) {\n\n\t\t\t\t\t\t\t\t\t\tlet th = new TokenHelper();\n\t\t\t\t\t\t\t\t\t\tt.accessToken = data.accessToken;\n\t\t\t\t\t\t\t\t\t\tt.refreshToken = data.refreshToken;\n\t\t\t\t\t\t\t\t\t\tt.tokenType = data.tokenType;\n\t\t\t\t\t\t\t\t\t\tt.expiresIn = data.expiresIn;\n\t\t\t\t\t\t\t\t\t\tt.expiresAt = th.getExpiresAt(data.expiresIn);\n\n\t\t\t\t\t\t\t\t\t\treturn this.saveToken(t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn observableThrowError(new Error('unauthorized'));\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.mergeMap(token => {\n\t\t\t\t\t\t\t\t\treturn this.requestWithToken(orig, token);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn observableThrowError(err);\n\t\t\t\t\t});\n\t\t\t}\n\t\t\treturn observableThrowError(err);\n\t\t});\n\t}\n\n\tprotected abstract getToken(): Observable;\n\n\tprotected abstract saveToken(token: Token): Observable;\n\n\tprotected abstract refreshToken(): Observable;\n\n\tprotected abstract isErrUnauthorized(resp: Response): boolean;\n}\n\n\n@Injectable()\nexport class HttpService extends HttpInterceptor {\n\n\tconstructor(backend: ConnectionBackend, defaultOptions: RequestOptions, private injector: Injector) {\n\t\tsuper(backend, defaultOptions, new InterceptorConfig({ noTokenError: true }));\n\t}\n\n\tprotected getToken(): Observable {\n\t\tlet t = this.account().getToken();\n\t\tif (!t) {\n\t\t\tt = new Token();\n\t\t}\n\n\t\treturn Observable.of(t);\n\t}\n\n\tprotected saveToken(token: Token): Observable {\n\t\tthis.account().setToken(token);\n\t\treturn Observable.of(token);\n\t}\n\n\tprotected refreshToken(): Observable {\n\t\treturn this.getToken()\n\t\t\t.mergeMap(t => {\n\t\t\t\treturn super.post(`${this.cfg().identityApiUrl}/oauth2/token`, { refreshToken: t.refreshToken }, null, true)\n\t\t\t\t\t.map(resp => {\n\t\t\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\t\t\treturn resp.json()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\tlet er = this.getError(err);\n\t\t\t\t\t\treturn observableThrowError(er);\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\tprotected account(): Account {\n\t\treturn this.injector.get(Account);\n\t}\n\n\tprotected cfg(): Config {\n\t\treturn this.injector.get(Config);\n\t}\n\n\tprotected isErrUnauthorized(resp: Response): boolean {\n\t\tlet err = this.getError(resp);\n\t\tif (err.message == 'unauthorized') {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate getError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = 'no connection';\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else if (er.error != null && er.error != null && er.error != '') {\n\t\t\t\tmsg = er.error;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n}\n\n\nexport function getHttpService(backend: ConnectionBackend, defaultOptions: RequestOptions, injector: Injector) {\n\treturn new HttpService(backend, defaultOptions, injector);\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { Account } from './account.service';\nimport { Config } from '../config';\nimport { Observable, Observer } from 'rxjs';\nimport { HttpService } from './http.service';\nimport { OAuthToken } from '../models/oauth-token';\nimport { OAuthTokenRequest } from '../models/oauth-token-request';\nimport { UserRoles } from '../models/user_roles';\nimport { IdPUser } from '../models/idpuser';\nimport { IdPUserReply } from '../models/idpusers_reply';\nimport { FindIdPUser } from '../models/find_idpuser';\nimport { IdPUserTextSearch } from '../models/idpuser_text_search';\nimport { IdPUserTextSearchCount } from '../models/idpuser_text_search_count';\nimport { IdPUserRequest } from '../models/idpuser_request';\nimport { IdPUserRoleReply } from '../models/idpuser_role_reply';\nimport { IdPUserRole } from '../models/idpuser_role';\nimport { IdP } from '../models/idp';\nimport { IdPReply } from '../models/idp_reply';\nimport { IdPRequest } from '../models/idp_request';\nimport { IdentityUser } from '../models/identity_user';\nimport { InviteUser } from '../models/invite_user';\nimport { FindIdP } from '../models/find_idp';\nimport { SAML2Config } from '../models/saml2_config';\nimport { SAML2Attribute } from '../models/saml2_attribute';\nimport { CountAccountAssociation } from '../models/count_account_association';\nimport { FindAccountAssociation } from '../models/find_account_association';\nimport { AccountAssociation } from '../models/account_association';\nimport { IdPDomain } from '../models/idp_domain';\nimport { IdPDomainReply } from '../models/idp_domain_reply';\nimport { IdPDomainRequest } from '../models/idp_domain_request';\nimport { EndpointsReply } from '../models/test_urls_reply';\nimport { IdPRolesMapping } from '../models/idp_roles_mapping';\nimport { IdPRolesMappingReply } from '../models/idp_roles_mapping_reply';\nimport { IdPRolesMappingRequest } from '../models/idp_roles_mapping_request';\nimport { IdPRolesMappingTextSearch } from '../models/idp_roles_mapping_text_search';\nimport { IdPRolesMappingTextSearchCount } from '../models/idp_roles_mapping_search_count';\n\n@Injectable()\nexport class IdentityServiceMoc {\n\tuserRolesKey: string = 'userRoles';\n\ttimeout: number = 5000; //10 sec\n\tretry: number = 3; //max retry\n\t//delay:number = 10000; //max delay after retry\n\terrors: any = {};\n\tmaxPollIteration: number = 5;\n\n\tconstructor(private http: HttpService, private account: Account, private config: Config) {\n\t\tthis.errors['default'] = 'There is an error when processing this request, please try again later.';\n\t\tthis.errors['no connection'] = 'There is an error when communicating with a server, please try again later.'\n\t\tthis.errors['unauthorized'] = 'Unauthorized access.';\n\t\tthis.errors['not found'] = 'No results.';\n\t\tthis.errors['invalid token'] = 'Unauthorized access.';\n\t\tthis.errors['duplicate entry'] = 'This data already exists.';\n\t\tthis.errors['bad request'] = 'Invalid request.';\n\t\tthis.errors['internal server error'] = 'Internal server error. Please try again later.';\n\t\tthis.errors['unexpected'] = 'Sorry, an unexpected error has occured. Please contact Tech Support.';\n\t\tthis.errors['timeout'] = 'Timeout when communicating with a server, please try again later.';\n\t\tthis.errors['email address is invalid'] = 'Email address is invalid.';\n\t\tthis.errors['user status is invalid'] = 'Invalid user status.';\n\t\tthis.errors['user status signup is invalid email not confirmed'] = 'The user you\\'ve invited has not yet confirmed their email address.';\n\t\tthis.errors['notification not supported'] = 'Push notifications are not supported in this browser.';\n\t\tthis.errors['account license expired'] = 'Account License has expired. Please visit the Subscription page for more details and license renewal.';\n\t\tthis.errors['invalid account license'] = 'Account License is invalid. Please visit the Subscription page for more details and license renewal.';\n\t\tthis.errors['unauthorized access role'] = 'Unauthorized access role.';\n\t}\n\n\tvalidateAcctNumber(acctNumber: string): Observable {\n\t\tlet lusr = this.userRoles();\n\t\tif (lusr != null && lusr.acctNumber == acctNumber) {\n\t\t\t//return non http observable when the userroles exists at localStorage\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tobserver.next(true);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(false);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tloadUser(): Observable {\n\t\tlet u = this.account.getUserProfileApi().subscribe(us => {\n\t\t\tthis.account.setUser(us);\n\t\t});\n\t\treturn this.userRolesApi().map(urs => {\n\t\t\tthis.setUserRoles(urs[0]);\n\t\t\treturn urs[0]\n\t\t}).do(ur => u);\n\t}\n\n\tloadUserByAcctNumber(acctNumber: string): Observable {\n\t\tlet u = this.account.getUserProfileApi().subscribe(us => {\n\t\t\tthis.account.setUser(us);\n\t\t});\n\t\treturn this.userRolesApi().map(urs => {\n\t\t\tfor (let a of urs) {\n\t\t\t\tif (a.acctNumber === acctNumber) {\n\t\t\t\t\tthis.setUserRoles(a);\n\t\t\t\t\treturn a;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new Error('unauthorized');\n\t\t})\n\t\t.do(ur => u);\n\t}\n\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userRolesKey);\n\t}\n\n\tsetUserRoles(us: UserRoles) {\n\t\tlocalStorage.setItem(this.userRolesKey, JSON.stringify(us));\n\t}\n\n\tuserRoles() {\n\t\tif (localStorage.getItem(this.userRolesKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userRolesKey));\n\t}\n\n\tgetToken() {\n\t\treturn this.account.getToken();\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = 'no connection';\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetUserError(err: Error): string {\n\t\treturn this.errors[err.message];\n\t}\n\n\tisErrNotFound(err: Error): boolean {\n\t\treturn err.message == 'not found';\n\t}\n\n\tisErrUnauthorized(err: Error): boolean {\n\t\treturn err.message == 'unauthorized' ||\n\t\t\terr.message == 'unauthorized access role';\n\t}\n\n\tgetUserErrorDefault(err: Error): string {\n\t\tlet e = this.errors[err.message];\n\t\tif (e != null) {\n\t\t\treturn e;\n\t\t}\n\t\treturn this.errors['default'];\n\t}\n\n\tbuildUrl(parameters) {\n\t\tvar qs = \"\";\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tqs += encodeURIComponent(key) + \"=\" + encodeURIComponent(value) + \"&\";\n\t\t\t}\n\t\t}\n\t\tif (qs.length > 0) {\n\t\t\treturn qs.substring(0, qs.length - 1); //chop off last \"&\"\n\t\t}\n\t\treturn '';\n\t}\n\n\tparams(parameters) {\n\t\tvar params: any = {}\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tparams[encodeURIComponent(key)] = encodeURIComponent(value);\n\t\t\t}\n\t\t}\n\t\treturn params;\n\t}\n\n\tleftPad(val: string, size: number, ch: string): string {\n\t\tvar result = String(val);\n\t\tif (!ch) {\n\t\t\tch = \" \";\n\t\t}\n\t\twhile (result.length < size) {\n\t\t\tresult = ch + result;\n\t\t}\n\t\treturn result;\n\t}\n\n\thexAcctNumber(num: number): string {\n\t\t//sign >>> is Zero-fill right shift\n\t\treturn this.leftPad((num >>> 0).toString(16), 8, '0').toUpperCase();\n\t}\n\n\tisErrDuplicateEntry(err: Error): boolean {\n\t\treturn err.message == 'duplicate entry';\n\t}\n\n\tisErrAccountLicenseExpired(err: Error): boolean {\n\t\treturn err.message == 'account license expired';\n\t}\n\n\tisErrAccountLicenseInvalid(err: Error): boolean {\n\t\treturn err.message == 'invalid account license';\n\t}\n\n\tgetDefaultSaveMessage(): string {\n\t\treturn \"Successfully Saved\";\n\t}\n\n\toauthTokenApi(req: OAuthTokenRequest): Observable {\n\t\treturn Observable.of(new OAuthToken());\n\t}\n\n\tcontainsUserRole(ur: UserRoles, role: string): boolean {\n\t\tfor (var r in ur.roles) {\n\t\t\tif (ur.roles[r] == role) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Identity User API\n\tuserRolesApi(): Observable {\n\t\tvar rows: UserRoles[] = [];\n\t\trows.push({ acctNumber: 'A12F2343', schoolName: 'High School', isDefault: false, roles: ['admin', 'user'] });\n\t\trows.push({ acctNumber: 'A12F2344', schoolName: 'College', isDefault: false, roles: ['admin', 'user'] });\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tupdateUserApi(acctNumber: string, req: IdentityUser): Observable {\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(true);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tusersApi(acctNumber: string): Observable {\n\t\tlet rows: IdentityUser[] = [];\n\n\t\trows.push({\n\t\t\troles: ['admin'],\n\t\t\tuserId: '84c53f78-a50d-11ea-bb37-0242ac130002',\n\t\t\tfirstName: 'Keanu',\n\t\t\tlastName: 'Reeves',\n\t\t\temail: 'keanu@test.com',\n\t\t\topenAddRole: false,\n\t\t\tstatus: 'test',\n\t\t\towner: 'user',\n\t\t}, {\n\t\t\troles: ['admin'],\n\t\t\tuserId: '891dd260-a50d-11ea-bb37-0242ac130002',\n\t\t\tfirstName: 'Johnny',\n\t\t\tlastName: 'Depp',\n\t\t\temail: 'johnny@email.com',\n\t\t\topenAddRole: false,\n\t\t\tstatus: 'test',\n\t\t\towner: 'user',\n\t\t});\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tinviteUserApi(acctNumber: string, req: InviteUser): Observable {\n\t\tlet row: IdentityUser = new IdentityUser();\n\n\t\trow.roles = ['admin'];\n\t\trow.userId = 'id1';\n\t\trow.firstName = 'ben';\n\t\trow.lastName = 'lastname';\n\t\trow.email = req.email;\n\t\trow.openAddRole = false;\n\t\trow.status = 'invite';\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tremoveUserApi(acctNumber: string, req: IdentityUser): Observable {\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(true);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tsetDefaultApi(acctNumber: string): Observable {\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(true);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t// Idp Users API\n\tfindIdPUserApi(acctNumber: string, req: FindIdPUser): Observable {\n\t\tvar rows: IdPUser[] = [];\n\t\trows.push({\n\t\t\tid:0,\n\t\t\tidpId:1,\n\t\t\tusername:'arianit@iakdev.aws',\n\t\t\tacctNumber: 'A12F2343',\n\t\t\tfirstName:'Arianit',\n\t\t\tlastName:'Hetemi',\n\t\t\tcardId: '123456',\n\t\t\tgroupNames:'school1, admin',\n\t\t\tphoneNumber:'012345',\n\t\t\tidpName: 'IAK AWS',\n\t\t\tuserId: '100118b6-ab10-11ea-bb37-0242ac130002',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tlastLoginAt: new Date(),\n\t\t},{\n\t\t\tid:1,\n\t\t\tidpId:2,\n\t\t\tusername:'donjoe@iakdev.aws',\n\t\t\tacctNumber: 'A12F2344',\n\t\t\tfirstName:'Joe',\n\t\t\tlastName:'Don',\n\t\t\tcardId: '123457',\n\t\t\tgroupNames:'school1, admin',\n\t\t\tphoneNumber:'012345',\n\t\t\tidpName: 'IAK AWS 2',\n\t\t\tuserId: '13a84ea8-ab10-11ea-bb37-0242ac130002',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tlastLoginAt: new Date(),\n\t\t});\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tremoveIdPUsersApi(acctNumber: string, id: number): Observable{\n\t\tlet row: IdPUserReply = { id: 1 };\n\t\treturn Observable.of(row);\n\t}\n\n\tremoveAllIdPUsersApi(acctNumber: string, req: IdPUserTextSearch): Observable{\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tobserver.next(null);\n\t\t\t\tobserver.complete();\n\t\t\t}, 1000);\n\t\t});\n\t}\n\n\ttextSearchIdPUsersApi(acctNumber: string, req: IdPUserTextSearch): Observable {\n\t\tlet rows: IdPUser[] = [];\n\t\trows.push(\n\t\t\t{\n\t\t\t\tid:0,\n\t\t\t\tidpId:1,\n\t\t\t\tusername:'arianit@identakid.com',\n\t\t\t\tacctNumber: 'A12F2343',\n\t\t\t\tfirstName:'Arianit',\n\t\t\t\tlastName:'Hetemi',\n\t\t\t\tcardId: '123456',\n\t\t\t\tgroupNames:'school1, admin',\n\t\t\t\tphoneNumber:'012345',\n\t\t\t\tidpName: 'IAK AWS',\n\t\t\t\tuserId: '100118b6-ab10-11ea-bb37-0242ac130002',\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t\tlastLoginAt: new Date(),\n\t\t\t},{\n\t\t\t\tid:1,\n\t\t\t\tidpId:2,\n\t\t\t\tusername:'donjoe@iakdev.aws',\n\t\t\t\tacctNumber: 'A12F2344',\n\t\t\t\tfirstName:'Joe',\n\t\t\t\tlastName:'Don',\n\t\t\t\tcardId: '123457',\n\t\t\t\tgroupNames:'school1, admin',\n\t\t\t\tphoneNumber:'012345',\n\t\t\t\tidpName: 'IAK AWS 2',\n\t\t\t\tuserId: '13a84ea8-ab10-11ea-bb37-0242ac130002',\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t\tlastLoginAt: new Date(),\n\t\t\t});\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\ttextSearchCountIdPUsersApi(acctNumber: string, req: IdPUserTextSearch): Observable{\n\t\tlet row: IdPUserTextSearchCount = {\n\t\t\tcount: 2\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tupdateIdPUsersApi(acctNumber: string, id: number, req: IdPUserRequest): Observable {\n\t\tlet row: IdPUserReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\taddIdPUsersApi(acctNumber: string, req: IdPUserRequest): Observable {\n\t\tlet rows: IdPUserReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tremoveIdPUserRoleApi(acctNumber: string, id: number): Observable{\n\t\tlet row: IdPUserRoleReply = { id: 1 };\n\t\treturn Observable.of(row);\n\t}\n\n\taddIdPUserRoleApi(acctNumber: string,data: IdPUserRole): Observable{\n\t\tlet rows: IdPUserRoleReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tupdateIdPUserRolesApi(acctNumber: string, id: number,data: IdPUserRole): Observable{\n\t\tlet rows: IdPUserRoleReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tfindIdPUserRoleApi(acctNumber: string, req: FindIdPUser): Observable {\n\t\tvar rows: IdPUserRole[] = [];\n\t\trows.push({\n\t\t\t\t\t\tid:0,\n\t\t\t\t\t\tidpId:0,\n\t\t\t\t\t\tuserId:'',\n\t\t\t\t\t\torgAcctNumber: -1471032103,\n\t\t\t\t\t\tserviceId:'school',\n\t\t\t\t\t\troles:'admin',\n\t\t\t\t\t\tupdatedAt: new Date(),\n\t\t\t\t\t\torganizationName:'Iak Dev1'\n\t\t\t\t\t});\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t// IdP APIs\n\tfindIdPApi(acctNumber: string, req: FindIdP): Observable {\n\t\tvar rows: IdP[] = [];\n\t\trows.push({\n\t\t\tid: 1,\n\t\t\tdomainNames: 'iakdev.aws',\n\t\t\tname: 'IAK AWS',\n\t\t\tprotocol: 'saml-2.0',\n\t\t\tuserProvisioning: false,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(1,1,1)\n\t\t},{\n\t\t\tid: 2,\n\t\t\tdomainNames: 'iakdev.aws',\n\t\t\tname: 'IAK AWS 2',\n\t\t\tprotocol: 'saml-2.0',\n\t\t\tuserProvisioning: false,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(1,1,1)\n\t\t})\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tremoveIdPApi(acctNumber: string, id: number): Observable {\n\t\tlet row: IdPReply = { id: 1 };\n\t\treturn Observable.of(row);\n\t}\n\n\tupdateIdPApi(acctNumber: string, req: IdPRequest): Observable {\n\t\tlet row: IdPReply = { id: 1 };\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\taddIdPApi(acctNumber: string, req: IdPRequest): Observable {\n\t\tlet rows: IdPReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tsaml2ConfigApi(acctNumber: string, req: FindIdP): Observable {\n\t\tlet saml2cfg = new SAML2Config();\n\t\tsaml2cfg.policy.manageUserProfile = true;\n\n\t\tsaml2cfg.attributes = [\n\t\t\t{\n\t\t\t\tname: 'username',\n\t\t\t\tuserAttributeMapping: 'username',\n\t\t\t\tattributeTransformationsRegex: '',\n\t\t\t\tattributeValidationsRegex: '',\n\t\t\t\tvalues: 'values ',\n\t\t\t\tskipIfBlank: true,\n\t\t\t\tdefaultValues: 'some values',\n\t\t\t\tlabel: 'Email',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'FirstName',\n\t\t\t\tuserAttributeMapping: 'first_name',\n\t\t\t\tattributeTransformationsRegex: '',\n\t\t\t\tattributeValidationsRegex: '',\n\t\t\t\tvalues: '',\n\t\t\t\tskipIfBlank: false,\n\t\t\t\tdefaultValues: '',\n\t\t\t\tlabel: 'First Name',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'LastName',\n\t\t\t\tuserAttributeMapping: 'last_name',\n\t\t\t\tattributeTransformationsRegex: '',\n\t\t\t\tattributeValidationsRegex: '',\n\t\t\t\tvalues: '',\n\t\t\t\tskipIfBlank: false,\n\t\t\t\tdefaultValues: '',\n\t\t\t\tlabel: 'LastName',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'GroupNames',\n\t\t\t\tuserAttributeMapping: 'group_names',\n\t\t\t\tattributeTransformationsRegex: '',\n\t\t\t\tattributeValidationsRegex: '',\n\t\t\t\tvalues: '',\n\t\t\t\tskipIfBlank: false,\n\t\t\t\tdefaultValues: '',\n\t\t\t\tlabel: 'Group Names',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'CardId',\n\t\t\t\tuserAttributeMapping: 'card_id',\n\t\t\t\tattributeTransformationsRegex: '',\n\t\t\t\tattributeValidationsRegex: '',\n\t\t\t\tvalues: '',\n\t\t\t\tskipIfBlank: false,\n\t\t\t\tdefaultValues: '',\n\t\t\t\tlabel: 'Card ID',\n\t\t\t},\n\t\t\t// {\n\t\t\t// \tname: 'PhoneNumber',\n\t\t\t// \tuserAttributeMapping: 'phone_number',\n\t\t\t// \tattributeTransformationsRegex: '',\n\t\t\t// \tattributeValidationsRegex: '',\n\t\t\t// \tvalues: '',\n\t\t\t// \tskipIfBlank: false,\n\t\t\t// \tdefaultValues: '',\n\t\t\t// \tlabel: 'Phone Number',\n\t\t\t// },\n\t\t];\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(saml2cfg);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tsaveSaml2ConfigApi(acctNumber: string, idpId: number, req: SAML2Config): Observable {\n\t\tlet row: IdPReply = { id: 1 };\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tendpointsApi(acctNumber: string): Observable {\n\t\tlet row: EndpointsReply = {\n\t\t\tentityId: 'https://account.dev.identakid.net/api/saml2/metadata',\n\t\t\tmetadataUrl: 'https://account.dev.identakid.net/api/saml2/metadata',\n\t\t\tloginUrl: 'https://account.dev.identakid.net/#/login?force_up=true',\n\t\t\tacsUrl: 'https://account.dev.identakid.net/api/saml2/acs',\n\t\t };\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t// Account Association\n\tfindAccountAssociation(acctNumber: string, req: FindAccountAssociation): Observable {\n\t\tvar rows: AccountAssociation[] = [];\n\t\trows.push({\n\t\t\t\tacctNumber: -1471032103,\n\t\t\t\tparentAccountNumber: 'parentacctnumber',\n\t\t\t\torganizationName: 'Iak Dev1',\n\t\t\t\tstate: 'FL',\n\t\t\t\tzipCode: '3000',\n\t\t\t\tjoinedAt: new Date('2018-08-20T20:24:41.103Z'),\n\t\t\t\tenabled: true,\n\t\t\t\tcreatedAt: new Date('2018-08-20T20:24:41.103Z'),\n\t\t\t\tupdatedAt: new Date('2018-08-20T20:24:41.103Z'),\n\t\t\t}, {\n\t\t\t\tacctNumber: -1471032104,\n\t\t\t\tparentAccountNumber: 'parentacctnumber',\n\t\t\t\torganizationName: 'Iak Dev2',\n\t\t\t\tstate: 'FL',\n\t\t\t\tzipCode: '3001',\n\t\t\t\tjoinedAt: new Date('2018-08-20T20:24:41.103Z'),\n\t\t\t\tenabled: true,\n\t\t\t\tcreatedAt: new Date('2018-08-20T20:24:41.103Z'),\n\t\t\t\tupdatedAt: new Date('2018-08-20T20:24:41.103Z'),\n\t\t});\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tfindCountAccountAssociation(acctNumber: string, req: FindAccountAssociation): Observable {\n\t\tlet row: CountAccountAssociation = {\n\t\t\tcount: 2\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t// IdP Domain\n\tfindIdPDomainApi(acctNumber: string): Observable {\n\t\tvar rows: IdPDomain[] = [];\n\t\trows.push({\n\t\t\tid: 1,\n\t\t\tdomainName: 'iakdev.aws',\n\t\t\tstatus: 'verified',\n\t\t\tcreatedAt: new Date()\n\t\t},{\n\t\t\tid: 2,\n\t\t\tdomainName: 'domain.example',\n\t\t\tstatus: 'pending',\n\t\t\tcreatedAt: new Date()\n\t\t})\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tremoveIdPDomainApi(acctNumber: string, id: number): Observable {\n\t\tlet row: IdPDomainReply = { id: 1 };\n\t\treturn Observable.of(row);\n\t}\n\n\tresendDomainConfirmationApi(acctNumber: string, id: number): Observable {\n\t\tlet row: IdPDomainReply = { id: 1 };\n\t\treturn Observable.of(row);\n\t}\n\n\taddIdPDomainApi(acctNumber: string, req: IdPDomainRequest): Observable {\n\t\tlet rows: IdPDomainReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tverifyIdPDomainApi(acctNumber: string, verifyToken: string): Observable {\n\t\tlet rows: IdPDomainReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t// Roles Mapping\n\tfindIdPRolesMappingApi(acctNumber: string): Observable {\n\t\tvar rows: IdPRolesMapping[] = [];\n\t\trows.push({\n\t\t\tid: 1,\n\t\t\tidpId: 1,\n\t\t\taccountGroups: 'school1,school2',\n\t\t\torgAcctNumber: -1590746301,\n\t\t\torgName: 'High School',\n\t\t\tserviceId: 'district',\n\t\t\tserviceRoles: 'admin,user,one-roster',\n\t\t\tserviceRolesGroups: 'administrator,staff',\n\t\t\tidpName: 'IAK AWS',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t})\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tremoveIdPRolesMappingApi(acctNumber: string, id: number): Observable{\n\t\tlet row: IdPRolesMappingReply = { id: 1 };\n\t\treturn Observable.of(row);\n\t}\n\n\tupdateIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingRequest): Observable {\n\t\tlet row: IdPRolesMappingReply = { id: 1 };\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\taddIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingRequest): Observable {\n\t\tlet rows: IdPRolesMappingReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\ttextSearchIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingTextSearch): Observable {\n\t\tvar rows: IdPRolesMapping[] = [];\n\t\trows.push({\n\t\t\tid: 1,\n\t\t\tidpId: 1,\n\t\t\taccountGroups: 'school1,school2',\n\t\t\torgAcctNumber: -1590746301,\n\t\t\torgName: 'High School',\n\t\t\tserviceId: 'district',\n\t\t\tserviceRoles: 'admin,user,one-roster',\n\t\t\tserviceRolesGroups: 'administrator,staff',\n\t\t\tidpName: 'IAK AWS',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t})\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\ttextSearchCountIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingTextSearch): Observable {\n\t\tlet row: IdPRolesMappingTextSearchCount = {\n\t\t\tcount: 2\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n}\n","\nimport { throwError as observableThrowError, Observable, Observer } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Headers } from '@angular/http';\nimport { Account } from './account.service';\nimport { Config } from '../config';\nimport { HttpService } from './http.service';\nimport { OAuthToken } from '../models/oauth-token';\nimport { OAuthTokenRequest } from '../models/oauth-token-request';\nimport { Token } from '../models/token';\n\nimport { environment } from \"../../environments/environment\";\nimport { IdentityServiceMoc } from \"./identity.service.moc\";\nimport { UserRoles } from '../models/user_roles';\nimport { IdPUser } from '../models/idpuser';\nimport { IdPUserReply } from '../models/idpusers_reply';\nimport { FindIdPUser } from '../models/find_idpuser';\nimport { IdPUserTextSearch } from '../models/idpuser_text_search';\nimport { IdPUserTextSearchCount } from '../models/idpuser_text_search_count';\nimport { IdPUserRequest } from '../models/idpuser_request';\nimport { FindIdPUserRole } from '../models/find_idpuser_role';\nimport { IdPUserRole } from '../models/idpuser_role';\nimport { IdPUserRoleReply } from '../models/idpuser_role_reply';\nimport { FindIdP } from '../models/find_idp';\nimport { IdP } from '../models/idp';\nimport { IdPReply } from '../models/idp_reply';\nimport { IdPRequest } from '../models/idp_request';\nimport { IdentityUser } from '../models/identity_user';\nimport { InviteUser } from '../models/invite_user';\nimport { SAML2Config } from '../models/saml2_config';\nimport { CountAccountAssociation } from '../models/count_account_association';\nimport { FindAccountAssociation } from '../models/find_account_association';\nimport { AccountAssociation } from '../models/account_association';\nimport { IdPDomain } from '../models/idp_domain';\nimport { IdPDomainReply } from '../models/idp_domain_reply';\nimport { IdPDomainRequest } from '../models/idp_domain_request';\nimport { EndpointsReply } from '../models/test_urls_reply';\nimport { FindIdPRolesMapping } from '../models/find_idp_roles_mapping';\nimport { IdPRolesMapping } from '../models/idp_roles_mapping';\nimport { IdPRolesMappingReply } from '../models/idp_roles_mapping_reply';\nimport { IdPRolesMappingRequest } from '../models/idp_roles_mapping_request';\nimport { IdPRolesMappingTextSearch } from '../models/idp_roles_mapping_text_search';\nimport { IdPRolesMappingTextSearchCount } from '../models/idp_roles_mapping_search_count';\n\n@Injectable()\nexport class IdentityService {\n\tuserRolesKey: string = 'userRoles';\n\ttimeout: number = 10000; //10 sec\n\tretry: number = 2; //max retry\n\tdelay: number = 3000; //max delay after retry\n\terrors: any = {};\n\n\tconstructor(private http: HttpService, private account: Account, private config: Config) {\n\t\tthis.errors['default'] = 'There is an error when processing this request, please try again later.';\n\t\tthis.errors['no connection'] = 'Your device seems to be offline, please try again later.'\n\t\tthis.errors['unauthorized'] = 'Unauthorized access. Please try login again.';\n\t\tthis.errors['not found'] = 'No results.';\n\t\tthis.errors['invalid token'] = 'Unauthorized access. Please try login again.';\n\t\tthis.errors['duplicate entry'] = 'This data already exists.';\n\t\tthis.errors['bad request'] = 'Invalid request.';\n\t\tthis.errors['internal server error'] = 'Internal server error. Please try again later.';\n\t\tthis.errors['unexpected'] = 'Sorry, an unexpected error has occured. Please contact Tech Support.';\n\t\tthis.errors['timeout'] = 'Timeout when communicating with a server, please try again later.';\n\t\tthis.errors['email address is invalid'] = 'Email address is invalid.';\n\t\tthis.errors['user status is invalid'] = 'Invalid user status.';\n\t\tthis.errors['user status signup is invalid email not confirmed'] = 'The user you\\'ve invited has not yet confirmed their email address.';\n\t\tthis.errors['notification not supported'] = 'Push notifications are not supported in this browser.';\n\t\tthis.errors['account license expired'] = 'Account License has expired. Please visit the District Manager Subscription page for more details and license renewal.';\n\t\tthis.errors['invalid account license'] = 'Account License is invalid. Please visit the District Manager Subscription page for more details and license renewal.';\n\t\tthis.errors['unauthorized access role'] = 'Unauthorized access role.';\n\t\tthis.errors['identity license expired'] = 'Identity License has expired. Please visit the District Manager Subscription page for more details and license renewal.';\n\t\tthis.errors['invalid identity license'] = 'Identity License is invalid. Please visit the District Manager Subscription page for more details and license renewal.';\n\t\tthis.errors['domain name not found'] = 'Domain name(s) not found.';\n\t\tthis.errors['domain name not verified'] = 'Domain name(s) not verified.';\n\t\tthis.errors['domain name denied'] = 'This domain is not allowed to be used as part of identity provider.';\n\t\tthis.errors['username domain not match with idp domain name'] = 'Username domain name not maching any of IdP domain names.';\n\t}\n\n\tvalidateAcctNumber(acctNumber: string): Observable {\n\t\tlet lusr = this.userRoles();\n\t\tif (lusr != null && lusr.acctNumber == acctNumber) {\n\t\t\t//return non http observable when the userroles exists at localStorage\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tobserver.next(true);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(false);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tloadUser(): Observable {\n\t\treturn this.account.getUserProfileApi()\n\t\t\t.do(us => {\n\t\t\t\tthis.account.setUser(us);\n\t\t\t})\n\t\t\t.mergeMap(() => {\n\t\t\t\treturn this.userRolesApi()\n\t\t\t\t\t.map(urs => {\n\t\t\t\t\t\tthis.setUserRoles(urs[0]);\n\t\t\t\t\t\treturn urs[0]\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\tloadUserByAcctNumber(acctNumber: string): Observable {\n\t\treturn this.account.getUserProfileApi()\n\t\t\t.do(us => {\n\t\t\t\tthis.account.setUser(us);\n\t\t\t})\n\t\t\t.mergeMap(() => {\n\t\t\t\treturn this.userRolesApi()\n\t\t\t\t\t.map(urs => {\n\t\t\t\t\t\tfor (let u of urs) {\n\t\t\t\t\t\t\tif (u.acctNumber === acctNumber) {\n\t\t\t\t\t\t\t\tthis.setUserRoles(u);\n\t\t\t\t\t\t\t\treturn u;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthrow new Error('unauthorized');\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userRolesKey);\n\t}\n\n\tsetUserRoles(us: UserRoles) {\n\t\tlocalStorage.setItem(this.userRolesKey, JSON.stringify(us));\n\t}\n\n\tuserRoles() {\n\t\tif (localStorage.getItem(this.userRolesKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userRolesKey));\n\t}\n\n\tgetToken() {\n\t\tlet t = this.account.getToken();\n\t\tif (!t) {\n\t\t\tt = new Token();\n\t\t}\n\t\treturn t;\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = 'no connection';\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else if (er.error != null && er.error != null && er.error != '') {\n\t\t\t\tmsg = er.error;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetUserError(err: Error): string {\n\t\treturn this.errors[err.message];\n\t}\n\n\tisErrNotFound(err: Error): boolean {\n\t\treturn err.message == 'not found';\n\t}\n\n\tisErrUnauthorized(err: Error): boolean {\n\t\treturn err.message == 'unauthorized' ||\n\t\t\terr.message == 'unauthorized access role';\n\t}\n\n\tgetUserErrorDefault(err: Error): string {\n\t\tlet e = this.errors[err.message];\n\t\tif (e != null) {\n\t\t\treturn e;\n\t\t}\n\t\treturn this.errors['default'];\n\t}\n\n\tbuildUrl(parameters) {\n\t\tvar qs = \"\";\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tqs += encodeURIComponent(key) + \"=\" + encodeURIComponent(value) + \"&\";\n\t\t\t}\n\t\t}\n\t\tif (qs.length > 0) {\n\t\t\treturn qs.substring(0, qs.length - 1); //chop off last \"&\"\n\t\t}\n\t\treturn '';\n\t}\n\n\tparams(parameters) {\n\t\tvar params: any = {}\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tparams[encodeURIComponent(key)] = encodeURIComponent(value);\n\t\t\t}\n\t\t}\n\t\treturn params;\n\t}\n\n\tleftPad(val: string, size: number, ch: string): string {\n\t\tvar result = String(val);\n\t\tif (!ch) {\n\t\t\tch = \" \";\n\t\t}\n\t\twhile (result.length < size) {\n\t\t\tresult = ch + result;\n\t\t}\n\t\treturn result;\n\t}\n\n\thexAcctNumber(num: number): string {\n\t\t//sign >>> is Zero-fill right shift\n\t\treturn this.leftPad((num >>> 0).toString(16), 8, '0').toUpperCase();\n\t}\n\n\n\tisErrDuplicateEntry(err: Error): boolean {\n\t\treturn err.message == 'duplicate entry';\n\t}\n\n\tisErrNoConnection(err: Error): boolean {\n\t\treturn err.message == 'no connection';\n\t}\n\n\tisErrAccountLicenseExpired(err: Error): boolean {\n\t\treturn err.message == 'account license expired';\n\t}\n\n\tisErrAccountLicenseInvalid(err: Error): boolean {\n\t\treturn err.message == 'invalid account license';\n\t}\n\n\tgetDefaultSaveMessage(): string {\n\t\treturn \"Successfully​ Saved\";\n\t}\n\n\tcontainsUserRole(ur: UserRoles, role: string): boolean {\n\t\tfor (var r in ur.roles) {\n\t\t\tif (ur.roles[r] == role) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\toauthTokenApi(req: OAuthTokenRequest): Observable {\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\tlet rq = JSON.stringify(req);\n\n\t\t// true at the end means skipping the http interception\n\t\treturn this.http.post(`${this.config.identityApiUrl}/oauth2/token`, rq, { headers: headers }, true)\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// Identity User APIs\n\tuserRolesApi(): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.get(this.config.identityApiUrl + '/identity/user/roles', { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar urs: UserRoles[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\turs.push({\n\t\t\t\t\t\t\tacctNumber: this.hexAcctNumber(data[v].acctNumber),\n\t\t\t\t\t\t\tschoolName: data[v].schoolName,\n\t\t\t\t\t\t\tisDefault: data[v].isDefault,\n\t\t\t\t\t\t\troles: data[v].roles,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn urs\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tupdateUserApi(acctNumber: string, req: IdentityUser): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tlet rq = JSON.stringify({ roles: req.roles });\n\t\treturn this.http.put(`${this.config.identityApiUrl}/identity/${acctNumber}/user/${req.userId}/role`, rq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tusersApi(acctNumber: string): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tvar params: any = {};\n\t\treturn this.http.get(`${this.config.identityApiUrl}/identity/${acctNumber}/users`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tvar rows: IdentityUser[] = [];\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tfor (var i in data) {\n\t\t\t\t\t\tlet row = new IdentityUser();\n\t\t\t\t\t\trow.userId = data[i].userId;\n\t\t\t\t\t\trow.firstName = data[i].firstName;\n\t\t\t\t\t\trow.lastName = data[i].lastName;\n\t\t\t\t\t\trow.email = data[i].email;\n\t\t\t\t\t\trow.status = data[i].status;\n\t\t\t\t\t\trow.owner = data[i].owner;\n\t\t\t\t\t\tif (data[i].roles.length > 0) {\n\t\t\t\t\t\t\tfor (var j in data[i].roles) {\n\t\t\t\t\t\t\t\trow.roles.push(data[i].roles[j]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trows.push(row)\n\t\t\t\t\t}\n\t\t\t\t\treturn rows\n\t\t\t\t} else if (resp.status == 404) {\n\t\t\t\t\tconsole.log('404');\n\t\t\t\t\treturn rows;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tinviteUserApi(acctNumber: string, req: InviteUser): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tlet rq = JSON.stringify({ email: req.email });\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/user/invite`, rq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json()\n\t\t\t\t\tlet row = new IdentityUser();\n\t\t\t\t\trow.userId = data.userId;\n\t\t\t\t\trow.firstName = data.firstName;\n\t\t\t\t\trow.lastName = data.lastName;\n\t\t\t\t\trow.email = data.email;\n\t\t\t\t\trow.status = data.status;\n\t\t\t\t\trow.roles = data.roles;\n\t\t\t\t\trow.owner = data.owner;\n\n\t\t\t\t\treturn row;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tremoveUserApi(acctNumber: string, req: IdentityUser): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.identityApiUrl}/identity/${acctNumber}/user/${req.userId}/role`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tsetDefaultApi(req: UserRoles): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\tvar acctNumber = req.acctNumber;\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.put(this.config.identityApiUrl + '/identity/' + acctNumber + '/user/role/default', req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// IdP Users API\n\tfindIdPUserApi(acctNumber: string, req: FindIdPUser): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(this.config.identityApiUrl + `/identity/${acctNumber}/idp/users/find`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar ids: IdPUser[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tids.push({\n\t\t\t\t\t\t\tid: data[v].id,\n\t\t\t\t\t\t\tidpId:data[v].idpId,\n\t\t\t\t\t\t\tacctNumber: this.hexAcctNumber(data[v].acctNumber),\n\t\t\t\t\t\t\tusername: data[v].username,\n\t\t\t\t\t\t\tfirstName: data[v].firstName,\n\t\t\t\t\t\t\tlastName: data[v].lastName,\n\t\t\t\t\t\t\tcardId: data[v].cardId,\n\t\t\t\t\t\t\tphoneNumber: data[v].phoneNumber,\n\t\t\t\t\t\t\tgroupNames: data[v].groupNames,\n\t\t\t\t\t\t\tidpName: data[v].idpName,\n\t\t\t\t\t\t\tuserId: data[v].userId,\n\t\t\t\t\t\t\tcreatedAt: new Date(data[v].createdAt),\n\t\t\t\t\t\t\tupdatedAt: new Date(data[v].updatedAt),\n\t\t\t\t\t\t\tlastLoginAt: new Date(data[v].lastLoginAt),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn ids\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tremoveIdPUsersApi(acctNumber: string, id: number): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/users/${id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tremoveAllIdPUsersApi(acctNumber: string, req: IdPUserTextSearch): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/users/remove-all`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status != 200) {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\ttextSearchIdPUsersApi(acctNumber: string, req: IdPUserTextSearch): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/users/search`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar ids: IdPUser[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tids.push({\n\t\t\t\t\t\t\tid: data[v].id,\n\t\t\t\t\t\t\tidpId:data[v].idpId,\n\t\t\t\t\t\t\tacctNumber: this.hexAcctNumber(data[v].acctNumber),\n\t\t\t\t\t\t\tusername: data[v].username,\n\t\t\t\t\t\t\tfirstName: data[v].firstName,\n\t\t\t\t\t\t\tlastName: data[v].lastName,\n\t\t\t\t\t\t\tcardId: data[v].cardId,\n\t\t\t\t\t\t\tphoneNumber: data[v].phoneNumber,\n\t\t\t\t\t\t\tgroupNames: data[v].groupNames,\n\t\t\t\t\t\t\tidpName: data[v].idpName,\n\t\t\t\t\t\t\tuserId: data[v].userId,\n\t\t\t\t\t\t\tcreatedAt: new Date(data[v].createdAt),\n\t\t\t\t\t\t\tupdatedAt: new Date(data[v].updatedAt),\n\t\t\t\t\t\t\tlastLoginAt: new Date(data[v].lastLoginAt),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn ids\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\ttextSearchCountIdPUsersApi(acctNumber: string, req: IdPUserTextSearch): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/users/search/count`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tupdateIdPUsersApi(acctNumber: string, id: number, req: IdPUserRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\t// let rq = JSON.stringify(req);\n\t\treturn this.http.put(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/users/${id}`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\taddIdPUsersApi(acctNumber: string, req: IdPUserRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/users`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// IdP APIs\n\tfindIdPApi(acctNumber: string, req: FindIdP): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/find`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar idps: IdP[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tidps.push({\n\t\t\t\t\t\t\tid: data[v].id,\n\t\t\t\t\t\t\tdomainNames: data[v].domainNames,\n\t\t\t\t\t\t\tname: data[v].name,\n\t\t\t\t\t\t\tprotocol: data[v].protocol,\n\t\t\t\t\t\t\tuserProvisioning: data[v].userProvisioning,\n\t\t\t\t\t\t\tcreatedAt: new Date(data[v].createdAt),\n\t\t\t\t\t\t\tupdatedAt: new Date(data[v].updatedAt),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn idps;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tremoveIdPApi(acctNumber: string, id: number): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/${id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tupdateIdPApi(acctNumber: string, req: IdPRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\t// let rq = JSON.stringify(req);\n\t\treturn this.http.put(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/${req.id}`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\taddIdPApi(acctNumber: string, req: IdPRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tsaml2ConfigApi(acctNumber: string, req: FindIdP): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/${req.id}/saml2/config`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tsaveSaml2ConfigApi(acctNumber: string, idpId: number, req: SAML2Config): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/${idpId}/saml2/config/save`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tendpointsApi(acctNumber: string): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.get(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/endpoints`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// IDP UserRole APIs\n\n\tfindIdPUserRoleApi(acctNumber: string, req: FindIdPUserRole): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/userrole/find`,req ,{ headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar ids: IdPUserRole[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tids.push({\n\t\t\t\t\t\t\tid: data[v].id,\n\t\t\t\t\t\t\tidpId: data[v].idpId,\n\t\t\t\t\t\t\tuserId: data[v].userId,\n\t\t\t\t\t\t\torgAcctNumber: data[v].orgAcctNumber,\n\t\t\t\t\t\t\tserviceId: data[v].serviceId,\n\t\t\t\t\t\t\troles: data[v].roles,\n\t\t\t\t\t\t\tupdatedAt: new Date(data[v].updatedAt),\n\t\t\t\t\t\t\torganizationName: data[v].organizationName,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn ids\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tremoveIdPUserRoleApi(acctNumber: string, id: number): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/userrole/${id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\taddIdPUserRoleApi(acctNumber: string,data: IdPUserRole): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/userrole`, data,{ headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tupdateIdPUserRolesApi(acctNumber: string, id: number,data: IdPUserRole): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.put(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/userrole/${id}`,data, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\t// Account Association\n\tfindAccountAssociation(acctNumber: string, req: FindAccountAssociation): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/account-association/find`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar ids: AccountAssociation[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tids.push({\n\t\t\t\t\t\t\tacctNumber: data[v].acctNumber,\n\t\t\t\t\t\t\tparentAccountNumber:this.hexAcctNumber(data[v].parentAccountNumber),\n\t\t\t\t\t\t\torganizationName: data[v].organizationName,\n\t\t\t\t\t\t\tstate: data[v].state,\n\t\t\t\t\t\t\tzipCode: data[v].zipCode,\n\t\t\t\t\t\t\tjoinedAt: data[v].joinedAt,\n\t\t\t\t\t\t\tenabled: data[v].enabled,\n\t\t\t\t\t\t\tcreatedAt: data[v].createdAt,\n\t\t\t\t\t\t\tupdatedAt: data[v].updatedAt,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn ids\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\tfindCountAccountAssociation(acctNumber: string, req: FindAccountAssociation): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.get(`${this.config.identityApiUrl}/identity/${acctNumber}/account-association/count`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// IdP Domain\n\tfindIdPDomainApi(acctNumber: string): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/domains/find`,{ headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar dns: IdPDomain[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tdns.push({\n\t\t\t\t\t\t\tid: data[v].id,\n\t\t\t\t\t\t\tdomainName: data[v].domainName,\n\t\t\t\t\t\t\tstatus: data[v].status,\n\t\t\t\t\t\t\tcreatedAt: new Date(data[v].createdAt),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn dns;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tremoveIdPDomainApi(acctNumber: string, id: number): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.identityApiUrl}/identity/${acctNumber}/domains/${id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tresendDomainConfirmationApi(acctNumber: string, id: number): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/domains/${id}/confirmation/resend`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\taddIdPDomainApi(acctNumber: string, req: IdPDomainRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/domains`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tverifyIdPDomainApi(acctNumber: string, verifyToken: string): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/domains/verify?token=${verifyToken}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// IdP Roles Mapping\n\tfindIdPRolesMappingApi(acctNumber: string, req: FindIdPRolesMapping): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(this.config.identityApiUrl + `/identity/${acctNumber}/idp/roles-mapping/find`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar ids: IdPRolesMapping[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tids.push({\n\t\t\t\t\t\t\tid: data[v].id,\n\t\t\t\t\t\t\tidpId: data[v].idpId,\n\t\t\t\t\t\t\taccountGroups: data[v].accountGroups,\n\t\t\t\t\t\t\torgAcctNumber: data[v].orgAcctNumber,\n\t\t\t\t\t\t\torgName: data[v].orgName,\n\t\t\t\t\t\t\tserviceId: data[v].serviceId,\n\t\t\t\t\t\t\tserviceRoles: data[v].serviceRoles,\n\t\t\t\t\t\t\tserviceRolesGroups: data[v].serviceRolesGroups,\n\t\t\t\t\t\t\tidpName: data[v].idpName,\n\t\t\t\t\t\t\tcreatedAt: new Date(data[v].createdAt),\n\t\t\t\t\t\t\tupdatedAt: new Date(data[v].updatedAt),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn ids\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tremoveIdPRolesMappingApi(acctNumber: string, id: number): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/roles-mapping/${id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tupdateIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.put(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/roles-mapping/${req.id}`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\taddIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/roles-mapping`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\ttextSearchIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingTextSearch): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(this.config.identityApiUrl + `/identity/${acctNumber}/idp/roles-mapping/search`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar ids: IdPRolesMapping[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\tids.push({\n\t\t\t\t\t\t\tid: data[v].id,\n\t\t\t\t\t\t\tidpId: data[v].idpId,\n\t\t\t\t\t\t\taccountGroups: data[v].accountGroups,\n\t\t\t\t\t\t\torgAcctNumber: data[v].orgAcctNumber,\n\t\t\t\t\t\t\torgName: data[v].orgName,\n\t\t\t\t\t\t\tserviceId: data[v].serviceId,\n\t\t\t\t\t\t\tserviceRoles: data[v].serviceRoles,\n\t\t\t\t\t\t\tserviceRolesGroups: data[v].serviceRolesGroups,\n\t\t\t\t\t\t\tidpName: data[v].idpName,\n\t\t\t\t\t\t\tcreatedAt: new Date(data[v].createdAt),\n\t\t\t\t\t\t\tupdatedAt: new Date(data[v].updatedAt),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn ids\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\ttextSearchCountIdPRolesMappingApi(acctNumber: string, req: IdPRolesMappingTextSearch): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.identityApiUrl}/identity/${acctNumber}/idp/roles-mapping/search/count`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\thttpRetry(o: Observable): Observable {\n\t\treturn o\n\t\t\t.mergeMap((error, count) => {\n\t\t\t\tif (count < this.retry) {\n\t\t\t\t\treturn Observable.of(error);\n\t\t\t\t}\n\t\t\t\treturn observableThrowError(this.getError(error));\n\t\t\t})\n\t\t\t.delay(this.delay);\n\t}\n}\n\nexport function IdentityServiceFactory(\n\thttp: HttpService,\n\taccount: Account,\n\tconfig: Config\n) {\n\treturn (environment.isMoc) ? new IdentityServiceMoc(http, account, config) : new IdentityService(http, account, config);\n}\n","\n\t
\n\t\t\n\t\t\n\t\tYes | No\n\t\t{{msg.msg}}\n\t
","import { EventEmitter, Output, Component, Input, ViewContainerRef, Compiler } from '@angular/core';\nimport { Alert } from './alert';\n\n@Component({\n\tselector: 'alert-yesno',\n\ttemplate: `\n\t
\n\t\t\n\t\t\n\t\tYes | No\n\t\t{{msg.msg}}\n\t
`\n})\n\nexport class AlertYesNoDirective {\n\t@Input('alert') msg: Alert;\n\t@Output() respond: EventEmitter = new EventEmitter();\n\n\tconstructor(private compiler: Compiler) {\n\t\tif (this.msg == null) {\n\t\t\tthis.msg = new Alert();\n\t\t}\n\t}\n\n\tyes() {\n\t\tthis.respond.emit('yes');\n\t}\n\n\tno() {\n\t\tthis.respond.emit('no');\n\t}\n}\n","\n\t
\n\t\t\t\n\t\t\n\t\t{{msg.msg}}\n\t
","import { Component, Input } from '@angular/core';\nimport { Alert } from './alert';\n\n@Component({\n\tselector: 'alert',\n\ttemplate: `\n\t
\n\t\t\t\n\t\t\n\t\t{{msg.msg}}\n\t
`\n})\n\nexport class AlertDirective {\n\t@Input('alert') msg: Alert;\n\tconstructor() {\n\t\tif (this.msg == null) {\n\t\t\tthis.msg = new Alert();\n\t\t}\n\t}\n}\n","export class Alert {\n msg: string;\n msgType: string;\n isHTML: boolean\n\n constructor() {\n this.msg = '';\n this.msgType = '';\n }\n\n success(msg: string) {\n this.msg = msg;\n this.msgType = 'success';\n this.isHTML = false;\n }\n\n successHtml(html: string) {\n this.msg = html;\n this.msgType = 'success';\n this.isHTML = true;\n }\n\n info(msg: string) {\n this.msg = msg;\n this.msgType = 'info';\n this.isHTML = false;\n }\n\n infoHtml(html: string) {\n this.msg = html;\n this.msgType = 'info';\n this.isHTML = true;\n }\n\n error(msg: string) {\n this.msg = msg;\n this.msgType = 'error';\n this.isHTML = false;\n }\n\n warning(msg: string) {\n this.msg = msg;\n this.msgType = 'warning';\n this.isHTML = false;\n }\n\n warningHtml(msg: string) {\n this.msg = msg;\n this.msgType = 'warning';\n this.isHTML = true;\n }\n\n toString() {\n return this.msg;\n }\n\n errorHtml(html: string) {\n this.msg = html;\n this.msgType = 'error';\n this.isHTML = true;\n }\n\n successHTML(html: string) {\n this.msg = html;\n this.msgType = 'success';\n this.isHTML = true;\n }\n\n close() {\n this.msg = '';\n }\n}\n","/// \nimport { FormControl, Validators, FormGroup } from '@angular/forms';\n\nexport class AppValidators {\n\n\n\tstatic email(c: FormControl): { [key: string]: boolean } {\n\t\tif (Helper.isPresent(Validators.required(c))) return null;\n\t\tif (!AppValidators.isEmail(c.value)) {\n\t\t\treturn { invalidEmail: true }\n\t\t}\n\t}\n\n\tstatic date(c: FormControl): { [key: string]: boolean } {\n\t\tif (Helper.isPresent(Validators.required(c))) return null;\n\t\tif (!AppValidators.isDate(c.value)) {\n\t\t\treturn { invalidDate: true }\n\t\t}\n\t}\n\n\tstatic number(c: FormControl): { [key: string]: boolean } {\n\t\tif (Helper.isPresent(Validators.required(c))) return null;\n\t\tif (!AppValidators.isNumber(c.value)) {\n\t\t\treturn { invalidNumber: true }\n\t\t}\n\t}\n\n\tstatic isEmail(email: string) {\n\t\tvar emailRegex = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;\n\t\treturn email.toLowerCase().match(emailRegex)\n\t}\n\n\tstatic isDate(date: string) {\n\t\tvar dateRegex = /^(?:(0[1-9]|1[012])[\\/.](0[1-9]|[12][0-9]|3[01])[\\/.](19|20)[0-9]{2})$/;\n\t\treturn date.match(dateRegex)\n\t}\n\n\tstatic isNumber(intStr: string) {\n\t\tvar intRegex = /^0$|^-?[1-9]\\d*(\\.\\d+)?$/;\n\t\treturn intStr.match(intRegex)\n\t}\n}\n\nclass Helper {\n\tstatic isPresent(obj: any): boolean {\n\t\treturn obj != null;\n }\n}\n\nexport function controlErrors(f: FormGroup, callback: any) {\n\tvar c: any;\n\tvar name: any;\n\tObject.keys(f.controls).forEach(name => {\n\t\tc = f.controls[name];\n\t\tif (!c.valid) {\n\t\t\tif (c.hasError('invalidEmail')) {\n\t\t\t\tcallback(c, name + ' has invalid email address.');\n\t\t\t} else if (c.hasError('required')) {\n\t\t\t\tcallback(c, name + ' is required.');\n\t\t\t} else if (c.hasError('minlength')) {\n\t\t\t\tlet v = c.errors['minlength'].requiredLength;\n\t\t\t\tcallback(c, `${name} min length is ${v}.`);\n\t\t\t} else if (c.hasError('invalidNumber')) {\n\t\t\t\tcallback(c, name + ' has invalid number, must be numeric (ex. -23, 23 or 23.10)');\n\t\t\t} else if (c.hasError('invalidDate')) {\n\t\t\t\tcallback(c, name + ' has invalid date, must be on format of MM/DD/YYYY (ex. 02/12/2016).');\n\t\t\t} else if (c.hasError('maxlength')) {\n\t\t\t\tlet v = c.errors['maxlength'].requiredLength;\n\t\t\t\tcallback(c, `${name} max length is ${v}.`);\n\t\t\t}\n\t\t}\n\t});\n}\n","\n {{toggleName}}\n ","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-toggle',\n styles: [`\n .switch {\n position: relative;\n display: inline-block;\n vertical-align: top;\n width: 50px;\n height: 20px;\n padding-right: 6px;\n background-color: white;\n border-radius: 18px;\n cursor: pointer;\n background-image: -webkit-linear-gradient(top, #eeeeee, white 25px);\n background-image: -moz-linear-gradient(top, #eeeeee, white 25px);\n background-image: -o-linear-gradient(top, #eeeeee, white 25px);\n background-image: linear-gradient(to bottom, #eeeeee, white 25px);\n }\n .switch-input {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n }\n .switch-label {\n position: relative;\n display: block;\n height: inherit;\n font-size: 10px;\n text-transform: uppercase;\n background: #eceeef;\n border-radius: inherit;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15);\n -webkit-transition: 0.15s ease-out;\n -moz-transition: 0.15s ease-out;\n -o-transition: 0.15s ease-out;\n transition: 0.15s ease-out;\n -webkit-transition-property: opacity background;\n -moz-transition-property: opacity background;\n -o-transition-property: opacity background;\n transition-property: opacity background;\n }\n .switch-label:before,\n .switch-label:after {\n position: absolute;\n top: 50%;\n margin-top: -.5em;\n line-height: 1;\n -webkit-transition: inherit;\n -moz-transition: inherit;\n -o-transition: inherit;\n transition: inherit;\n }\n .switch-label:before {\n content: attr(data-off);\n right: 5px;\n color: #aaa;\n text-shadow: 0 1px rgba(255, 255, 255, 0.5);\n }\n .switch-label:after {\n content: attr(data-on);\n left: 5px;\n color: white;\n text-shadow: 0 1px rgba(0, 0, 0, 0.2);\n opacity: 0;\n }\n .switch-input:checked~ .switch-label {\n background: #6a3a90;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2);\n }\n .switch-input:checked~ .switch-label:before {\n opacity: 0;\n }\n .switch-input:checked~ .switch-label:after {\n opacity: 1;\n }\n .switch-handle {\n position: absolute;\n top: 1px;\n left: 2px;\n width: 18px;\n height: 18px;\n background: white;\n border-radius: 10px;\n box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);\n background-image: -webkit-linear-gradient(top, white 40%, #f0f0f0);\n background-image: -moz-linear-gradient(top, white 40%, #f0f0f0);\n background-image: -o-linear-gradient(top, white 40%, #f0f0f0);\n background-image: linear-gradient(to bottom, white 40%, #f0f0f0);\n -webkit-transition: left 0.15s ease-out;\n -moz-transition: left 0.15s ease-out;\n -o-transition: left 0.15s ease-out;\n transition: left 0.15s ease-out;\n }\n .switch-handle:before {\n content: '';\n position: absolute;\n top: 50%;\n left: 30%;\n margin: -6px 0 0 -6px;\n width: 12px;\n height: 12px;\n background: #f9f9f9;\n border-radius: 6px;\n box-shadow: inset 0 1px rgba(0, 0, 0, 0.02);\n background-image: -webkit-linear-gradient(top, #eeeeee, white);\n background-image: -moz-linear-gradient(top, #eeeeee, white);\n background-image: -o-linear-gradient(top, #eeeeee, white);\n background-image: linear-gradient(to bottom, #eeeeee, white);\n }\n .switch-input:checked~ .switch-handle {\n left: 26px; \n box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2);\n }\n .switch-green> .switch-input:checked~ .switch-label {\n background: #4fb845;\n }\n `],\n template: `\n {{toggleName}}\n `\n})\n\nexport class AppToggleComponent {\n @Input() toggleName: string;\n @Input() toggle: boolean;\n @Output() toggleChange: EventEmitter;\n\n constructor() {\n this.toggleName = '';\n this.toggle = true;\n this.toggleChange = new EventEmitter();\n }\n\n change() {\n this.toggle = !this.toggle;\n this.toggleChange.emit(this.toggle);\n }\n}\n","//Parse date string as it is into Date object\n//This is used when date string has no timestamp even if there is Z (UTC) the actual date is without timestamp\nexport function rfc3339ToDate(strDate: any): Date {\n\tif (!strDate || strDate === '') {\n\t\treturn null;\n\t}\n\tif (typeof (strDate) !== 'string') {\n\t\treturn strDate;\n\t}\n\n\tlet dtstr = strDate.replace(/\\D/g, \" \");\n\tlet dtcomps = dtstr.split(\" \");\n\treturn new Date(\n\t\tparseInt(dtcomps[0]),\n\t\tparseInt(dtcomps[1]) - 1,\n\t\tparseInt(dtcomps[2]),\n\t\tparseInt(dtcomps[3]),\n\t\tparseInt(dtcomps[4]),\n\t\tparseInt(dtcomps[5]));\n}\n\nexport function slashDateToDate(d: string): Date {\n\tif (d && d.indexOf('/') != -1) {\n\t\tlet dp: string[] = d.split('/');\n\t\treturn new Date(parseInt(dp[2]), (parseInt(dp[0]) - 1), parseInt(dp[1]));\n\t}\n\treturn new Date(1, 1, 1);\n}\n\nexport function dateFormat(dt: Date, format: string): string {\n\tlet day = (\"0\" + dt.getDate()).slice(-2);\n\tlet month = (\"0\" + (dt.getMonth() + 1)).slice(-2);\n\tlet year = dt.getFullYear().toString();\n\tlet h = dt.getHours();\n\tlet ampm = (h % 12 || 12)\n\t\t+ ':' + (\"0\" + dt.getMinutes()).slice(-2)\n\t\t+ ' ' + (h < 12 ? 'A' : 'P') + 'M';\n\n\tswitch (format) {\n\t\tcase '01-02-2006 03:04 PM':\n\t\t\treturn `${month}-${day}-${year} ${ampm}`;\n\t\tcase '01/02/2006 03:04 PM':\n\t\t\treturn `${month}/${day}/${year} ${ampm}`;\n\t\tcase '01/02/2006':\n\t\t\treturn `${month}/${day}/${year}`;\n\n\t\tdefault:\n\t\t\treturn dt.toString();\n\t}\n}\n\nexport function isDateSet(d: Date): boolean {\n\tif (d && typeof (d) === \"object\" && d.getFullYear() > 1901) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n","import { Directive, Host, Input } from '@angular/core';\n\n@Directive({\n selector: '[offClick]',\n host: {\n '(click)': 'onClick($event)',\n }\n})\n\nexport class OffClickDirective {\n @Input('offClick') offClickHandler;\n\n constructor() {\n }\n\n ngOnInit() {\n let self = this;\n setTimeout(() => { document.addEventListener('click', self.offClickHandler); }, 0);\n }\n\n ngOnDestroy() {\n let self = this;\n document.removeEventListener('click', self.offClickHandler);\n }\n\n onClick($event) {\n $event.stopPropagation();\n }\n}\n","export function trimReturnKey(text: string): string {\n\tlet s = text.trim().replace(/\\r?\\n/g, '');\n\treturn s;\n}\n","import { Title } from '@angular/platform-browser';\nimport { Injectable, EventEmitter } from '@angular/core';\n\n@Injectable()\nexport class AppTitle {\n\tdashboardTitle: string;\n\tdashboardNav: string;\n\ttitle: Title;\n\tbreadcrumbs: Breadcrumb[];\n\tuseHashLocation: boolean;\n\ttitleEvent = new EventEmitter();\n\n\tconstructor() {\n\t\tthis.title = new Title({});\n\t\tthis.breadcrumbs = [];\n\t\tthis.useHashLocation = true;\n\n\t}\n\n\tsetTitles(t: any) {\n\t\tif (t.dashboard != null) {\n\t\t\tthis.setDashboardTitle(t.dashboard);\n\t\t}\n\t\tif (t.title != null) {\n\t\t\tthis.setTitle(t.title);\n\t\t}\n\t\tif (t.dashboardNav != null) {\n\t\t\tthis.setDashboardNav(t.dashboardNav);\n\t\t}\n\t}\n\n\tsetBreadcrumbs(bcs: Breadcrumb[]) {\n\t\tthis.breadcrumbs = bcs;\n\t\tthis.titleEvent.emit();\n\t}\n\n\tgetBreadcrumbsPrint(): BreadcrumbPrint[] {\n\t\tlet bcs = [];\n\t\tif (this.useHashLocation) {\n\t\t\tfor (let b of this.breadcrumbs) {\n\t\t\t\tlet nb = new BreadcrumbPrint();\n\t\t\t\tnb.link = '#' + b.link;\n\t\t\t\tnb.noLink = (b.link === '');\n\t\t\t\tnb.title = b.title;\n\t\t\t\tbcs.push(nb);\n\t\t\t}\n\t\t}\n\t\treturn bcs;\n\t}\n\n\tsetTitle(title: string) {\n\t\tthis.title.setTitle(title);\n\t}\n\n\tgetTitle() {\n\t\tthis.title.getTitle();\n\t}\n\n\tsetDashboardTitle(title: string) {\n\t\tthis.dashboardTitle = title;\n\t\tthis.titleEvent.emit();\n\t}\n\n\tgetDashboardTitle() {\n\t\treturn this.dashboardTitle;\n\t}\n\n\tsetDashboardNav(title: string) {\n\t\tthis.dashboardNav = title;\n\t}\n\n\tgetDashboardNav() {\n\t\treturn this.dashboardNav;\n\t}\n\n\texistsBreadcrumb(bc: Breadcrumb): boolean {\n\t\tfor (let b of this.breadcrumbs) {\n\t\t\tif (b.title === bc.title) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n}\n\nexport class Breadcrumb {\n\ttitle: string;\n\tlink: string;\n\tconstructor() {\n\t\tthis.title = '';\n\t\tthis.link = '';\n\t}\n}\n\nexport class BreadcrumbPrint {\n\ttitle: string;\n\tlink: string;\n\tnoLink: boolean;\n\tconstructor() {\n\t\tthis.title = '';\n\t\tthis.link = '';\n\t\tthis.noLink = false;\n\t}\n}\n","import { Token } from '../models/token';\n\nexport class TokenHelper {\n setToken(tokenName: string, data: Token) {\n localStorage.setItem(tokenName, JSON.stringify(data));\n }\n\n getToken(tokenName: string): Token {\n if (localStorage.getItem(tokenName) === null) {\n return null\n }\n return new Token(JSON.parse(localStorage.getItem(tokenName)));\n }\n\n removeToken(tokenName: string) {\n if (this.getToken(tokenName) != null) {\n localStorage.removeItem(tokenName);\n }\n }\n\n isTokenExpired(token: Token) {\n if (token === null) {\n return true\n }\n var d = token.expiresAt.getTime();\n var now = Date.now();\n return d < now;\n }\n\n //get expiration date in the moment of token response\n getExpiresAt(expiresIn: number): Date {\n var d = new Date();\n d = new Date(d.getTime() + expiresIn * 1000);\n return d;\n }\n}\n","\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n

Email Address

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
NameEmailStatusRolesOwnerActions
{{user.userId != row.userId ? row.firstName + ' ' +row.lastName : 'You'}}{{row.email}}{{row.status}}\n\t\t\t\t\t\t\t\t{{role}} x\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
  • {{r}}
  • \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{{row.owner}}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { FormControl, AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { IdentityUser } from './models/identity_user';\nimport { Alert } from './shared/alert';\nimport { InviteUser } from './models/invite_user';\nimport { User } from './models/user';\nimport { IdentityService } from './services/identity.service';\nimport { AppTitle } from './shared/title';\nimport { AppValidators, controlErrors } from './shared/app.validators';\nimport { Account, validateToken } from './services/account.service';\n\n@Component({\n\tselector: 'user-management',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#e0e0e0;\n border-radius:4px;\n padding:5px;\n }\n\t\t.tag-close {\n\t\t\tmargin-left:5px;\n\t \t cursor: pointer;\n\t }\n `],\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n

Email Address

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
NameEmailStatusRolesOwnerActions
{{user.userId != row.userId ? row.firstName + ' ' +row.lastName : 'You'}}{{row.email}}{{row.status}}\n\t\t\t\t\t\t\t\t{{role}} x\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
  • {{r}}
  • \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{{row.owner}}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n `\n})\n\nexport class UserManagementComponent implements OnInit {\n\tdata: IdentityUser[];\n\tcardRows: number[]; //cards rows\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\tform: FormGroup;\n\tfobj: InviteUser;\n\troles: string[];\n\thasAccess: boolean;\n\tmaxPageSize: number;\n\tcurrentRow: IdentityUser;\n\tuser: User;\n\tconstructor(private account: Account, private router: Router, private isvc: IdentityService, fb: FormBuilder, private title: AppTitle, private activatedRoute: ActivatedRoute) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\ttitle.setTitles({\n\t\t\ttitle: 'User Management',\n\t\t\tdashboard: 'User Management'\n\t\t});\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'User Management', link: `` }\n\t\t]);\n\t\tthis.form = fb.group({\n\t\t\temail: ['', Validators.compose([Validators.required, AppValidators.email])],\n\t\t});\n\t\tthis.fobj = new InviteUser()\n\t\tthis.maxPageSize = 20;\n\t\tthis.data = [];\n\t\tthis.roles = ['admin']\n\t\tthis.currentRow = new IdentityUser();\n\t\tthis.clickedOutside = this.clickedOutside.bind(this);\n\t}\n\n\tngOnInit() {\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.isvc.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(\"You don't have access to this district number \" + this.acctNumber);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.isvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t});\n\t\t}\n\t\tthis.loadData();\n\t\tthis.user = this.account.getUser();\n\t}\n\n\tview() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn\n\t\t}\n\t\tif (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t}\n\n\tloadData() {\n\t\tthis.isvc.usersApi(this.acctNumber).subscribe((urs: IdentityUser[]) => {\n\t\t\tthis.data = urs;\n\t\t\tthis.msg.close();\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.isvc.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.isvc.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.isvc.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msgHead.error(this.isvc.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.isvc.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tdisplayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n\tremoveRole(row: IdentityUser, idx: number) {\n\t\tthis.msgHead.close();\n\t\tthis.msg.close();\n\t\tif (this.user.userId == row.userId && row.roles[idx] == 'admin') {\n\t\t\tthis.msgHead.error('You can not remove yourself from admin role, please use another account to remove this role.');\n\t\t\treturn;\n\t\t}\n\t\trow.roles.splice(idx, 1);\n\t\tthis.isvc.updateUserApi(this.acctNumber, row)\n\t\t\t.subscribe(res => {\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.isvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n\taddRole(row: IdentityUser, role) {\n\t\tthis.msgHead.close();\n\t\tthis.msg.close();\n\t\tif (row.roles.indexOf(role) == -1) {\n\t\t\trow.roles.push(role);\n\t\t\tthis.isvc.updateUserApi(this.acctNumber, row)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.isvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t});\n\t\t}\n\t\tthis.clickedOutside();\n\t}\n\n\topenAddRole(row: IdentityUser) {\n\t\trow.openAddRole = !row.openAddRole;\n\t\tthis.currentRow = row;\n\t}\n\n\tclickedOutside() {\n\t\tif (this.currentRow != null) {\n\t\t\tthis.currentRow.openAddRole = false;\n\t\t}\n\t}\n\n\tinvite() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tif (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n\t\t}\n\t\tthis.msgHead.close();\n\t\tthis.msg.close();\n\t\tthis.isvc.inviteUserApi(this.acctNumber, this.fobj)\n\t\t\t.subscribe(res => {\n\t\t\t\tfor (var v in this.data) {\n\t\t\t\t\tif (this.data[v].email == res.email) {\n\t\t\t\t\t\tthis.msg.success(`We have sent re-invite email to ${res.email}.`);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.data.push(res);\n\t\t\t\tthis.msg.success(`We have sent invite email to ${res.email}.`);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.isvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n\tremoveUser(row: IdentityUser) {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tif (this.user.userId == row.userId) {\n\t\t\tthis.msgHead.error('You can not remove yourself, please use another account to remove this user.');\n\t\t\treturn;\n\t\t}\n\t\tthis.msgHead.close();\n\t\tthis.msg.close();\n\t\tif (row.owner == 'user') {\n\t\t\tthis.isvc.removeUserApi(this.acctNumber, row)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tthis.data.splice(this.data.indexOf(row), 1);\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.isvc.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t});\n\t\t}\n\t\tthis.clickedOutside();\n\t}\n\n\treInvite(row: IdentityUser) {\n\t\tlet req = new InviteUser();\n\t\treq.email = row.email;\n\t\tthis.isvc.inviteUserApi(this.acctNumber, req)\n\t\t\t.subscribe(res => {\n\t\t\t\tfor (var v in this.data) {\n\t\t\t\t\tif (this.data[v].email == res.email) {\n\t\t\t\t\t\tthis.msg.success(`We have sent re-invite email to ${res.email}.`);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.data.push(res);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.isvc.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n}\n","export const environment = {\n production: true,\n isMoc: false,\n isApiMoc: false,\n clientId: '04a9b673-d6d1-4ce2-9926-625c810d57d9',\n authApiUrl: 'https://account.identakid.net/api',\n authAppUrl: 'https://account.identakid.net/#',\n identityApiUrl: 'https://identity.ccssvm.com/api',\n version: 'v1.2.3'\n};\n","import './polyfills.ts';\n\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\n\nif (environment.production) {\n enableProdMode();\n\n\t// disable console logs\n\t//window.console.log = function() { };\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);","// This file includes polyfills needed by Angular 2 and is loaded before\n// the app. You can add your own extra polyfills to this file.\nimport 'core-js/es6/symbol';\nimport 'core-js/es6/object';\nimport 'core-js/es6/function';\nimport 'core-js/es6/parse-int';\nimport 'core-js/es6/parse-float';\nimport 'core-js/es6/number';\nimport 'core-js/es6/math';\nimport 'core-js/es6/string';\nimport 'core-js/es6/date';\nimport 'core-js/es6/array';\nimport 'core-js/es6/regexp';\nimport 'core-js/es6/map';\nimport 'core-js/es6/set';\nimport 'core-js/es6/reflect';\n\nimport 'core-js/es7/reflect';\nimport 'zone.js/dist/zone';\n"],"sourceRoot":""}