{"version":3,"sources":["./src/app/common/custom-ui/custom-form/custom-form.component.ts","./src/app/shared/directives/dnd.directive.ts","./api-authorization/logout/logout.component.ts","./api-authorization/logout/logout.component.html","./src/app/shared/breadcrumb/breadcrumb.component.ts","./src/environments/environment.ts","./src/app/utils/string-constants.ts","./api-authorization/authorize.guard.ts","./src/app/common/custom-ui/custom-field/custom-field.component.ts","./src/app/common/custom-ui/custom-field/custom-field.component.html","./src/app/app-services.ts","./src/app/layouts/blank/blank.component.ts","./src/app/layouts/blank/blank.component.html","./api-authorization/api-authorization.constants.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/layouts/full/full.component.ts","./src/app/layouts/full/full.component.html","./src/app/app.component.ts","./src/app/app.component.html","./api-authorization/api-authorization.module.ts","./api-authorization/login/login.component.ts","./api-authorization/login/login.component.html","./src/app/app.module.ts","./api-authorization/authorize.service.ts","./api-authorization/login-menu/login-menu.component.ts","./api-authorization/login-menu/login-menu.component.html","./src/app/shared/adapters/datepicker-adapters.ts","./src/app/shared/header-navigation/navigation.component.ts","./src/app/shared/header-navigation/navigation.component.html","./src/app/services/session-check.interceptor.ts","./src/app/shared/sidebar/menu-items.ts","./src/app/shared/sidebar/sidebar.component.ts","./src/app/shared/sidebar/sidebar.component.html","./src/app/app-routing.module.ts","./api-authorization/authorize.interceptor.ts","./src/app/common/custom-ui/custom-ui.module.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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BAAgB,CAAC;;;;;;;;;;;;AChFvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main-es2015.js","sourcesContent":["import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n} from '@angular/core';\r\n//import { CustomField } from 'src/app/app-services';\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-custom-form',\r\n templateUrl: './custom-form.component.html',\r\n styleUrls: ['./custom-form.component.scss'],\r\n})\r\nexport class CustomFormComponent implements OnInit, OnChanges {\r\n // @Input() formFields: Array;\r\n // @Input() detailsForm: FormGroup;\r\n // @Input() formData: any;\r\n\r\n constructor(private formBuilder: FormBuilder) {}\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.initData();\r\n }\r\n\r\n ngOnInit(): void {\r\n //this.detailsForm = new FormGroup({});\r\n }\r\n\r\n initData() {\r\n const formGroup = {};\r\n // this.formFields.forEach((formControl) => {\r\n // if (formControl.isRequired)\r\n // this.detailsForm.addControl(\r\n // formControl.name,\r\n // this.formBuilder.control('', Validators.required)\r\n // );\r\n // else\r\n // this.detailsForm.addControl(\r\n // formControl.name,\r\n // this.formBuilder.control('')\r\n // );\r\n // });\r\n }\r\n onSubmit(formValues: any) {\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDnd]'\r\n})\r\nexport class DndDirective {\r\n @HostBinding('class.fileover') fileOver: boolean;\r\n @Output() fileDropped = new EventEmitter();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthenticationResultStatus, AuthorizeService } from '../authorize.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\nimport { LogoutActions, ApplicationPaths, ReturnUrlType } from '../api-authorization.constants';\r\n\r\n// The main responsibility of this component is to handle the user's logout process.\r\n// This is the starting point for the logout process, which is usually initiated when a\r\n// user clicks on the logout button on the LoginMenu component.\r\n@Component({\r\n selector: 'app-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.css']\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n public message = new BehaviorSubject(null);\r\n public appPaths = ApplicationPaths;\r\n\r\n constructor(\r\n private authorizeService: AuthorizeService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n const action = this.activatedRoute.snapshot.url[1];\r\n switch (action.path) {\r\n case LogoutActions.Logout:\r\n this.message.next('Please wait...');\r\n if (!!window.history.state.local) {\r\n await this.logout(this.getReturnUrl());\r\n } else {\r\n // This prevents regular links to /authentication/logout from triggering a logout\r\n this.message.next('The logout was not initiated from within the page.');\r\n }\r\n\r\n break;\r\n case LogoutActions.LogoutCallback:\r\n await this.processLogoutCallback();\r\n break;\r\n case LogoutActions.LoggedOut:\r\n this.message.next('You are successfully logged out!');\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n\r\n private async logout(returnUrl: string): Promise {\r\n const state: INavigationState = { returnUrl };\r\n const isauthenticated = await this.authorizeService.isAuthenticated().pipe(\r\n take(1)\r\n ).toPromise();\r\n if (isauthenticated) {\r\n const result = await this.authorizeService.signOut(state);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.message.next(result.message);\r\n break;\r\n default:\r\n throw new Error('Invalid authentication result status.');\r\n }\r\n } else {\r\n this.message.next('You are successfully logged out!');\r\n }\r\n }\r\n\r\n private async processLogoutCallback(): Promise {\r\n const url = window.location.href;\r\n const result = await this.authorizeService.completeSignOut(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as the only time completeAuthentication finishes\r\n // is when we are doing a redirect sign in flow.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.message.next(result.message);\r\n break;\r\n default:\r\n throw new Error('Invalid authentication result status.');\r\n }\r\n }\r\n\r\n private async navigateToReturnUrl(returnUrl: string) {\r\n await this.router.navigateByUrl(returnUrl, {\r\n replaceUrl: true\r\n });\r\n }\r\n\r\n private getReturnUrl(state?: INavigationState): string {\r\n const fromQuery = (this.activatedRoute.snapshot.queryParams as INavigationState).returnUrl;\r\n // If the url is comming from the query string, check that is either\r\n // a relative url or an absolute url\r\n if (fromQuery &&\r\n !(fromQuery.startsWith(`${window.location.origin}/`) ||\r\n /\\/[^\\/].*/.test(fromQuery))) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error('Invalid return url. The return url needs to have the same origin as the current page.');\r\n }\r\n return (state && state.returnUrl) ||\r\n fromQuery ||\r\n ApplicationPaths.LoggedOut;\r\n }\r\n}\r\n\r\ninterface INavigationState {\r\n [ReturnUrlType]: string;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 && (message | async) !== 'Please wait...'\">\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
\r\n
{{ message | async }}
\r\n

0 && (message | async) !== 'Please wait...'\">\r\n Return to Login\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { filter, map, mergeMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html'\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n @Input() layout;\r\n pageInfo;\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title\r\n ) {\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .pipe(map(() => this.activatedRoute))\r\n .pipe(\r\n map(route => {\r\n while (route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n return route;\r\n })\r\n )\r\n .pipe(filter(route => route.outlet === 'primary'))\r\n .pipe(mergeMap(route => route.data))\r\n .subscribe(event => {\r\n this.titleService.setTitle(event['title']);\r\n this.pageInfo = event;\r\n });\r\n }\r\n ngOnInit() {}\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n sessionTimeOut: 120\r\n};\r\n\r\nexport const identityConstants = {\r\n authority: \"https://id.strateflow.com\",\r\n clientId: \"IdentityServerClient\",\r\n clientSecret: \"testsecret\",\r\n scopes: \"openid profile IdentityServerApi\",\r\n responseType: \"code\",\r\n identityServerApiBaseUrl: \"https://id.strateflow.com\",\r\n identityServerClientBaseUrl: \"https://id.strateflow.com/\"\r\n};\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","export class StringConstants {\r\n public static readonly ResolutionValues = ['Cancelled','Fixed','Fixed with Workaround','Not a Defect','Duplicate'];\r\n}\r\n\r\nexport class ErrorMessages {\r\n public static readonly genericError =\r\n 'Something went wrong, please try again later';\r\n}\r\n\r\nexport enum FilterType {\r\n AssignedTome,\r\n OpenTickets,\r\n ClosedTickets,\r\n}\r\n\r\n\r\nexport class UserRoles {\r\n public static readonly Administrator = 'Administrator';\r\n public static readonly Agent = 'Agent';\r\n public static readonly Employee = 'User';\r\n public static readonly SystemManager = 'System Manager';\r\n public static readonly Developer = 'Developer';\r\n public static readonly QA = 'QA';\r\n public static readonly BA = 'Business Analyst';\r\n public static readonly DeliveryManager = 'Delivery Manager';\r\n}\r\n\r\nimport Quill from 'quill';\r\nimport ImageResize from 'quill-image-resize-module'\r\n\r\nQuill.register('modules/imageResize', ImageResize);\r\n\r\nexport class ConfigurationValues {\r\n public static readonly quillOptions = {\r\n modules: {\r\n toolbar: [\r\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\r\n ['blockquote', 'code-block'],\r\n\r\n // [{ 'header': 1 }, { 'header': 2 }], // custom button values\r\n [{ list: 'ordered' }, { list: 'bullet' }],\r\n // [{ 'script': 'sub'}, { 'script': 'super' }], // superscript/subscript\r\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\r\n [{ direction: 'rtl' }], // text direction\r\n\r\n [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n\r\n [{ color: [] }, { background: [] }], // dropdown with defaults from theme\r\n // [{ 'font': [] }],\r\n [{ align: [] }],\r\n\r\n // ['clean'], // remove formatting button\r\n\r\n ['link', 'image'] // link and image, video\r\n ],\r\n imageResize: true\r\n },\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthorizeService } from './authorize.service';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ApplicationPaths, QueryParameterNames } from './api-authorization.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizeGuard implements CanActivate {\r\n constructor(private authorize: AuthorizeService, private router: Router) {\r\n }\r\n canActivate(\r\n _next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.authorize.isAuthenticated()\r\n .pipe(tap(isAuthenticated => this.handleAuthorization(isAuthenticated, state)));\r\n }\r\n\r\n private handleAuthorization(isAuthenticated: boolean, state: RouterStateSnapshot) {\r\n if (!isAuthenticated) {\r\n this.router.navigate(ApplicationPaths.LoginPathComponents, {\r\n queryParams: {\r\n [QueryParameterNames.ReturnUrl]: state.url\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-field',\r\n templateUrl: './custom-field.component.html',\r\n styleUrls: ['./custom-field.component.scss']\r\n})\r\nexport class CustomFieldComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

custom-field works!

\r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\nexport interface ILaunchPageClient {\r\n getComponentsRoutingUrlInfo(): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LaunchPageClient implements ILaunchPageClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/sso\";\r\n }\r\n\r\n getComponentsRoutingUrlInfo(): Observable {\r\n let url_ = this.baseUrl + \"/api/LaunchPage/GetComponentsRoutingUrlInfo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetComponentsRoutingUrlInfo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetComponentsRoutingUrlInfo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetComponentsRoutingUrlInfo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IApplicationGroupClient {\r\n get(): Observable;\r\n create(command: AddApplicationGroupCommand): Observable;\r\n details(id: number): Observable;\r\n update(id: number, command: UpdateApplicationGroupCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationGroupClient implements IApplicationGroupClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/sso\";\r\n }\r\n\r\n get(): Observable {\r\n let url_ = this.baseUrl + \"/api/ApplicationGroup\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ApplicationGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n create(command: AddApplicationGroupCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/ApplicationGroup\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n details(id: number): Observable {\r\n let url_ = this.baseUrl + \"/api/ApplicationGroup/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApplicationGroup.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(id: number, command: UpdateApplicationGroupCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/ApplicationGroup/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IDepartmentsClient {\r\n get(): Observable;\r\n create(command: AddDepartmentCommand): Observable;\r\n update(command: UpdateDepartmentCommand): Observable;\r\n delete(command: DeleteDepartmentCommand): Observable;\r\n details(id: number): Observable;\r\n changeStatus(command: ChangeDepartmentStatusCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DepartmentsClient implements IDepartmentsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/sso\";\r\n }\r\n\r\n get(): Observable {\r\n let url_ = this.baseUrl + \"/api/Departments\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DepartmentDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n create(command: AddDepartmentCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Departments\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Department.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(command: UpdateDepartmentCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Departments\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Department.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(command: DeleteDepartmentCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Departments\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n details(id: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Departments/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DepartmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeStatus(command: ChangeDepartmentStatusCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Departments/statuschange\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Department.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface ILocationsClient {\r\n get(): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationsClient implements ILocationsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/sso\";\r\n }\r\n\r\n get(): Observable {\r\n let url_ = this.baseUrl + \"/api/Locations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IUsersClient {\r\n get(): Observable;\r\n post(user: CreateUserCommand): Observable;\r\n getPagedUsers(command: GetPagedUsersQuery): Observable;\r\n getAgents(): Observable;\r\n details(id: number): Observable;\r\n getDetailsByEmailAddress(emailAddress: string): Observable;\r\n bulkUpload(users: UserCreateDto[]): Observable;\r\n update(command: UpdateUserCommand): Observable;\r\n resetPassword(command: ResetUserPasswordCommand): Observable;\r\n resendActivationLink(id: number, email: string): Observable;\r\n lockUserProfile(id: number, email: string): Observable;\r\n unlockUserProfile(id: number, email: string): Observable;\r\n changeApprovalstatus(id: number, command: ChangeuserApprovalStatusCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UsersClient implements IUsersClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/sso\";\r\n }\r\n\r\n get(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n post(user: CreateUserCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(user);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processPost(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPost(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processPost(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getPagedUsers(command: GetPagedUsersQuery): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/paged\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetPagedUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetPagedUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetPagedUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PagedResultOfUserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAgents(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/agents\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAgents(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAgents(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAgents(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n details(id: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDetailsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDetailsByEmailAddress(emailAddress: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/DetailsByEmailAddress/{emailAddress}\";\r\n if (emailAddress === undefined || emailAddress === null)\r\n throw new Error(\"The parameter 'emailAddress' must be defined.\");\r\n url_ = url_.replace(\"{emailAddress}\", encodeURIComponent(\"\" + emailAddress));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDetailsByEmailAddress(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDetailsByEmailAddress(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDetailsByEmailAddress(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDetailsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n bulkUpload(users: UserCreateDto[]): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/bulk\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(users);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processBulkUpload(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processBulkUpload(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processBulkUpload(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(command: UpdateUserCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetPassword(command: ResetUserPasswordCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/resetpassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetPassword(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetPassword(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processResetPassword(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resendActivationLink(id: number, email: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/{id}/resendactivation\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(email);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResendActivationLink(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResendActivationLink(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processResendActivationLink(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n lockUserProfile(id: number, email: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/{id}/lock\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(email);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processLockUserProfile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLockUserProfile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processLockUserProfile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n unlockUserProfile(id: number, email: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/{id}/unlock\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(email);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUnlockUserProfile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUnlockUserProfile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUnlockUserProfile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeApprovalstatus(id: number, command: ChangeuserApprovalStatusCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/{id}/changeapprovalstatus\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeApprovalstatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeApprovalstatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeApprovalstatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IUserTitleClient {\r\n get(): Observable;\r\n create(command: AddUserTitleCommand): Observable;\r\n update(command: UpdateUserTitleCommand): Observable;\r\n delete(command: DeleteUserTitleCommand): Observable;\r\n details(id: number): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserTitleClient implements IUserTitleClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/sso\";\r\n }\r\n\r\n get(): Observable {\r\n let url_ = this.baseUrl + \"/api/UserTitle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserTitle.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n create(command: AddUserTitleCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/UserTitle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserTitle.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(command: UpdateUserTitleCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/UserTitle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserTitle.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(command: DeleteUserTitleCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/UserTitle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n details(id: number): Observable {\r\n let url_ = this.baseUrl + \"/api/UserTitle/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserTitle.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class ApplicationGroup implements IApplicationGroup {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n users?: UserGroup[] | undefined;\r\n\r\n constructor(data?: IApplicationGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(UserGroup.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApplicationGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApplicationGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IApplicationGroup {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n users?: UserGroup[] | undefined;\r\n}\r\n\r\nexport class UserGroup implements IUserGroup {\r\n userId?: number;\r\n user?: User | undefined;\r\n groupId?: number;\r\n group?: ApplicationGroup | undefined;\r\n\r\n constructor(data?: IUserGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n this.groupId = _data[\"groupId\"];\r\n this.group = _data[\"group\"] ? ApplicationGroup.fromJS(_data[\"group\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"groupId\"] = this.groupId;\r\n data[\"group\"] = this.group ? this.group.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserGroup {\r\n userId?: number;\r\n user?: User | undefined;\r\n groupId?: number;\r\n group?: ApplicationGroup | undefined;\r\n}\r\n\r\nexport abstract class AuditableEntity implements IAuditableEntity {\r\n createdBy?: string | undefined;\r\n createdById?: number;\r\n created?: Date;\r\n lastModifiedBy?: string | undefined;\r\n lastModifiedById?: number;\r\n lastModified?: Date | undefined;\r\n\r\n constructor(data?: IAuditableEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdById = _data[\"createdById\"];\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.lastModifiedBy = _data[\"lastModifiedBy\"];\r\n this.lastModifiedById = _data[\"lastModifiedById\"];\r\n this.lastModified = _data[\"lastModified\"] ? new Date(_data[\"lastModified\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuditableEntity {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'AuditableEntity' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdById\"] = this.createdById;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"lastModifiedBy\"] = this.lastModifiedBy;\r\n data[\"lastModifiedById\"] = this.lastModifiedById;\r\n data[\"lastModified\"] = this.lastModified ? this.lastModified.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAuditableEntity {\r\n createdBy?: string | undefined;\r\n createdById?: number;\r\n created?: Date;\r\n lastModifiedBy?: string | undefined;\r\n lastModifiedById?: number;\r\n lastModified?: Date | undefined;\r\n}\r\n\r\nexport class User extends AuditableEntity implements IUser {\r\n id?: number;\r\n aspNetUserId?: string | undefined;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n isActive?: boolean;\r\n mobileNumber?: string | undefined;\r\n reportingManagerId?: number | undefined;\r\n reportingManager?: User | undefined;\r\n departments?: UserDepartment[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n userLocation?: Location | undefined;\r\n canApproveRequests?: boolean;\r\n userType?: string | undefined;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n userPreferenceId?: number | undefined;\r\n groups?: UserGroup[] | undefined;\r\n\r\n constructor(data?: IUser) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.aspNetUserId = _data[\"aspNetUserId\"];\r\n this.firstname = _data[\"firstname\"];\r\n this.lastname = _data[\"lastname\"];\r\n this.title = _data[\"title\"];\r\n this.email = _data[\"email\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.mobileNumber = _data[\"mobileNumber\"];\r\n this.reportingManagerId = _data[\"reportingManagerId\"];\r\n this.reportingManager = _data[\"reportingManager\"] ? User.fromJS(_data[\"reportingManager\"]) : undefined;\r\n if (Array.isArray(_data[\"departments\"])) {\r\n this.departments = [] as any;\r\n for (let item of _data[\"departments\"])\r\n this.departments!.push(UserDepartment.fromJS(item));\r\n }\r\n this.address = _data[\"address\"];\r\n this.notes = _data[\"notes\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.userLocation = _data[\"userLocation\"] ? Location.fromJS(_data[\"userLocation\"]) : undefined;\r\n this.canApproveRequests = _data[\"canApproveRequests\"];\r\n this.userType = _data[\"userType\"];\r\n this.company = _data[\"company\"];\r\n this.isWorkFromHome = _data[\"isWorkFromHome\"];\r\n this.userPreferenceId = _data[\"userPreferenceId\"];\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(UserGroup.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): User {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new User();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"aspNetUserId\"] = this.aspNetUserId;\r\n data[\"firstname\"] = this.firstname;\r\n data[\"lastname\"] = this.lastname;\r\n data[\"title\"] = this.title;\r\n data[\"email\"] = this.email;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"mobileNumber\"] = this.mobileNumber;\r\n data[\"reportingManagerId\"] = this.reportingManagerId;\r\n data[\"reportingManager\"] = this.reportingManager ? this.reportingManager.toJSON() : undefined;\r\n if (Array.isArray(this.departments)) {\r\n data[\"departments\"] = [];\r\n for (let item of this.departments)\r\n data[\"departments\"].push(item.toJSON());\r\n }\r\n data[\"address\"] = this.address;\r\n data[\"notes\"] = this.notes;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"userLocation\"] = this.userLocation ? this.userLocation.toJSON() : undefined;\r\n data[\"canApproveRequests\"] = this.canApproveRequests;\r\n data[\"userType\"] = this.userType;\r\n data[\"company\"] = this.company;\r\n data[\"isWorkFromHome\"] = this.isWorkFromHome;\r\n data[\"userPreferenceId\"] = this.userPreferenceId;\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUser extends IAuditableEntity {\r\n id?: number;\r\n aspNetUserId?: string | undefined;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n isActive?: boolean;\r\n mobileNumber?: string | undefined;\r\n reportingManagerId?: number | undefined;\r\n reportingManager?: User | undefined;\r\n departments?: UserDepartment[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n userLocation?: Location | undefined;\r\n canApproveRequests?: boolean;\r\n userType?: string | undefined;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n userPreferenceId?: number | undefined;\r\n groups?: UserGroup[] | undefined;\r\n}\r\n\r\nexport class UserDepartment implements IUserDepartment {\r\n userId?: number;\r\n user?: User | undefined;\r\n departmetnId?: number;\r\n department?: Department | undefined;\r\n\r\n constructor(data?: IUserDepartment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n this.departmetnId = _data[\"departmetnId\"];\r\n this.department = _data[\"department\"] ? Department.fromJS(_data[\"department\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDepartment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDepartment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"departmetnId\"] = this.departmetnId;\r\n data[\"department\"] = this.department ? this.department.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserDepartment {\r\n userId?: number;\r\n user?: User | undefined;\r\n departmetnId?: number;\r\n department?: Department | undefined;\r\n}\r\n\r\nexport class Department implements IDepartment {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n users?: UserDepartment[] | undefined;\r\n isActive?: boolean;\r\n\r\n constructor(data?: IDepartment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(UserDepartment.fromJS(item));\r\n }\r\n this.isActive = _data[\"isActive\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Department {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Department();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n data[\"isActive\"] = this.isActive;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDepartment {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n users?: UserDepartment[] | undefined;\r\n isActive?: boolean;\r\n}\r\n\r\nexport class Location extends AuditableEntity implements ILocation {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n isActive?: boolean;\r\n\r\n constructor(data?: ILocation) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.isActive = _data[\"isActive\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Location {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Location();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"isActive\"] = this.isActive;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocation extends IAuditableEntity {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n isActive?: boolean;\r\n}\r\n\r\nexport class AddApplicationGroupCommand implements IAddApplicationGroupCommand {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: IAddApplicationGroupCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddApplicationGroupCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddApplicationGroupCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddApplicationGroupCommand {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class UpdateApplicationGroupCommand implements IUpdateApplicationGroupCommand {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n userIds?: number[] | undefined;\r\n\r\n constructor(data?: IUpdateApplicationGroupCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n if (Array.isArray(_data[\"userIds\"])) {\r\n this.userIds = [] as any;\r\n for (let item of _data[\"userIds\"])\r\n this.userIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateApplicationGroupCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateApplicationGroupCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n if (Array.isArray(this.userIds)) {\r\n data[\"userIds\"] = [];\r\n for (let item of this.userIds)\r\n data[\"userIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateApplicationGroupCommand {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n userIds?: number[] | undefined;\r\n}\r\n\r\nexport class DepartmentDto implements IDepartmentDto {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n isActive?: boolean;\r\n\r\n constructor(data?: IDepartmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.isActive = _data[\"isActive\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DepartmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DepartmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"isActive\"] = this.isActive;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDepartmentDto {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n isActive?: boolean;\r\n}\r\n\r\nexport class AddDepartmentCommand implements IAddDepartmentCommand {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: IAddDepartmentCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddDepartmentCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddDepartmentCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddDepartmentCommand {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class UpdateDepartmentCommand implements IUpdateDepartmentCommand {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n status?: boolean;\r\n\r\n constructor(data?: IUpdateDepartmentCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateDepartmentCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateDepartmentCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateDepartmentCommand {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n status?: boolean;\r\n}\r\n\r\nexport class ChangeDepartmentStatusCommand implements IChangeDepartmentStatusCommand {\r\n id?: number;\r\n status?: boolean;\r\n\r\n constructor(data?: IChangeDepartmentStatusCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeDepartmentStatusCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeDepartmentStatusCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeDepartmentStatusCommand {\r\n id?: number;\r\n status?: boolean;\r\n}\r\n\r\nexport class DeleteDepartmentCommand implements IDeleteDepartmentCommand {\r\n id?: number;\r\n\r\n constructor(data?: IDeleteDepartmentCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteDepartmentCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteDepartmentCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteDepartmentCommand {\r\n id?: number;\r\n}\r\n\r\nexport class LocationDto implements ILocationDto {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: ILocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationDto {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class UserDto implements IUserDto {\r\n id?: number;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n fullName?: string | undefined;\r\n fullnameReverse?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n isActive?: boolean;\r\n reportingManagerId?: number;\r\n reportingManagerName?: string | undefined;\r\n departmentName?: string | undefined;\r\n locationId?: number;\r\n locationName?: string | undefined;\r\n userType?: string | undefined;\r\n\r\n constructor(data?: IUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstname = _data[\"firstname\"];\r\n this.lastname = _data[\"lastname\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.fullnameReverse = _data[\"fullnameReverse\"];\r\n this.title = _data[\"title\"];\r\n this.email = _data[\"email\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.reportingManagerId = _data[\"reportingManagerId\"];\r\n this.reportingManagerName = _data[\"reportingManagerName\"];\r\n this.departmentName = _data[\"departmentName\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.userType = _data[\"userType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstname\"] = this.firstname;\r\n data[\"lastname\"] = this.lastname;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"fullnameReverse\"] = this.fullnameReverse;\r\n data[\"title\"] = this.title;\r\n data[\"email\"] = this.email;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"reportingManagerId\"] = this.reportingManagerId;\r\n data[\"reportingManagerName\"] = this.reportingManagerName;\r\n data[\"departmentName\"] = this.departmentName;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"userType\"] = this.userType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserDto {\r\n id?: number;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n fullName?: string | undefined;\r\n fullnameReverse?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n isActive?: boolean;\r\n reportingManagerId?: number;\r\n reportingManagerName?: string | undefined;\r\n departmentName?: string | undefined;\r\n locationId?: number;\r\n locationName?: string | undefined;\r\n userType?: string | undefined;\r\n}\r\n\r\nexport abstract class PagedResultBase implements IPagedResultBase {\r\n currentPage?: number;\r\n pageCount?: number;\r\n pageSize?: number;\r\n rowCount?: number;\r\n firstRowOnPage?: number;\r\n lastRowOnPage?: number;\r\n\r\n constructor(data?: IPagedResultBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageCount = _data[\"pageCount\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.rowCount = _data[\"rowCount\"];\r\n this.firstRowOnPage = _data[\"firstRowOnPage\"];\r\n this.lastRowOnPage = _data[\"lastRowOnPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PagedResultBase {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'PagedResultBase' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageCount\"] = this.pageCount;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"rowCount\"] = this.rowCount;\r\n data[\"firstRowOnPage\"] = this.firstRowOnPage;\r\n data[\"lastRowOnPage\"] = this.lastRowOnPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPagedResultBase {\r\n currentPage?: number;\r\n pageCount?: number;\r\n pageSize?: number;\r\n rowCount?: number;\r\n firstRowOnPage?: number;\r\n lastRowOnPage?: number;\r\n}\r\n\r\nexport class PagedResultOfUserDto extends PagedResultBase implements IPagedResultOfUserDto {\r\n results?: UserDto[] | undefined;\r\n\r\n constructor(data?: IPagedResultOfUserDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"results\"])) {\r\n this.results = [] as any;\r\n for (let item of _data[\"results\"])\r\n this.results!.push(UserDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PagedResultOfUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PagedResultOfUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.results)) {\r\n data[\"results\"] = [];\r\n for (let item of this.results)\r\n data[\"results\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPagedResultOfUserDto extends IPagedResultBase {\r\n results?: UserDto[] | undefined;\r\n}\r\n\r\nexport class GetPagedUsersQuery implements IGetPagedUsersQuery {\r\n onlyAgents?: boolean;\r\n pageRequest?: PageRequest | undefined;\r\n\r\n constructor(data?: IGetPagedUsersQuery) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.onlyAgents = _data[\"onlyAgents\"];\r\n this.pageRequest = _data[\"pageRequest\"] ? PageRequest.fromJS(_data[\"pageRequest\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetPagedUsersQuery {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetPagedUsersQuery();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"onlyAgents\"] = this.onlyAgents;\r\n data[\"pageRequest\"] = this.pageRequest ? this.pageRequest.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetPagedUsersQuery {\r\n onlyAgents?: boolean;\r\n pageRequest?: PageRequest | undefined;\r\n}\r\n\r\nexport class PageRequest implements IPageRequest {\r\n start?: number;\r\n size?: number;\r\n searchText?: string | undefined;\r\n sortBy?: string | undefined;\r\n sortDirection?: string | undefined;\r\n\r\n constructor(data?: IPageRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.start = _data[\"start\"];\r\n this.size = _data[\"size\"];\r\n this.searchText = _data[\"searchText\"];\r\n this.sortBy = _data[\"sortBy\"];\r\n this.sortDirection = _data[\"sortDirection\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"start\"] = this.start;\r\n data[\"size\"] = this.size;\r\n data[\"searchText\"] = this.searchText;\r\n data[\"sortBy\"] = this.sortBy;\r\n data[\"sortDirection\"] = this.sortDirection;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPageRequest {\r\n start?: number;\r\n size?: number;\r\n searchText?: string | undefined;\r\n sortBy?: string | undefined;\r\n sortDirection?: string | undefined;\r\n}\r\n\r\nexport class UserDetailsDto implements IUserDetailsDto {\r\n id?: number;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n isActive?: boolean;\r\n isEmailConfirmed?: boolean;\r\n isLocked?: boolean;\r\n reportingManagerId?: number;\r\n reportingManager?: UserDto | undefined;\r\n departments?: UserDepartment[] | undefined;\r\n groups?: UserGroup[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n userLocation?: LocationDto | undefined;\r\n userType?: string | undefined;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n role?: string | undefined;\r\n\r\n constructor(data?: IUserDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstname = _data[\"firstname\"];\r\n this.lastname = _data[\"lastname\"];\r\n this.title = _data[\"title\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.mobileNumber = _data[\"mobileNumber\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.isEmailConfirmed = _data[\"isEmailConfirmed\"];\r\n this.isLocked = _data[\"isLocked\"];\r\n this.reportingManagerId = _data[\"reportingManagerId\"];\r\n this.reportingManager = _data[\"reportingManager\"] ? UserDto.fromJS(_data[\"reportingManager\"]) : undefined;\r\n if (Array.isArray(_data[\"departments\"])) {\r\n this.departments = [] as any;\r\n for (let item of _data[\"departments\"])\r\n this.departments!.push(UserDepartment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(UserGroup.fromJS(item));\r\n }\r\n this.address = _data[\"address\"];\r\n this.notes = _data[\"notes\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.userLocation = _data[\"userLocation\"] ? LocationDto.fromJS(_data[\"userLocation\"]) : undefined;\r\n this.userType = _data[\"userType\"];\r\n this.canApproveRequests = _data[\"canApproveRequests\"];\r\n this.company = _data[\"company\"];\r\n this.isWorkFromHome = _data[\"isWorkFromHome\"];\r\n this.role = _data[\"role\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstname\"] = this.firstname;\r\n data[\"lastname\"] = this.lastname;\r\n data[\"title\"] = this.title;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"mobileNumber\"] = this.mobileNumber;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"isEmailConfirmed\"] = this.isEmailConfirmed;\r\n data[\"isLocked\"] = this.isLocked;\r\n data[\"reportingManagerId\"] = this.reportingManagerId;\r\n data[\"reportingManager\"] = this.reportingManager ? this.reportingManager.toJSON() : undefined;\r\n if (Array.isArray(this.departments)) {\r\n data[\"departments\"] = [];\r\n for (let item of this.departments)\r\n data[\"departments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n data[\"address\"] = this.address;\r\n data[\"notes\"] = this.notes;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"userLocation\"] = this.userLocation ? this.userLocation.toJSON() : undefined;\r\n data[\"userType\"] = this.userType;\r\n data[\"canApproveRequests\"] = this.canApproveRequests;\r\n data[\"company\"] = this.company;\r\n data[\"isWorkFromHome\"] = this.isWorkFromHome;\r\n data[\"role\"] = this.role;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserDetailsDto {\r\n id?: number;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n isActive?: boolean;\r\n isEmailConfirmed?: boolean;\r\n isLocked?: boolean;\r\n reportingManagerId?: number;\r\n reportingManager?: UserDto | undefined;\r\n departments?: UserDepartment[] | undefined;\r\n groups?: UserGroup[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n userLocation?: LocationDto | undefined;\r\n userType?: string | undefined;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n role?: string | undefined;\r\n}\r\n\r\nexport class CreateUserCommand implements ICreateUserCommand {\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n isActive?: boolean;\r\n reportingManagerId?: number;\r\n departments?: number[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n role?: string | undefined;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n\r\n constructor(data?: ICreateUserCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstname = _data[\"firstname\"];\r\n this.lastname = _data[\"lastname\"];\r\n this.title = _data[\"title\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.mobileNumber = _data[\"mobileNumber\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.reportingManagerId = _data[\"reportingManagerId\"];\r\n if (Array.isArray(_data[\"departments\"])) {\r\n this.departments = [] as any;\r\n for (let item of _data[\"departments\"])\r\n this.departments!.push(item);\r\n }\r\n this.address = _data[\"address\"];\r\n this.notes = _data[\"notes\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.role = _data[\"role\"];\r\n this.canApproveRequests = _data[\"canApproveRequests\"];\r\n this.company = _data[\"company\"];\r\n this.isWorkFromHome = _data[\"isWorkFromHome\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateUserCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateUserCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstname\"] = this.firstname;\r\n data[\"lastname\"] = this.lastname;\r\n data[\"title\"] = this.title;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"mobileNumber\"] = this.mobileNumber;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"reportingManagerId\"] = this.reportingManagerId;\r\n if (Array.isArray(this.departments)) {\r\n data[\"departments\"] = [];\r\n for (let item of this.departments)\r\n data[\"departments\"].push(item);\r\n }\r\n data[\"address\"] = this.address;\r\n data[\"notes\"] = this.notes;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"role\"] = this.role;\r\n data[\"canApproveRequests\"] = this.canApproveRequests;\r\n data[\"company\"] = this.company;\r\n data[\"isWorkFromHome\"] = this.isWorkFromHome;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateUserCommand {\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n isActive?: boolean;\r\n reportingManagerId?: number;\r\n departments?: number[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n role?: string | undefined;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n}\r\n\r\nexport class UserCreateDto implements IUserCreateDto {\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n reportingManagerId?: number;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n role?: string | undefined;\r\n departments?: number[] | undefined;\r\n\r\n constructor(data?: IUserCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstname = _data[\"firstname\"];\r\n this.lastname = _data[\"lastname\"];\r\n this.title = _data[\"title\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.mobileNumber = _data[\"mobileNumber\"];\r\n this.reportingManagerId = _data[\"reportingManagerId\"];\r\n this.address = _data[\"address\"];\r\n this.notes = _data[\"notes\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.canApproveRequests = _data[\"canApproveRequests\"];\r\n this.company = _data[\"company\"];\r\n this.isWorkFromHome = _data[\"isWorkFromHome\"];\r\n this.role = _data[\"role\"];\r\n if (Array.isArray(_data[\"departments\"])) {\r\n this.departments = [] as any;\r\n for (let item of _data[\"departments\"])\r\n this.departments!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstname\"] = this.firstname;\r\n data[\"lastname\"] = this.lastname;\r\n data[\"title\"] = this.title;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"mobileNumber\"] = this.mobileNumber;\r\n data[\"reportingManagerId\"] = this.reportingManagerId;\r\n data[\"address\"] = this.address;\r\n data[\"notes\"] = this.notes;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"canApproveRequests\"] = this.canApproveRequests;\r\n data[\"company\"] = this.company;\r\n data[\"isWorkFromHome\"] = this.isWorkFromHome;\r\n data[\"role\"] = this.role;\r\n if (Array.isArray(this.departments)) {\r\n data[\"departments\"] = [];\r\n for (let item of this.departments)\r\n data[\"departments\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserCreateDto {\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n reportingManagerId?: number;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n role?: string | undefined;\r\n departments?: number[] | undefined;\r\n}\r\n\r\nexport class UpdateUserCommand implements IUpdateUserCommand {\r\n id?: number;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n isActive?: boolean;\r\n reportingManagerId?: number;\r\n departments?: number[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n role?: string | undefined;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n groups?: number[] | undefined;\r\n\r\n constructor(data?: IUpdateUserCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstname = _data[\"firstname\"];\r\n this.lastname = _data[\"lastname\"];\r\n this.title = _data[\"title\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.mobileNumber = _data[\"mobileNumber\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.reportingManagerId = _data[\"reportingManagerId\"];\r\n if (Array.isArray(_data[\"departments\"])) {\r\n this.departments = [] as any;\r\n for (let item of _data[\"departments\"])\r\n this.departments!.push(item);\r\n }\r\n this.address = _data[\"address\"];\r\n this.notes = _data[\"notes\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.role = _data[\"role\"];\r\n this.canApproveRequests = _data[\"canApproveRequests\"];\r\n this.company = _data[\"company\"];\r\n this.isWorkFromHome = _data[\"isWorkFromHome\"];\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstname\"] = this.firstname;\r\n data[\"lastname\"] = this.lastname;\r\n data[\"title\"] = this.title;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"mobileNumber\"] = this.mobileNumber;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"reportingManagerId\"] = this.reportingManagerId;\r\n if (Array.isArray(this.departments)) {\r\n data[\"departments\"] = [];\r\n for (let item of this.departments)\r\n data[\"departments\"].push(item);\r\n }\r\n data[\"address\"] = this.address;\r\n data[\"notes\"] = this.notes;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"role\"] = this.role;\r\n data[\"canApproveRequests\"] = this.canApproveRequests;\r\n data[\"company\"] = this.company;\r\n data[\"isWorkFromHome\"] = this.isWorkFromHome;\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserCommand {\r\n id?: number;\r\n firstname?: string | undefined;\r\n lastname?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n isActive?: boolean;\r\n reportingManagerId?: number;\r\n departments?: number[] | undefined;\r\n address?: string | undefined;\r\n notes?: string | undefined;\r\n locationId?: number;\r\n role?: string | undefined;\r\n canApproveRequests?: boolean;\r\n company?: string | undefined;\r\n isWorkFromHome?: boolean;\r\n groups?: number[] | undefined;\r\n}\r\n\r\nexport class ResetUserPasswordCommand implements IResetUserPasswordCommand {\r\n id?: number;\r\n password?: string | undefined;\r\n mustChangePassword?: boolean;\r\n\r\n constructor(data?: IResetUserPasswordCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.password = _data[\"password\"];\r\n this.mustChangePassword = _data[\"mustChangePassword\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetUserPasswordCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetUserPasswordCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"password\"] = this.password;\r\n data[\"mustChangePassword\"] = this.mustChangePassword;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetUserPasswordCommand {\r\n id?: number;\r\n password?: string | undefined;\r\n mustChangePassword?: boolean;\r\n}\r\n\r\nexport class ChangeuserApprovalStatusCommand implements IChangeuserApprovalStatusCommand {\r\n id?: number;\r\n status?: boolean;\r\n\r\n constructor(data?: IChangeuserApprovalStatusCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeuserApprovalStatusCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeuserApprovalStatusCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeuserApprovalStatusCommand {\r\n id?: number;\r\n status?: boolean;\r\n}\r\n\r\nexport class UserTitle implements IUserTitle {\r\n id?: number;\r\n title?: string | undefined;\r\n\r\n constructor(data?: IUserTitle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserTitle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserTitle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserTitle {\r\n id?: number;\r\n title?: string | undefined;\r\n}\r\n\r\nexport class AddUserTitleCommand implements IAddUserTitleCommand {\r\n title?: string | undefined;\r\n\r\n constructor(data?: IAddUserTitleCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddUserTitleCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddUserTitleCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddUserTitleCommand {\r\n title?: string | undefined;\r\n}\r\n\r\nexport class UpdateUserTitleCommand implements IUpdateUserTitleCommand {\r\n id?: number;\r\n title?: string | undefined;\r\n\r\n constructor(data?: IUpdateUserTitleCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserTitleCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserTitleCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserTitleCommand {\r\n id?: number;\r\n title?: string | undefined;\r\n}\r\n\r\nexport class DeleteUserTitleCommand implements IDeleteUserTitleCommand {\r\n id?: number;\r\n\r\n constructor(data?: IDeleteUserTitleCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteUserTitleCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteUserTitleCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteUserTitleCommand {\r\n id?: number;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-blank-layout',\r\n templateUrl: './blank.component.html',\r\n styleUrls: []\r\n})\r\nexport class BlankComponent {}\r\n","\r\n\r\n\r\n","export const ApplicationName = 'IdentityServerClient';\r\n\r\nexport const ReturnUrlType = 'returnUrl';\r\n\r\nexport const QueryParameterNames = {\r\n ReturnUrl: ReturnUrlType,\r\n Message: 'message'\r\n};\r\n\r\nexport const LogoutActions = {\r\n LogoutCallback: 'logout-callback',\r\n Logout: 'logout',\r\n LoggedOut: 'logged-out'\r\n};\r\n\r\nexport const LoginActions = {\r\n Login: 'login',\r\n LoginCallback: 'login-callback',\r\n LoginFailed: 'login-failed',\r\n Profile: 'profile',\r\n Register: 'register'\r\n};\r\n\r\nlet applicationPaths: ApplicationPathsType = {\r\n DefaultLoginRedirectPath: '/',\r\n ApiAuthorizationClientConfigurationUrl: `/_configuration/${ApplicationName}`,\r\n Login: `authentication/${LoginActions.Login}`,\r\n LoginFailed: `authentication/${LoginActions.LoginFailed}`,\r\n LoginCallback: `authentication/${LoginActions.LoginCallback}`,\r\n Register: `authentication/${LoginActions.Register}`,\r\n Profile: `authentication/${LoginActions.Profile}`,\r\n LogOut: `authentication/${LogoutActions.Logout}`,\r\n LoggedOut: `authentication/${LogoutActions.LoggedOut}`,\r\n LogOutCallback: `authentication/${LogoutActions.LogoutCallback}`,\r\n LoginPathComponents: [],\r\n LoginFailedPathComponents: [],\r\n LoginCallbackPathComponents: [],\r\n RegisterPathComponents: [],\r\n ProfilePathComponents: [],\r\n LogOutPathComponents: [],\r\n LoggedOutPathComponents: [],\r\n LogOutCallbackPathComponents: [],\r\n IdentityRegisterPath: '/Identity/Account/Register',\r\n IdentityManagePath: '/Identity/Account/Manage'\r\n};\r\n\r\napplicationPaths = {\r\n ...applicationPaths,\r\n LoginPathComponents: applicationPaths.Login.split('/'),\r\n LoginFailedPathComponents: applicationPaths.LoginFailed.split('/'),\r\n RegisterPathComponents: applicationPaths.Register.split('/'),\r\n ProfilePathComponents: applicationPaths.Profile.split('/'),\r\n LogOutPathComponents: applicationPaths.LogOut.split('/'),\r\n LoggedOutPathComponents: applicationPaths.LoggedOut.split('/'),\r\n LogOutCallbackPathComponents: applicationPaths.LogOutCallback.split('/')\r\n};\r\n\r\ninterface ApplicationPathsType {\r\n readonly DefaultLoginRedirectPath: string;\r\n readonly ApiAuthorizationClientConfigurationUrl: string;\r\n readonly Login: string;\r\n readonly LoginFailed: string;\r\n readonly LoginCallback: string;\r\n readonly Register: string;\r\n readonly Profile: string;\r\n readonly LogOut: string;\r\n readonly LoggedOut: string;\r\n readonly LogOutCallback: string;\r\n readonly LoginPathComponents: string [];\r\n readonly LoginFailedPathComponents: string [];\r\n readonly LoginCallbackPathComponents: string [];\r\n readonly RegisterPathComponents: string [];\r\n readonly ProfilePathComponents: string [];\r\n readonly LogOutPathComponents: string [];\r\n readonly LoggedOutPathComponents: string [];\r\n readonly LogOutCallbackPathComponents: string [];\r\n readonly IdentityRegisterPath: string;\r\n readonly IdentityManagePath: string;\r\n}\r\n\r\nexport const ApplicationPaths: ApplicationPathsType = applicationPaths;\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\ndeclare var $: any;\r\n\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { AuthorizeService, IUser } from 'api-authorization/authorize.service';\r\nimport { SubSink } from 'SubSink';\r\nimport { UserRoles } from 'src/app/utils/string-constants';\r\n\r\n@Component({\r\n selector: 'app-full-layout',\r\n templateUrl: './full.component.html',\r\n styleUrls: ['./full.component.scss'],\r\n})\r\nexport class FullComponent implements OnInit {\r\n private sub = new SubSink();\r\n public config: PerfectScrollbarConfigInterface = {};\r\n\r\n constructor(public router: Router, private auth: AuthorizeService) {}\r\n\r\n tabStatus = 'justified';\r\n\r\n public isCollapsed = false;\r\n\r\n public innerWidth: any;\r\n public defaultSidebar: any;\r\n public showSettings = false;\r\n public showMobileMenu = false;\r\n public expandLogo = false;\r\n public showSettingsToggle = false;\r\n public currentYear = new Date().getFullYear();\r\n public isToggle = false;\r\n activenavSelection = 1\r\n\r\n options = {\r\n theme: 'light', // two possible values: light, dark\r\n dir: 'ltr', // two possible values: ltr, rtl\r\n layout: 'vertical', // fixed value. shouldn't be changed.\r\n sidebartype: 'mini-sidebar', // four possible values: full, iconbar, overlay, mini-sidebar\r\n sidebarpos: 'fixed', // two possible values: fixed, absolute\r\n headerpos: 'fixed', // two possible values: fixed, absolute\r\n boxed: 'full', // two possible values: full, boxed\r\n navbarbg: 'skin6', // six possible values: skin(1/2/3/4/5/6)\r\n sidebarbg: 'skin1', // six possible values: skin(1/2/3/4/5/6)\r\n logobg: 'skin6', // six possible values: skin(1/2/3/4/5/6)\r\n };\r\n userData;\r\n loadingBarColor = '#ef6e6e';\r\n\r\n Logo() {\r\n this.expandLogo = !this.expandLogo;\r\n }\r\n\r\n ngOnInit() {\r\n // if (this.router.url === '/') {\r\n // this.router.navigate(['/dashboard/dashboard1']);\r\n // }\r\n this.defaultSidebar = this.options.sidebartype;\r\n this.handleSidebar();\r\n this.sub.sink = this.auth.getUser().subscribe((data) => {\r\n this.userData = data;\r\n if (this.userData?.role.includes(UserRoles.Employee)) {\r\n this.options.layout = 'horizontal';\r\n this.options.sidebarbg = 'skin4';\r\n this.options.logobg = 'skin6';\r\n this.options.navbarbg = 'skin6';\r\n (this.options.sidebarpos = 'absolute'), // two possible values: fixed, absolute\r\n (this.options.headerpos = 'absolute'), // two possible values: fixed, absolute\r\n (this.options.sidebartype = 'full');\r\n this.defaultSidebar = this.options.sidebartype;\r\n this.loadingBarColor = '#ff5722';\r\n }\r\n });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.handleSidebar();\r\n }\r\n\r\n handleSidebar() {\r\n this.innerWidth = window.innerWidth;\r\n switch (this.defaultSidebar) {\r\n case 'full':\r\n case 'iconbar':\r\n if (this.innerWidth < 1170) {\r\n this.options.sidebartype = 'mini-sidebar';\r\n } else {\r\n this.options.sidebartype = this.defaultSidebar;\r\n }\r\n break;\r\n\r\n case 'overlay':\r\n if (this.innerWidth < 767) {\r\n this.options.sidebartype = 'mini-sidebar';\r\n } else {\r\n this.options.sidebartype = this.defaultSidebar;\r\n }\r\n break;\r\n\r\n default:\r\n }\r\n }\r\n\r\n toggleSidebarType(isToggle) {\r\n if(this.options.sidebartype == 'mini-sidebar' && isToggle)\r\n this.isToggle = true;\r\n else if(this.options.sidebartype == 'mini-sidebar' && !isToggle)\r\n this.isToggle = false;\r\n switch (this.options.sidebartype) {\r\n case 'full':\r\n case 'iconbar':\r\n if(isToggle)\r\n this.options.sidebartype = 'mini-sidebar';\r\n break;\r\n\r\n case 'overlay':\r\n this.showMobileMenu = !this.showMobileMenu;\r\n break;\r\n\r\n case 'mini-sidebar':\r\n if (this.defaultSidebar === 'mini-sidebar') {\r\n this.options.sidebartype = 'full';\r\n } else {\r\n this.options.sidebartype = this.defaultSidebar;\r\n }\r\n break;\r\n\r\n default:\r\n }\r\n }\r\n\r\n toggleSidebarTypeOnMouse() {\r\n if(!this.isToggle && this.options.sidebartype == 'full') {\r\n this.options.sidebartype = 'mini-sidebar';\r\n }\r\n }\r\n}\r\n\r\n","\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ©️ {{currentYear}} Stratevi, LLC. All Rights Reserved.\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'SRS';\r\n}\r\n","\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoginMenuComponent } from './login-menu/login-menu.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { LogoutComponent } from './logout/logout.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ApplicationPaths } from './api-authorization.constants';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule.forChild(\r\n [\r\n { path: ApplicationPaths.Register, component: LoginComponent },\r\n { path: ApplicationPaths.Profile, component: LoginComponent },\r\n { path: ApplicationPaths.Login, component: LoginComponent },\r\n { path: ApplicationPaths.LoginFailed, component: LoginComponent },\r\n { path: ApplicationPaths.LoginCallback, component: LoginComponent },\r\n { path: ApplicationPaths.LogOut, component: LogoutComponent },\r\n { path: ApplicationPaths.LoggedOut, component: LogoutComponent },\r\n { path: ApplicationPaths.LogOutCallback, component: LogoutComponent }\r\n ]\r\n )\r\n ],\r\n declarations: [LoginMenuComponent, LoginComponent, LogoutComponent],\r\n exports: [LoginMenuComponent, LoginComponent, LogoutComponent]\r\n})\r\nexport class ApiAuthorizationModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthorizeService, AuthenticationResultStatus } from '../authorize.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { LoginActions, QueryParameterNames, ApplicationPaths, ReturnUrlType } from '../api-authorization.constants';\r\n\r\n// The main responsibility of this component is to handle the user's login process.\r\n// This is the starting point for the login process. Any component that needs to authenticate\r\n// a user can simply perform a redirect to this component with a returnUrl query parameter and\r\n// let the component perform the login and return back to the return url.\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n public message = new BehaviorSubject(\"Please Wait...\");\r\n\r\n constructor(\r\n private authorizeService: AuthorizeService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n const action = this.activatedRoute.snapshot.url[1];\r\n switch (action.path) {\r\n case LoginActions.Login:\r\n await this.login(this.getReturnUrl());\r\n break;\r\n case LoginActions.LoginCallback:\r\n await this.processLoginCallback();\r\n break;\r\n case LoginActions.LoginFailed:\r\n const message = this.activatedRoute.snapshot.queryParamMap.get(QueryParameterNames.Message);\r\n this.message.next(message);\r\n break;\r\n case LoginActions.Profile:\r\n this.redirectToProfile();\r\n break;\r\n case LoginActions.Register:\r\n this.redirectToRegister();\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n\r\n\r\n private async login(returnUrl: string): Promise {\r\n const state: INavigationState = { returnUrl };\r\n const result = await this.authorizeService.signIn(state);\r\n this.message.next(undefined);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n await this.router.navigate(ApplicationPaths.LoginFailedPathComponents, {\r\n queryParams: { [QueryParameterNames.Message]: result.message }\r\n });\r\n break;\r\n default:\r\n throw new Error(`Invalid status result ${(result as any).status}.`);\r\n }\r\n }\r\n\r\n private async processLoginCallback(): Promise {\r\n const url = window.location.href;\r\n const result = await this.authorizeService.completeSignIn(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as completeSignIn never redirects.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.message.next(result.message);\r\n break;\r\n }\r\n }\r\n\r\n private redirectToRegister(): any {\r\n this.redirectToApiAuthorizationPath(\r\n `${ApplicationPaths.IdentityRegisterPath}?returnUrl=${encodeURI('/' + ApplicationPaths.Login)}`);\r\n }\r\n\r\n private redirectToProfile(): void {\r\n this.redirectToApiAuthorizationPath(ApplicationPaths.IdentityManagePath);\r\n }\r\n\r\n private async navigateToReturnUrl(returnUrl: string) {\r\n // It's important that we do a replace here so that we remove the callback uri with the\r\n // fragment containing the tokens from the browser history.\r\n await this.router.navigateByUrl(returnUrl, {\r\n replaceUrl: true\r\n });\r\n }\r\n\r\n private getReturnUrl(state?: INavigationState): string {\r\n const fromQuery = (this.activatedRoute.snapshot.queryParams as INavigationState).returnUrl;\r\n // If the url is comming from the query string, check that is either\r\n // a relative url or an absolute url\r\n if (fromQuery &&\r\n !(fromQuery.startsWith(`${window.location.origin}/`) ||\r\n /\\/[^\\/].*/.test(fromQuery))) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error('Invalid return url. The return url needs to have the same origin as the current page.');\r\n }\r\n let isEmployee = false;\r\n this.authorizeService.isEmployee().subscribe(data=> {\r\n isEmployee = data;\r\n });\r\n \r\n // if(!isEmployee){\r\n // return '/dashboard';\r\n // }\r\n return '/home';\r\n }\r\n\r\n private redirectToApiAuthorizationPath(apiAuthorizationPath: string) {\r\n // It's important that we do a replace here so that when the user hits the back arrow on the\r\n // browser they get sent back to where it was on the app instead of to an endpoint on this\r\n // component.\r\n const redirectUrl = `${window.location.origin}${apiAuthorizationPath}`;\r\n window.location.replace(redirectUrl);\r\n }\r\n}\r\n\r\ninterface INavigationState {\r\n [ReturnUrlType]: string;\r\n}\r\n","

{{ message | async }}

","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport {\r\n NgbModule,\r\n NgbDateAdapter,\r\n NgbDateParserFormatter,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\n// import { SlimLoadingBarModule } from 'ng2-slim-loading-bar';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FullComponent } from './layouts/full/full.component';\r\nimport { BlankComponent } from './layouts/blank/blank.component';\r\nimport { NavigationComponent } from './shared/header-navigation/navigation.component';\r\nimport { BreadcrumbComponent } from './shared/breadcrumb/breadcrumb.component';\r\nimport { SidebarComponent } from './shared/sidebar/sidebar.component';\r\nimport { ApiAuthorizationModule } from 'api-authorization/api-authorization.module';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\n\r\n// for Router import:\r\nimport { LoadingBarRouterModule } from '@ngx-loading-bar/router';\r\n\r\n// for Core import:\r\nimport { LoadingBarModule } from '@ngx-loading-bar/core';\r\nimport {\r\n CustomAdapter,\r\n CustomDateParserFormatter,\r\n} from './shared/adapters/datepicker-adapters';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { SharedModule } from './shared.module';\r\nimport { IfRolesDirective } from './shared/directives/if-roles.directive';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { UiSwitchModule } from 'ngx-ui-switch';\r\nimport { CustomUIModule } from './common/custom-ui/custom-ui.module';\r\nimport { ResizableColumnDirective } from './shared/directives/resizable-columns/resizable-column.directive';\r\nimport { SessionCheckInterceptor } from './services/session-check.interceptor';\r\nimport { DndDirective } from './shared/directives/dnd.directive';\r\nimport { API_BASE_URL } from './app-services';\r\nimport { AuthorizeInterceptor } from 'api-authorization/authorize.interceptor';\r\nimport { identityConstants } from '..//environments/environment';\r\n\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true\r\n};\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n FullComponent,\r\n BlankComponent,\r\n NavigationComponent,\r\n BreadcrumbComponent,\r\n SidebarComponent,\r\n DndDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n ApiAuthorizationModule,\r\n NgbModule,\r\n PerfectScrollbarModule,\r\n BrowserAnimationsModule,\r\n // SlimLoadingBarModule.forRoot(),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n // for Router use:\r\n LoadingBarRouterModule,\r\n // for Core use:\r\n LoadingBarModule,\r\n NgxSpinnerModule,\r\n SimpleNotificationsModule.forRoot({\r\n position: ['bottom', 'right'],\r\n theClass: 'srs-notification',\r\n timeOut: 4000,\r\n }),\r\n NgApexchartsModule,\r\n UiSwitchModule,\r\n CustomUIModule\r\n ],\r\n providers: [\r\n { provide: NgbDateAdapter, useClass: CustomAdapter },\r\n { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\r\n },\r\n {provide:HTTP_INTERCEPTORS, useClass:SessionCheckInterceptor, multi: true},\r\n {provide:HTTP_INTERCEPTORS, useClass:AuthorizeInterceptor, multi: true},\r\n {provide:API_BASE_URL, useValue:identityConstants.identityServerApiBaseUrl, multi: true}\r\n ],\r\n exports: [],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { User, UserManager, UserManagerSettings, WebStorageStateStore } from 'oidc-client';\r\nimport { BehaviorSubject, concat, from, Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, take, tap } from 'rxjs/operators';\r\nimport { ApplicationPaths, ApplicationName } from './api-authorization.constants';\r\nimport { identityConstants } from '../src/environments/environment';\r\n\r\nexport type IAuthenticationResult =\r\n SuccessAuthenticationResult |\r\n FailureAuthenticationResult |\r\n RedirectAuthenticationResult;\r\n\r\nexport interface SuccessAuthenticationResult {\r\n status: AuthenticationResultStatus.Success;\r\n state: any;\r\n}\r\n\r\nexport interface FailureAuthenticationResult {\r\n status: AuthenticationResultStatus.Fail;\r\n message: string;\r\n}\r\n\r\nexport interface RedirectAuthenticationResult {\r\n status: AuthenticationResultStatus.Redirect;\r\n}\r\n\r\nexport enum AuthenticationResultStatus {\r\n Success,\r\n Redirect,\r\n Fail\r\n}\r\n\r\nexport interface IUser {\r\n name?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizeService {\r\n // By default pop ups are disabled because they don't work properly on Edge.\r\n // If you want to enable pop up authentication simply set this flag to false.\r\n\r\n private popUpDisabled = true;\r\n private userManager: UserManager;\r\n private userSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n public isAuthenticated(): Observable {\r\n return this.getUser().pipe(map(u => !!u));\r\n }\r\n\r\n public getUser(): Observable {\r\n return concat(\r\n this.userSubject.pipe(take(1), filter(u => !!u)),\r\n this.getUserFromStorage().pipe(filter(u => !!u), tap(u => this.userSubject.next(u))),\r\n this.userSubject.asObservable());\r\n }\r\n\r\n public isEmployee(): Observable {\r\n return this.getUser().pipe(map(u => (u as any).role.includes('User')));\r\n }\r\n\r\n public isManager(): Observable {\r\n return this.getUser().pipe(map(u => (u as any).role.includes('Manager')));\r\n }\r\n\r\n public isAdmin(): Observable {\r\n return this.getUser().pipe(map(u => (u as any).role.includes('Administrator')));\r\n }\r\n\r\n public isAgent(): Observable {\r\n return this.getUser().pipe(map(u => (u as any).role.includes('Agent')));\r\n }\r\n\r\n public userid(): Observable {\r\n return this.getUser().pipe(map(u => (u as any).UserId));\r\n }\r\n\r\n public getAccessToken(): Observable {\r\n return from(this.ensureUserManagerInitialized())\r\n .pipe(mergeMap(() => from(this.userManager.getUser())),\r\n map(user => user && user.access_token));\r\n }\r\n\r\n // We try to authenticate the user in three different ways:\r\n // 1) We try to see if we can authenticate the user silently. This happens\r\n // when the user is already logged in on the IdP and is done using a hidden iframe\r\n // on the client.\r\n // 2) We try to authenticate the user using a PopUp Window. This might fail if there is a\r\n // Pop-Up blocker or the user has disabled PopUps.\r\n // 3) If the two methods above fail, we redirect the browser to the IdP to perform a traditional\r\n // redirect flow.\r\n public async signIn(state: any): Promise {\r\n await this.ensureUserManagerInitialized();\r\n let user: User = null;\r\n try {\r\n user = await this.userManager.signinSilent(this.createArguments());\r\n this.userSubject.next(user.profile);\r\n return this.success(state);\r\n } catch (silentError) {\r\n // User might not be authenticated, fallback to popup authentication\r\n console.log('Silent authentication error: ', silentError);\r\n\r\n try {\r\n if (this.popUpDisabled) {\r\n throw new Error('Popup disabled. Change \\'authorize.service.ts:AuthorizeService.popupDisabled\\' to false to enable it.');\r\n }\r\n\r\n user = await this.userManager.signinPopup(this.createArguments());\r\n this.userSubject.next(user.profile);\r\n return this.success(state);\r\n } catch (popupError) {\r\n if (popupError.message === 'Popup window closed') {\r\n // The user explicitly cancelled the login action by closing an opened popup.\r\n return this.error('The user closed the window.');\r\n } else if (!this.popUpDisabled) {\r\n console.log('Popup authentication error: ', popupError);\r\n }\r\n\r\n // PopUps might be blocked by the user, fallback to redirect\r\n try {\r\n await this.userManager.signinRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectError) {\r\n console.log('Redirect authentication error: ', redirectError);\r\n return this.error(redirectError);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async completeSignIn(url: string): Promise {\r\n try {\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.signinCallback(url);\r\n this.userSubject.next(user && user.profile);\r\n return this.success(user && user.state);\r\n } catch (error) {\r\n\t console.log('There was an error signing in: ', error);\r\n return this.error('There was an error signing in.');\r\n }\r\n }\r\n\r\n public async signOut(state: any): Promise {\r\n try {\r\n if (this.popUpDisabled) {\r\n throw new Error('Popup disabled. Change \\'authorize.service.ts:AuthorizeService.popupDisabled\\' to false to enable it.');\r\n }\r\n\r\n await this.ensureUserManagerInitialized();\r\n await this.userManager.signoutPopup(this.createArguments());\r\n this.userSubject.next(null);\r\n return this.success(state);\r\n } catch (popupSignOutError) {\r\n console.log('Popup signout error: ', popupSignOutError);\r\n try {\r\n await this.userManager.signoutRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectSignOutError) {\r\n console.log('Redirect signout error: ', popupSignOutError);\r\n return this.error(redirectSignOutError);\r\n }\r\n }\r\n }\r\n\r\n public async completeSignOut(url: string): Promise {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n const response = await this.userManager.signoutCallback(url);\r\n this.userSubject.next(null);\r\n return this.success(response && response.state);\r\n } catch (error) {\r\n console.log(`There was an error trying to log out '${error}'.`);\r\n return this.error(error);\r\n }\r\n }\r\n \r\n private createArguments(state?: any): any {\r\n return { useReplaceToNavigate: true, data: state };\r\n }\r\n\r\n private error(message: string): IAuthenticationResult {\r\n return { status: AuthenticationResultStatus.Fail, message };\r\n }\r\n\r\n private success(state: any): IAuthenticationResult {\r\n return { status: AuthenticationResultStatus.Success, state };\r\n }\r\n\r\n private redirect(): IAuthenticationResult {\r\n return { status: AuthenticationResultStatus.Redirect };\r\n }\r\n\r\n private get idpSettings(): UserManagerSettings {\r\n return {\r\n\r\n authority: identityConstants.authority,\r\n client_id: identityConstants.clientId,\r\n client_secret: identityConstants.clientSecret,\r\n scope: identityConstants.scopes,\r\n response_type: identityConstants.responseType,\r\n redirect_uri: identityConstants.identityServerClientBaseUrl + ApplicationPaths.LoginCallback,\r\n post_logout_redirect_uri: identityConstants.identityServerClientBaseUrl + ApplicationPaths.LogOutCallback\r\n }\r\n }\r\n\r\n private async ensureUserManagerInitialized(): Promise {\r\n if (this.userManager !== undefined) {\r\n return;\r\n }\r\n\r\n //const response = await fetch(ApplicationPaths.ApiAuthorizationClientConfigurationUrl);\r\n //const response = await fetch(`https://localhost:5001/_configuration/${ApplicationName}`);\r\n //if (!response.ok) {\r\n // throw new Error(`Could not load settings for '${ApplicationName}'`);\r\n //}\r\n\r\n //var settings: any = await response.json();\r\n var settings: any = this.idpSettings;\r\n settings.automaticSilentRenew = true;\r\n settings.includeIdTokenInSilentRenew = true;\r\n \r\n this.userManager = new UserManager(settings);\r\n\r\n this.userManager.events.addUserSignedOut(async () => {\r\n await this.userManager.removeUser();\r\n this.userSubject.next(null);\r\n });\r\n }\r\n\r\n private getUserFromStorage(): Observable {\r\n return from(this.ensureUserManagerInitialized())\r\n .pipe(\r\n mergeMap(() => this.userManager.getUser()),\r\n map(u => u && u.profile));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthorizeService } from '../authorize.service';\r\nimport { Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-login-menu',\r\n templateUrl: './login-menu.component.html',\r\n styleUrls: ['./login-menu.component.css']\r\n})\r\nexport class LoginMenuComponent implements OnInit {\r\n public isAuthenticated: Observable;\r\n public userName: Observable;\r\n\r\n constructor(private authorizeService: AuthorizeService) { }\r\n\r\n ngOnInit() {\r\n this.isAuthenticated = this.authorizeService.isAuthenticated();\r\n this.userName = this.authorizeService.getUser().pipe(map(u => u && u.name));\r\n }\r\n}\r\n","\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n NgbDateAdapter,\r\n NgbDateStruct,\r\n NgbDateParserFormatter,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport * as moment from 'moment';\r\n\r\n/**\r\n * This Service handles how the date is represented in scripts i.e. ngModel.\r\n */\r\n@Injectable()\r\nexport class CustomAdapter extends NgbDateAdapter {\r\n readonly DELIMITER = '-';\r\n\r\n fromModel(value: string | null): NgbDateStruct | null {\r\n if (value != null) {\r\n const date = (moment(value,'MM-DD-YYYY',true).isValid() || moment(value,'M-D-YYYY',true).isValid() || moment(value,'M-DD-YYYY',true).isValid() || moment(value,'MM-D-YYYY',true).isValid() \r\n || moment(value,'MM/DD/YYYY',true).isValid() || moment(value,'M/D/YYYY',true).isValid() || moment(value,'M/DD/YYYY',true).isValid() || moment(value,'MM/D/YYYY',true).isValid())\r\n && value != null && parseInt(String(value).slice(-4)) > 0\r\n ? moment(value).format('MM-DD-YYYY').toString().split(this.DELIMITER)\r\n : null;\r\n // const date = value.split(this.DELIMITER);\r\n if(!date) return null\r\n return {\r\n day: parseInt(date[1], 10),\r\n month: parseInt(date[0], 10),\r\n year: parseInt(date[2], 10),\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n toModel(date: NgbDateStruct | null): string | null {\r\n return date\r\n ? date.month + this.DELIMITER + date.day + this.DELIMITER + date.year\r\n : null;\r\n }\r\n}\r\n\r\n/**\r\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\r\n */\r\n@Injectable()\r\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\r\n readonly DELIMITER = '/';\r\n\r\n parse(value: string): NgbDateStruct | null {\r\n if (value) {\r\n const date = value.split(this.DELIMITER);\r\n return {\r\n day: parseInt(date[1], 10),\r\n month: parseInt(date[0], 10),\r\n year: parseInt(date[2], 10),\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct | null): string {\r\n return date\r\n ? date.month.toString().padStart(2, '0') +\r\n this.DELIMITER +\r\n date.day.toString().padStart(2, '0') +\r\n this.DELIMITER +\r\n date.year\r\n : '';\r\n }\r\n}\r\n","import {\r\n Component,\r\n AfterViewInit,\r\n EventEmitter,\r\n Output,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ApplicationPaths } from 'api-authorization/api-authorization.constants';\r\nimport {\r\n NgbModal,\r\n ModalDismissReasons,\r\n NgbPanelChangeEvent,\r\n NgbCarouselConfig,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { AuthorizeService, IUser } from 'api-authorization/authorize.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { StringConstants, UserRoles } from 'src/app/utils/string-constants';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-navigation',\r\n templateUrl: './navigation.component.html',\r\n})\r\nexport class NavigationComponent implements OnInit {\r\n @Output() toggleSidebar = new EventEmitter();\r\n\r\n public config: PerfectScrollbarConfigInterface = {};\r\n\r\n public showSearch = false;\r\n public userdata;\r\n isReadOnly = true;\r\n isAdmin = false;\r\n isAgent = false;\r\n\r\n constructor(private modalService: NgbModal, private auth: AuthorizeService) {}\r\n\r\n // This is for Notifications\r\n notifications: Object[] = [\r\n {\r\n btn: 'btn-danger',\r\n icon: 'ti-link',\r\n title: 'Luanch Admin',\r\n subject: 'Just see the my new admin!',\r\n time: '9:30 AM',\r\n },\r\n {\r\n btn: 'btn-success',\r\n icon: 'ti-calendar',\r\n title: 'Event today',\r\n subject: 'Just a reminder that you have event',\r\n time: '9:10 AM',\r\n },\r\n {\r\n btn: 'btn-info',\r\n icon: 'ti-settings',\r\n title: 'Settings',\r\n subject: 'You can customize this template as you want',\r\n time: '9:08 AM',\r\n },\r\n {\r\n btn: 'btn-primary',\r\n icon: 'ti-user',\r\n title: 'Pavan kumar',\r\n subject: 'Just see the my admin!',\r\n time: '9:00 AM',\r\n },\r\n ];\r\n\r\n // This is for Mymessages\r\n mymessages: Object[] = [\r\n {\r\n useravatar: 'assets/images/users/1.jpg',\r\n status: 'online',\r\n from: 'Pavan kumar',\r\n subject: 'Just see the my admin!',\r\n time: '9:30 AM',\r\n },\r\n {\r\n useravatar: 'assets/images/users/2.jpg',\r\n status: 'busy',\r\n from: 'Sonu Nigam',\r\n subject: 'I have sung a song! See you at',\r\n time: '9:10 AM',\r\n },\r\n {\r\n useravatar: 'assets/images/users/2.jpg',\r\n status: 'away',\r\n from: 'Arijit Sinh',\r\n subject: 'I am a singer!',\r\n time: '9:08 AM',\r\n },\r\n {\r\n useravatar: 'assets/images/users/4.jpg',\r\n status: 'offline',\r\n from: 'Pavan kumar',\r\n subject: 'Just see the my admin!',\r\n time: '9:00 AM',\r\n },\r\n ];\r\n\r\n ngOnInit() {\r\n this.auth.getUser().subscribe((data) => {\r\n this.userdata = data;\r\n if (data == null) {\r\n window.location.href = window.location.href;\r\n } else {\r\n this.isReadOnly = (data as any)?.role?.includes(UserRoles.Employee) ?? true;\r\n this.isAdmin = (data as any)?.role?.includes(UserRoles.Administrator) ?? false;\r\n this.isAgent = (data as any)?.role?.includes(UserRoles.Agent) ?? false;\r\n }\r\n });\r\n }\r\n\r\n handleLogout() {\r\n }\r\n}\r\n","\r\n\r\n\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n
\r\n\r\n\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
  • \r\n \r\n \"user\"\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"user\"\r\n
    \r\n
    \r\n

    {{userdata?.Firstname}} {{userdata?.Lastname}}

    \r\n

    {{userdata?.email}}

    \r\n
    \r\n
    \r\n \r\n \r\n Logout\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport 'rxjs/add/operator/do';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\nimport { environment } from '../../environments/environment';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class SessionCheckInterceptor implements HttpInterceptor {\r\n sessionTimeCount = 60 * 1000;\r\n timer;\r\n constructor(private router: Router) {\r\n this.sessionTimeCount = (environment.sessionTimeOut - 1) * this.sessionTimeCount;\r\n this.resetTimer();\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).do((event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n this.resetTimer()\r\n }\r\n });\r\n }\r\n\r\n logout() {\r\n var self = this;\r\n let timerInterval\r\n Swal.fire({\r\n title: 'You are about to be signed out',\r\n html: 'Due to inactivity, you will be signed out in seconds.',\r\n timer: 1*60*1000,\r\n timerProgressBar: true,\r\n showCancelButton:true,\r\n cancelButtonText:'Stay Signed In',\r\n cancelButtonColor:'#3085d6',\r\n didOpen: () => {\r\n Swal.showLoading()\r\n timerInterval = setInterval(() => {\r\n const content = Swal.getContent()\r\n if (content) {\r\n const b = content.querySelector('b')\r\n if (b) {\r\n (b as any).textContent = Math.floor(Swal.getTimerLeft()/1000 % 60)\r\n }\r\n }\r\n }, 100)\r\n },\r\n willClose: () => {\r\n clearInterval(timerInterval);\r\n // this.router.navigateByUrl('/login');\r\n }\r\n }).then((result) => {\r\n /* Read more about handling dismissals below */\r\n if (result.dismiss === Swal.DismissReason.timer) {\r\n this.router.navigateByUrl('/authentication/logout',{state:{local:true,returnUrl:'inactive'}});\r\n } else {\r\n this.resetTimer();\r\n }\r\n })\r\n }\r\n resetTimer() {\r\n if (this.timer)\r\n clearTimeout(this.timer);\r\n this.timer = setTimeout(() => {this.logout()}, this.sessionTimeCount);\r\n }\r\n}\r\n","import { RouteInfo } from './sidebar.metadata';\r\nimport { UserRoles } from 'src/app/utils/string-constants';\r\n\r\nexport const ROUTES: RouteInfo[] = [\r\n //{\r\n // path: '/dashboard',\r\n // title: 'Dashboard',\r\n // icon: 'fas fa-tachometer-alt',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [\r\n // // {\r\n // // path: '/dashboard/functionalhead',\r\n // // title: 'Overall Dashboard',\r\n // // icon: '',\r\n // // class: '',\r\n // // extralink: false,\r\n // // submenu: [],\r\n // // roles:[UserRoles.Administrator,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,UserRoles.Developer, UserRoles.DeliveryManager]\r\n // // },\r\n // // {\r\n // // path: '/dashboard/organizationalimpact',\r\n // // title: 'Organizational Impact Dashboard',\r\n // // icon: '',\r\n // // class: '',\r\n // // extralink: false,\r\n // // submenu: [],\r\n // // roles:[UserRoles.Administrator,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,UserRoles.Developer, UserRoles.DeliveryManager]\r\n // // },\r\n // // {\r\n // // path: '/dashboard/projectstatus',\r\n // // title: 'Project Status Dashboard',\r\n // // icon: '',\r\n // // class: '',\r\n // // extralink: false,\r\n // // submenu: [],\r\n // // roles:[UserRoles.Administrator,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,UserRoles.Developer, UserRoles.DeliveryManager]\r\n // // },\r\n // // {\r\n // // path: '/dashboard/budget',\r\n // // title: 'Budget Dashboard',\r\n // // icon: '',\r\n // // class: '',\r\n // // extralink: false,\r\n // // submenu: [],\r\n // // roles:[UserRoles.Administrator,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,UserRoles.Developer, UserRoles.DeliveryManager]\r\n // // },\r\n // ],\r\n // roles:[UserRoles.Administrator,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,UserRoles.Developer, UserRoles.DeliveryManager]\r\n //},\r\n // {\r\n // path: '/projects',\r\n // title: 'Projects',\r\n // icon: 'ti-ticket',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator,UserRoles.Employee,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,,UserRoles.Developer, UserRoles.DeliveryManager]\r\n // },\r\n \r\n\r\n // {\r\n // path: '/assets',\r\n // title: 'Assets',\r\n // icon: 'ti-harddrives',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator,UserRoles.Employee,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,,UserRoles.Developer, UserRoles.DeliveryManager]\r\n // },\r\n // ,\r\n // {\r\n // path: '/catalog',\r\n // title: 'Product Catalog',\r\n // icon: 'fas fa-cubes',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator,UserRoles.Employee,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,,UserRoles.Developer, UserRoles.DeliveryManager]\r\n // },\r\n // {\r\n // path: '/reports',\r\n // title: 'Reports',\r\n // icon: 'ti-bar-chart',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator]\r\n // },\r\n // {\r\n // path: '',\r\n // title: 'Configuration',\r\n // icon: 'sl-icon-settings',\r\n // class: '',\r\n // extralink: true,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator]\r\n // },\r\n {\r\n path: '/home',\r\n title: 'Home',\r\n icon: 'ti-home',\r\n class: '',\r\n extralink: false,\r\n submenu: [],\r\n roles:[UserRoles.Administrator,UserRoles.Employee,UserRoles.Agent,UserRoles.SystemManager,UserRoles.BA,,UserRoles.QA,,UserRoles.Developer, UserRoles.DeliveryManager]\r\n },\r\n {\r\n path: '/users',\r\n title: 'Users',\r\n icon: 'ti-user',\r\n class: '',\r\n extralink: false,\r\n submenu: [],\r\n roles:[UserRoles.Administrator]\r\n },\r\n // {\r\n // path: '/admin/usergroups/list',\r\n // title: 'User Groups',\r\n // icon: 'sl-icon-people',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator]\r\n // },\r\n //{\r\n // path: '/admin/emails',\r\n // title: 'Email Templates',\r\n // icon: 'ti-email',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator]\r\n //},\r\n // {\r\n // path: '/admin/customfields',\r\n // title: 'Custom Fields',\r\n // icon: 'mdi mdi-dns',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator]\r\n // },\r\n // {\r\n // path: '/admin/ticketcategories',\r\n // title: 'Project Categories',\r\n // icon: 'mdi mdi-notification-clear-all',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator]\r\n // },\r\n // {\r\n // path: '/admin/rules',\r\n // title: 'Assignment Rules',\r\n // icon: 'fas fa-sitemap fa-rotate-90',\r\n // class: '',\r\n // extralink: false,\r\n // submenu: [],\r\n // roles:[UserRoles.Administrator]\r\n // }\r\n];\r\n","import { Component, AfterViewInit, OnInit } from \"@angular/core\";\r\nimport { ROUTES } from \"./menu-items\";\r\nimport { RouteInfo } from \"./sidebar.metadata\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { AuthorizeService } from \"api-authorization/authorize.service\";\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-sidebar\",\r\n templateUrl: \"./sidebar.component.html\",\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n showMenu = \"\";\r\n showSubMenu = \"\";\r\n public sidebarnavItems: any[];\r\n userdata;\r\n // this is for the open close\r\n addExpandClass(element: any) {\r\n if (element === this.showMenu) {\r\n this.showMenu = \"0\";\r\n } else {\r\n this.showMenu = element;\r\n }\r\n }\r\n addActiveClass(element: any) {\r\n if (element === this.showSubMenu) {\r\n this.showSubMenu = \"0\";\r\n } else {\r\n this.showSubMenu = element;\r\n }\r\n }\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private auth: AuthorizeService\r\n ) {}\r\n\r\n // End open close\r\n ngOnInit() {\r\n this.auth.getUser().subscribe((data) => {\r\n this.userdata = data;\r\n this.sidebarnavItems = ROUTES.filter((sidebarnavItem) => sidebarnavItem);\r\n this.sidebarnavItems = this.sidebarnavItems.filter((el) =>\r\n el.roles.some((r) => this.userdata.role.includes(r))\r\n );\r\n });\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { FullComponent } from './layouts/full/full.component';\r\nimport { AuthorizeGuard } from 'api-authorization/authorize.guard';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: FullComponent,\r\n canActivate: [AuthorizeGuard],\r\n children: [\r\n { path: '', redirectTo: '/home', pathMatch: 'full' },\r\n {\r\n path: 'home',\r\n loadChildren: () =>\r\n import('./home/home.module').then(\r\n (m) => m.HomeModule\r\n ),\r\n },\r\n // {\r\n // path: 'assets',\r\n // loadChildren: () =>\r\n // import('./assets/assets.module').then((m) => m.AssetsModule),\r\n // },\r\n // {\r\n // path: 'projects',\r\n // loadChildren: () =>\r\n // import('./tickets/tickets.module').then((m) => m.TicketsModule),\r\n // },\r\n {\r\n path: 'users',\r\n loadChildren: () =>\r\n import('./users/users.module').then((m) => m.UsersModule),\r\n },\r\n // {\r\n // path: 'catalog',\r\n // loadChildren: () =>\r\n // import('./product-catalog/product-catalog.module').then(\r\n // (m) => m.ProductCatalogModule\r\n // ),\r\n // },\r\n // {\r\n // path: 'admin',\r\n // loadChildren: () =>\r\n // import('./admin/admin.module').then((m) => m.AdminModule),\r\n // },\r\n // {\r\n // path: 'reports',\r\n // loadChildren: () =>\r\n // import('./appreports/appreports.module').then(\r\n // (m) => m.AppreportsModule\r\n // ),\r\n // },\r\n ],\r\n },\r\n // { path: '**', redirectTo: 'tickets', pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthorizeService } from './authorize.service';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizeInterceptor implements HttpInterceptor {\r\n constructor(private authorize: AuthorizeService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n return this.authorize.getAccessToken()\r\n .pipe(mergeMap(token => this.processRequestWithToken(token, req, next)));\r\n }\r\n\r\n // Checks if there is an access_token available in the authorize service\r\n // and adds it to the request in case it's targeted at the same origin as the\r\n // single page application.\r\n private processRequestWithToken(token: string, req: HttpRequest, next: HttpHandler) {\r\n //if (!!token && this.isSameOriginUrl(req)) {\r\n if (!!token) {\r\n req = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(req).pipe(tap(() => { },\r\n (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status !== 401) {\r\n return;\r\n }\r\n window.location.href = window.location.href;\r\n }\r\n }));\r\n }\r\n\r\n private isSameOriginUrl(req: any) {\r\n // It's an absolute url with the same origin.\r\n if (req.url.startsWith(`${window.location.origin}/`)) {\r\n return true;\r\n }\r\n\r\n // It's a protocol relative url with the same origin.\r\n // For example: //www.example.com/api/Products\r\n if (req.url.startsWith(`//${window.location.host}/`)) {\r\n return true;\r\n }\r\n\r\n // It's a relative url like /api/Products\r\n if (/^\\/[^\\/].*/.test(req.url)) {\r\n return true;\r\n }\r\n\r\n // It's an absolute or protocol relative url that\r\n // doesn't have the same origin.\r\n return false;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CustomFieldComponent } from './custom-field/custom-field.component';\r\nimport { CustomFormComponent } from './custom-form/custom-form.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CustomFieldComponent, CustomFormComponent],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [CustomFieldComponent, CustomFormComponent]\r\n})\r\nexport class CustomUIModule { }\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","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 = \"zn8P\";"],"sourceRoot":"webpack:///"}