{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/ErrorHandling.ts","./src/app/app.component.css","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/admin-connect-detail/admin-connect-detail.component.css","./src/app/components/admin-connect-detail/admin-connect-detail.component.html","./src/app/components/admin-connect-detail/admin-connect-detail.component.ts","./src/app/components/admin-connect-list/admin-connect-list.component.css","./src/app/components/admin-connect-list/admin-connect-list.component.html","./src/app/components/admin-connect-list/admin-connect-list.component.ts","./src/app/components/download-log/download-log.component.css","./src/app/components/download-log/download-log.component.html","./src/app/components/download-log/download-log.component.ts","./src/app/components/downloads/downloads.component.css","./src/app/components/downloads/downloads.component.html","./src/app/components/downloads/downloads.component.ts","./src/app/components/freshdesk/freshdesk.component.css","./src/app/components/freshdesk/freshdesk.component.html","./src/app/components/freshdesk/freshdesk.component.ts","./src/app/components/qa-sessions-list/qa-sessions-list.component.css","./src/app/components/qa-sessions-list/qa-sessions-list.component.html","./src/app/components/qa-sessions-list/qa-sessions-list.component.ts","./src/app/components/region-selection/region-selection.component.css","./src/app/components/region-selection/region-selection.component.html","./src/app/components/region-selection/region-selection.component.ts","./src/app/components/signout/signout.component.css","./src/app/components/signout/signout.component.html","./src/app/components/signout/signout.component.ts","./src/app/components/training-session-detail/training-session-detail.component.css","./src/app/components/training-session-detail/training-session-detail.component.html","./src/app/components/training-session-detail/training-session-detail.component.ts","./src/app/components/training-sessions-list/training-sessions-list.component.css","./src/app/components/training-sessions-list/training-sessions-list.component.html","./src/app/components/training-sessions-list/training-sessions-list.component.ts","./src/app/components/training-user-detail/training-user-detail.component.css","./src/app/components/training-user-detail/training-user-detail.component.html","./src/app/components/training-user-detail/training-user-detail.component.ts","./src/app/components/userConnect/userConnect.component.css","./src/app/components/userConnect/userConnect.component.html","./src/app/components/userConnect/userConnect.component.ts","./src/app/components/view/view.component.css","./src/app/components/view/view.component.html","./src/app/components/view/view.component.ts","./src/app/guards/isAdmin.ts","./src/app/models/computerState.ts","./src/app/models/evaluation-model.ts","./src/app/models/evaluationState.ts","./src/app/models/filenode.ts","./src/app/models/periodStatus.ts","./src/app/pipes/resourceDeploymentStatePipe.ts","./src/app/services/GI.Web.Services.g.ts","./src/app/services/current-user.service.ts","./src/app/services/evaluation-system.service.ts","./src/app/services/file.service.ts","./src/app/services/rdp.service.ts","./src/app/services/validation.service.ts","./src/environments/environment.prod.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","import { Message } from 'primeng/api';\r\n\r\nexport class ErrorHandling {\r\n public static getErrorMessages(error: any, summary: string = null): Message[] {\r\n let message = 'Unknown error';\r\n try {\r\n const exception = JSON.parse(error.response);\r\n message = exception.message;\r\n } catch (parsingError) {\r\n console.error('Error attempting to deserialize error.response from: ', error);\r\n // TODO: Track the error getting the error message\r\n }\r\n return [{\r\n severity: 'error',\r\n summary: summary ? summary : message,\r\n detail: summary ? message : null\r\n }];\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/ErrorHandling.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = ./src/app/app.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Product Downloads

\\r\\n

Installations and Upgrades

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = ./src/app/app.component.html\n// module chunks = main","import { Component, OnInit, OnDestroy, NgZone } from '@angular/core';\r\nimport { FileService } from './services/file.service';\r\nimport { DialogModule } from 'primeng/primeng';\r\n// import { JwtHelper } from 'angular2-jwt';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { IsAdmin } from './guards/isAdmin';\r\nimport { ActivatedRoute, Router, NavigationStart } from '@angular/router';\r\nimport { FreshdeskComponent } from './components/freshdesk/freshdesk.component';\r\nimport { AppInsightsService } from 'ng2-appinsights';\r\nimport { BroadcastService, MsalService } from '@azure/msal-angular';\r\nimport { User } from 'msal';\r\nimport { environment } from '../environments/environment.prod';\r\n// import { BroadcastService } from '@azure/msal-angular';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n providers: [FileService]\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n constructor(\r\n private _adminGuard: IsAdmin,\r\n private _router: Router,\r\n private _aiService: AppInsightsService,\r\n private _loginBroadcast: BroadcastService,\r\n private _msalService: MsalService\r\n ) { }\r\n private _subscription: Subscription;\r\n private _user: User;\r\n public isAdmin: boolean;\r\n public showDownloads = false;\r\n\r\n ngOnInit(): void {\r\n // Initialize the App Insights Service\r\n this._aiService.Init(environment.applicationInsights);\r\n\r\n this._user = this._msalService.getUser();\r\n const user = this._user;\r\n if (user) {\r\n this._aiService.setAuthenticatedUserContext(user.idToken['signInNames.emailAddress']);\r\n }\r\n\r\n // console.log(this._user);\r\n // console.log(user.idToken[\"signInNames.emailAddress\"]);\r\n\r\n let w: any;\r\n w = window;\r\n const appInsights = w.appInsights;\r\n\r\n appInsights.queue.push(function () {\r\n appInsights.context.addTelemetryInitializer(function (envelope) {\r\n const telemetryItem = envelope.data.baseData;\r\n\r\n // if (telemetryItem.exceptions && telemetryItem.exceptions.length>0){\r\n // var exception = telemetryItem.exceptions[0];\r\n // //we think this may not be a real error\r\n // if (exception.message.includes(\"No JWT present or has expired\")){\r\n // return false;\r\n // }\r\n // }\r\n\r\n // // To set custom properties:\r\n telemetryItem.properties = telemetryItem.properties || {};\r\n if (user != null) {\r\n telemetryItem.properties['user'] = user.idToken['signInNames.emailAddress'];\r\n }\r\n\r\n });\r\n });\r\n\r\n\r\n this._router.events.subscribe((e: NavigationStart) => {\r\n if (e instanceof NavigationStart && e.url !== '/') {\r\n this._adminGuard.canActivate().subscribe(a => this.isAdmin = a);\r\n }\r\n if (e instanceof NavigationStart && e.url.startsWith('/downloads')) {\r\n this.showDownloads = true;\r\n }\r\n });\r\n\r\n // this._loginBroadcast.subscribe(\"msal:loginSuccess\", (payload) => {\r\n // console.log(payload);\r\n // });\r\n\r\n this._subscription = this._loginBroadcast.subscribe('msal:loginFailure', (payload) => {\r\n if (payload.errorDesc != null && payload.errorDesc.startsWith('AADB2C90118')) {// password reset\r\n const currentLocation = encodeURIComponent(window.location.href.replace(window.location.hash, ''));\r\n // tslint:disable-next-line:max-line-length\r\n window.location.href =\r\n 'https://geoinsightsbtc.b2clogin.com/geoinsightsbtc.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1A_PasswordReset&client_id=671488aa-7088-4591-9aba-698d56a10fc3&nonce=defaultNonce&redirect_uri='\r\n + currentLocation + '&scope=openid&response_type=id_token&prompt=login';\r\n }\r\n if (payload.errorDesc != null && payload.errorDesc.startsWith('AADB2C90091')) {// cancel password reset\r\n window.location.href = window.location.origin;\r\n }\r\n // console.log(payload);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._loginBroadcast.getMSALSubject().next(1);\r\n if (this._subscription) {\r\n this._subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\nimport { DataTableModule } from 'primeng/datatable'; // Deprecated, to be removed when all instances are upgraded to Table\r\nimport { MsalModule, MsalGuard, MsalInterceptor } from '@azure/msal-angular';\r\nimport { SharedModule } from 'primeng/shared';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { TableModule } from 'primeng/table';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { ChipsModule } from 'primeng/chips';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { FieldsetModule } from 'primeng/fieldset';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppComponent } from './app.component';\r\nimport { MarkdownModule } from 'angular2-markdown';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DownloadsComponent } from './components/downloads/downloads.component';\r\nimport { ViewComponent } from './components/view/view.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CurrentUserService } from './services/current-user.service';\r\nimport { DownloadLogComponent } from './components/download-log/download-log.component';\r\nimport { IsAdmin } from './guards/isAdmin';\r\nimport { SignoutComponent } from './components/signout/signout.component';\r\nimport { FreshdeskComponent } from './components/freshdesk/freshdesk.component';\r\nimport { AppInsightsModule } from 'ng2-appinsights';\r\nimport { AdminConnectListComponent } from './components/admin-connect-list/admin-connect-list.component';\r\nimport { AdminConnectDetailComponent } from './components/admin-connect-detail/admin-connect-detail.component';\r\nimport { UserConnectComponent } from './components/userConnect/userConnect.component';\r\nimport { EvaluationSystemService } from './services/evaluation-system.service';\r\nimport { TrainingSessionsListComponent } from './components/training-sessions-list/training-sessions-list.component';\r\nimport { TrainingSessionDetailComponent } from './components/training-session-detail/training-session-detail.component';\r\nimport { TrainingUserDetailComponent } from './components/training-user-detail/training-user-detail.component';\r\nimport { TrainingSessionService, TrainingSessionUserService, TrainingCloudActivityService, FilesService, EvaluationService, RegionsService, QaSessionService } from './services/GI.Web.Services.g';\r\nimport { ValidationService } from './services/validation.service';\r\nimport { RdpService } from './services/rdp.service';\r\nimport { ResourceDeploymentStateToStringPipe } from './pipes/resourceDeploymentStatePipe';\r\nimport { LogLevel } from 'msal';\r\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { RegionSelectionComponent } from './components/region-selection/region-selection.component';\r\nimport { QaSessionsListComponent } from './components/qa-sessions-list/qa-sessions-list.component';\r\nimport {AadAuthority} from \"msal/lib-commonjs/AadAuthority\";\r\n\r\n//let AadAuthority:any;\r\n(AadAuthority).TrustedHostList = {\r\n \"login.windows.net\": \"login.windows.net\",\r\n \"login.chinacloudapi.cn\": \"login.chinacloudapi.cn\",\r\n \"login.cloudgovapi.us\": \"login.cloudgovapi.us\",\r\n \"login.microsoftonline.com\": \"login.microsoftonline.com\",\r\n \"login.microsoftonline.de\": \"login.microsoftonline.de\",\r\n \"login.microsoftonline.us\": \"login.microsoftonline.us\",\r\n \"geoinsightsbtc.b2clogin.com\": \"geoinsightsbtc.b2clogin.com\"\r\n}\r\n\r\nconst appRoutes: Routes = [\r\n { path: 'downloads', component: DownloadsComponent, canActivate: [MsalGuard] },\r\n { path: 'downloadLog', component: DownloadLogComponent, canActivate: [MsalGuard] },\r\n { path: 'view/:file', component: ViewComponent, canActivate: [MsalGuard] },\r\n { path: 'signout', component: SignoutComponent },\r\n { path: 'adminconnectlist', component: AdminConnectListComponent, canActivate: [MsalGuard] },\r\n { path: 'evaluations', component: AdminConnectListComponent, canActivate: [MsalGuard] },\r\n { path: 'adminconnectdetail/:id', component: AdminConnectDetailComponent, canActivate: [MsalGuard] },\r\n { path: 'userconnect', component: UserConnectComponent, canActivate: [MsalGuard] },\r\n { path: 'trainingsessions', component: TrainingSessionsListComponent, canActivate: [MsalGuard] },\r\n { path: 'trainingsession/:id', component: TrainingSessionDetailComponent, canActivate: [MsalGuard] },\r\n { path: 'usertraining/:studentId', component: TrainingUserDetailComponent },\r\n { path: 'qa', component: QaSessionsListComponent, canActivate: [MsalGuard] },\r\n {\r\n path: '',\r\n component: FreshdeskComponent,\r\n pathMatch: 'full',\r\n canActivate: [MsalGuard]\r\n }\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DownloadsComponent,\r\n ViewComponent,\r\n SignoutComponent,\r\n FreshdeskComponent,\r\n DownloadLogComponent,\r\n AdminConnectListComponent,\r\n AdminConnectDetailComponent,\r\n UserConnectComponent,\r\n TrainingSessionsListComponent,\r\n TrainingSessionDetailComponent,\r\n TrainingUserDetailComponent,\r\n ResourceDeploymentStateToStringPipe,\r\n RegionSelectionComponent,\r\n QaSessionsListComponent,\r\n ],\r\n imports: [\r\n MarkdownModule.forRoot(),\r\n RouterModule.forRoot(\r\n appRoutes,\r\n { enableTracing: false } // <-- debugging purposes only\r\n ),\r\n MsalModule.forRoot({\r\n clientID: '671488aa-7088-4591-9aba-698d56a10fc3',\r\n authority: 'https://geoinsightsbtc.b2clogin.com/tfp/geoinsightsbtc.onmicrosoft.com/b2c_1a_signup_signin',\r\n consentScopes: ['https://geoinsightsbtc.onmicrosoft.com/gidownload/demo.read', 'openid'],\r\n unprotectedResources: ['api/TrainingSessionUser/'],\r\n popUp: false,\r\n level: LogLevel.Verbose,\r\n piiLoggingEnabled: true,\r\n cacheLocation: 'localStorage',\r\n redirectUri: window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '')// \"http://localhost:4200/\"\r\n }),\r\n BrowserModule,\r\n SharedModule,\r\n TreeTableModule,\r\n TableModule,\r\n DataTableModule,\r\n ButtonModule,\r\n FormsModule,\r\n DialogModule,\r\n InputTextModule,\r\n CalendarModule,\r\n CardModule,\r\n MultiSelectModule,\r\n ProgressBarModule,\r\n MessagesModule,\r\n PasswordModule,\r\n ChipsModule,\r\n DropdownModule,\r\n ConfirmDialogModule,\r\n TooltipModule,\r\n ProgressSpinnerModule,\r\n FieldsetModule,\r\n CheckboxModule,\r\n InputSwitchModule,\r\n BrowserAnimationsModule,\r\n AppInsightsModule,\r\n HttpClientModule\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true\r\n },\r\n CurrentUserService,\r\n FilesService,\r\n IsAdmin,\r\n EvaluationService,\r\n EvaluationSystemService,\r\n ConfirmationService,\r\n TrainingSessionService,\r\n TrainingSessionUserService,\r\n TrainingCloudActivityService,\r\n ValidationService,\r\n QaSessionService,\r\n RdpService,\r\n RegionsService,\r\n ResourceDeploymentStateToStringPipe // In providers also since used like a service in component class in addition to template\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/admin-connect-detail/admin-connect-detail.component.css\n// module id = ./src/app/components/admin-connect-detail/admin-connect-detail.component.css\n// module chunks = main","module.exports = \"

Paradise Cloud Administration

\\r\\n
\\r\\n
\\r\\n
\\r\\n Loading ...\\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 \\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\\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 {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Server\\r\\n Client\\r\\n {{computer.state}}\\r\\n {{computer.user}}\\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
{{item}}
\\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
\\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
\\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
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/admin-connect-detail/admin-connect-detail.component.html\n// module id = ./src/app/components/admin-connect-detail/admin-connect-detail.component.html\n// module chunks = main","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Message, ConfirmationService, SelectItem } from 'primeng/api';\r\nimport { saveAs } from 'file-saver';\r\n\r\nimport { EvaluationSystemService } from '../../services/evaluation-system.service';\r\nimport { EvaluationModel } from '../../models/evaluation-model';\r\nimport { ValidationService } from '../../services/validation.service';\r\nimport { RdpService } from '../../services/rdp.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { FileService } from '../../services/file.service';\r\nimport { IsAdmin } from '../../guards/isAdmin';\r\nimport { Computer, EvaluationService, StartEvaluationParameters } from '../../services/GI.Web.Services.g';\r\nimport { ComputerStates } from '../../models/computerState';\r\nimport { EvaluationStates } from '../../models/evaluationState';\r\nimport { ErrorHandling } from '../../ErrorHandling';\r\n\r\n@Component({\r\n selector: 'app-admin-connect-detail',\r\n templateUrl: './admin-connect-detail.component.html',\r\n styleUrls: ['./admin-connect-detail.component.css']\r\n})\r\nexport class AdminConnectDetailComponent implements OnInit, OnDestroy {\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _router: Router,\r\n private _evaluationService: EvaluationService,\r\n private _evaluationSystemService: EvaluationSystemService,\r\n private _confirmationService: ConfirmationService,\r\n private _fileService: FileService,\r\n private _validationService: ValidationService,\r\n private _rdpService: RdpService,\r\n public _adminGuard: IsAdmin) { }\r\n\r\n private _id: string;\r\n public evaluation: EvaluationModel = null;\r\n public userToAdd: string;\r\n public noteToAdd: string;\r\n public isNew = false;\r\n public errorMessages: Message[] = [];\r\n public stateMessages: Message[] = [];\r\n public showStartEvalDialog = false;\r\n public startingEval = false;\r\n public passwordVerification: string = null;\r\n private viewInitialized = false;\r\n private saveStartDialogButtonEvent: Observable;\r\n public computers: Computer[] = [];\r\n public cols: any[] = [];\r\n public computerStates: any = ComputerStates;\r\n public creating = false;\r\n public updating = false;\r\n public paradiseVersions: SelectItem[] = [];\r\n public revealList: string[] = [];\r\n public loading = true;\r\n private stopRefreshing = false;\r\n public emailInvalid = false;\r\n public userNameConditions: string[] = ['\\\\', '/', '\"', '[', ']', ':', '|', '<', '>', '+', '=', ';', ',', '?', '*', '@'];\r\n public userNameInvalid = false;\r\n public passwordInvalid = false;\r\n\r\n // Binding UI to parallel properties because this.evaluation gets set when polling for updates in this.refreshEvaluation()\r\n public updateDisplayName: string;\r\n public updateStart: Date;\r\n public updateEnd: Date;\r\n public updateHours: number;\r\n public updateNotes: string;\r\n\r\n\r\n ngOnInit() {\r\n this._adminGuard.canActivate();\r\n this._route.params.subscribe(params => {\r\n this._id = params['id'];\r\n if (!this._id || this._id === 'new') {\r\n this.getParadiseVersions();\r\n this.createNewEvaluation();\r\n }\r\n else {\r\n this.getEvaluationDetails(this._id);\r\n }\r\n });\r\n }\r\n\r\n async getEvaluationDetails(id: string) {\r\n try {\r\n this.evaluation = await this._evaluationSystemService.getEvaluation(id).toPromise();\r\n this.initializeComputers();\r\n this.initializeUpdateProperties();\r\n this.setColumns();\r\n this.checkIfElementsReady();\r\n if (this.evaluation.state === EvaluationStates.deploying) {\r\n this.updateMessageBannerForDeployment(EvaluationStates.deploying);\r\n }\r\n // Always start refresh\r\n this.refreshEvaluation();\r\n this.loading = false;\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n refreshEvaluation() {\r\n if (!this.stopRefreshing) {\r\n this._evaluationSystemService.getEvaluation(this.evaluation.name).subscribe(result => {\r\n if (result.state !== this.evaluation.state) {\r\n this.updateMessageBannerForDeployment(result.state);\r\n }\r\n this.startingEval = false; // unclear disable of button while waiting for 1rst refresh\r\n this.evaluation = result;\r\n this.updateComputers();\r\n setTimeout(() => this.refreshEvaluation(), environment.pollTime);\r\n // alert(\"refreshing\");\r\n });\r\n }\r\n }\r\n\r\n initializeComputers() {\r\n this.computers = [];\r\n if (this.evaluation.server) {\r\n this.computers.push(this.evaluation.server);\r\n }\r\n this.evaluation.clients.forEach(client => {\r\n this.computers.push(client);\r\n });\r\n }\r\n\r\n updateComputers() {\r\n if (this.evaluation.server) {\r\n // When creating, no computers are set so, initialize\r\n if (this.computers == null || !(this.computers.length)) {\r\n this.initializeComputers();\r\n }\r\n\r\n const server = this.computers.find(c => c.isServer);\r\n this.updateComputerState(this.evaluation.server.state, server);\r\n\r\n this.evaluation.clients.forEach(client => {\r\n const targetComputer = this.computers.find(computer => computer.resourceId === client.resourceId);\r\n this.updateComputerState(client.state, targetComputer);\r\n });\r\n }\r\n }\r\n\r\n updateComputerState(newState: string, targetComputer: Computer) {\r\n for (const computer of this.computers) {\r\n if (computer.resourceId === targetComputer.resourceId) {\r\n // Since view is ahead of server response only update under the following conditions\r\n if (newState === ComputerStates.starting && (computer.state === ComputerStates.stopped || computer.state === ComputerStates.unknown)) {\r\n computer.state = ComputerStates.starting;\r\n this.updateMessageBannerForClientState(ComputerStates.starting, computer.computerName);\r\n }\r\n else if (newState === ComputerStates.running && (computer.state === ComputerStates.starting || computer.state === ComputerStates.unknown)) {\r\n computer.state = ComputerStates.running;\r\n // Also update IP Address on running instances\r\n this.updateIPAddress(computer);\r\n this.updateMessageBannerForClientState(ComputerStates.running, computer.computerName);\r\n }\r\n else if (newState === ComputerStates.stopping && (computer.state === ComputerStates.running || computer.state === ComputerStates.unknown)) {\r\n computer.state = ComputerStates.stopping;\r\n this.updateMessageBannerForClientState(ComputerStates.stopping, computer.computerName);\r\n }\r\n else if (newState === ComputerStates.stopped && (computer.state === ComputerStates.stopping || computer.state === ComputerStates.unknown)) {\r\n computer.state = ComputerStates.stopped;\r\n this.updateMessageBannerForClientState(ComputerStates.stopped, computer.computerName);\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateIPAddress(targetComputer: Computer) {\r\n if (targetComputer.isServer) {\r\n targetComputer.ipAddress = this.evaluation.server.ipAddress;\r\n }\r\n else {\r\n this.evaluation.clients.forEach(client => {\r\n if (client.resourceId === targetComputer.resourceId) {\r\n targetComputer.ipAddress = client.ipAddress;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getParadiseVersions() {\r\n const paradiseVersions = [];\r\n this._fileService.getFilesFull(true, true, true, null).subscribe(results => {\r\n if (results) {\r\n const versions = results[1];\r\n versions.forEach(version => {\r\n if (version.name.includes('ParadiseSetup')) {\r\n const beginningIndex = ('Paradise/').length;\r\n const endindingIndex = version.name.indexOf('/', beginningIndex);\r\n if (version.beta) {\r\n this.paradiseVersions.push({\r\n label: version.name.substring(beginningIndex, endindingIndex) + ' (beta)',\r\n value: version.name.substring(beginningIndex, endindingIndex)\r\n });\r\n }\r\n else if (version.archive) {\r\n this.paradiseVersions.push({\r\n label: version.name.substring(beginningIndex, endindingIndex) + ' (archived)',\r\n value: version.name.substring(beginningIndex, endindingIndex)\r\n });\r\n }\r\n else {\r\n this.paradiseVersions.push({\r\n label: version.name.substring(beginningIndex, endindingIndex),\r\n value: version.name.substring(beginningIndex, endindingIndex)\r\n });\r\n }\r\n\r\n // set default version based on current release\r\n if (version.release && !version.archive && !version.beta) {\r\n this.evaluation.paradiseVersion = version.name.substring(beginningIndex, endindingIndex);\r\n }\r\n }\r\n\r\n });\r\n this.paradiseVersions.sort((a, b) => {\r\n const aValue = this.calculateVersionValue(a.label);\r\n const bValue = this.calculateVersionValue(b.label);\r\n if (aValue > bValue) {\r\n return 1;\r\n }\r\n if (aValue < bValue) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n this.loading = false;\r\n }\r\n\r\n });\r\n }\r\n\r\n calculateVersionValue(version: string): number {\r\n const firstPeriodIndex = version.indexOf('.');\r\n const secondPeriodIndex = version.lastIndexOf('.');\r\n const hundredThousands = parseInt(version.substring(0, firstPeriodIndex), 10) * 100000;\r\n const thousands = parseInt(version.substring(firstPeriodIndex + 1, secondPeriodIndex), 10) * 10000;\r\n const ones = parseInt(version.substring(secondPeriodIndex + 1), 10);\r\n return hundredThousands + thousands + ones;\r\n }\r\n\r\n initializeUpdateProperties() {\r\n this.updateDisplayName = this.evaluation.displayName;\r\n this.updateStart = this.evaluation.start;\r\n this.updateEnd = this.evaluation.end;\r\n this.updateHours = this.evaluation.interactiveCreditsAvailable;\r\n this.updateNotes = this.evaluation.notes;\r\n }\r\n\r\n createNewEvaluation() {\r\n this.isNew = true;\r\n this.evaluation = new EvaluationModel();\r\n this.evaluation.name = null; // \"Name\" + UUID.UUID();\r\n this.evaluation.state = EvaluationStates.notStarted;\r\n this.evaluation.start = new Date(Date.now());\r\n this.evaluation.end = new Date(Date.now() + 30 * (1000 * 60 * 60 * 24));\r\n this.evaluation.interactiveCredits = 80;\r\n this.evaluation.interactiveCreditsUsed = 0;\r\n // this.evaluation.storage = 1024;\r\n // this.evaluation.storageUsed = 0;\r\n // this.evaluation.calculateAvailableStorage();\r\n this.evaluation.notes = '';\r\n this.evaluation.paradiseVersion = environment.defaultParadiseVersion;\r\n this.evaluation.serverVmSize = environment.defaultParadiseServerVmSize;\r\n\r\n this.initializeUpdateProperties();\r\n }\r\n\r\n initializeDialogEvents() {\r\n const saveStartDialogButton = document.getElementById('saveStartEvalParametersButton');\r\n this.saveStartDialogButtonEvent = Observable.fromEvent(saveStartDialogButton, 'click');\r\n }\r\n\r\n checkIfElementsReady() {\r\n if (this.viewInitialized) {\r\n this.initializeDialogEvents();\r\n }\r\n }\r\n\r\n setColumns() {\r\n this.cols = [\r\n { field: 'isServer', header: 'Role', width: '10%' },\r\n { field: 'state', header: 'State', width: '20%' },\r\n { field: 'user', header: 'User', width: '30%' },\r\n { field: '', header: 'Action', width: '40%' }\r\n ];\r\n }\r\n\r\n removeUser(userEmail: string) {\r\n\r\n }\r\n\r\n updateCredits() {\r\n // since the UI is modifying CreditsAvailable which is a calculated value, must work backwards to update issued value\r\n this.evaluation.interactiveCredits = this.updateHours + this.evaluation.interactiveCreditsUsed;\r\n }\r\n\r\n addUser() {\r\n this.evaluation.users.push(this.userToAdd);\r\n this.userToAdd = null;\r\n }\r\n\r\n addNote() {\r\n this.evaluation.notes = this.evaluation.notes + this.noteToAdd;\r\n this.noteToAdd = null;\r\n }\r\n\r\n async update() {\r\n this.stopRefreshing = true;\r\n this.updating = true;\r\n this.evaluation.displayName = this.updateDisplayName;\r\n this.evaluation.start = this.updateStart;\r\n this.evaluation.end = this.updateEnd;\r\n this.evaluation.notes = this.updateNotes;\r\n try {\r\n await this._evaluationService.put(this.evaluation).toPromise();\r\n this._router.navigate(['/adminconnectlist/']);\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error);\r\n }\r\n this.updating = false;\r\n }\r\n\r\n async create() {\r\n this.errorMessages = [];\r\n this.creating = true;\r\n\r\n // populate update fields from form to evaluation\r\n this.evaluation.displayName = this.updateDisplayName;\r\n this.evaluation.start = this.updateStart;\r\n this.evaluation.end = this.updateEnd;\r\n this.evaluation.interactiveCredits = this.updateHours;\r\n this.evaluation.notes = this.updateNotes;\r\n\r\n try {\r\n const createResult = await this._evaluationSystemService.createEvaluation(this.evaluation).toPromise();\r\n // Auto-start deployment\r\n await this.startEvaluationAfterCreation(createResult);\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error, 'Could not Create Evaluation:');\r\n }\r\n this.creating = false;\r\n }\r\n\r\n // TODO: Refactor 2 startEvaluation functions below\r\n private async startEvaluationAfterCreation(evaluation: EvaluationModel) {\r\n if (!evaluation) {\r\n return;\r\n }\r\n const parameters = new StartEvaluationParameters({ userName: evaluation.vmUserName, password: evaluation.vmPassword });\r\n try {\r\n await this._evaluationService.startEvaluation(evaluation.name, parameters).toPromise();\r\n // Tried redirecting to detail page but since already on detail page, ngOnIt doesn't run and\r\n // the component thinks it still a new evaluation\r\n // this._router.navigate([\"/adminconnectdetail/\" + createResult.name]);\r\n this._router.navigate(['/adminconnectlist']);\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error, 'Could not Start Evaluation:');\r\n // TODO: Note that the user is caught in a weird state here... The Evaluation has been created, but they are now stuck on the /new page.\r\n // If the user clicks Create again it will probably fail because the Evaluation w/ the name already exists\r\n }\r\n }\r\n\r\n private async startEvaluation(evaluation: EvaluationModel) {\r\n const parameters = new StartEvaluationParameters({ userName: evaluation.vmUserName, password: evaluation.vmPassword });\r\n try {\r\n await this._evaluationService.startEvaluation(evaluation.name, parameters).toPromise();\r\n this.refreshEvaluation();\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error, 'Could not Start Evaluation:');\r\n }\r\n }\r\n\r\n confirmStart() {\r\n this.showStartEvalDialog = true;\r\n this.startingEval = true;\r\n this._confirmationService.confirm({\r\n message: `Are you sure you want to START ${this.evaluation.displayName}?`,\r\n accept: () => this.startEvaluation(this.evaluation)\r\n });\r\n }\r\n\r\n confirmEnd() {\r\n this._confirmationService.confirm({\r\n message: `Are you sure you want to END ${this.evaluation.displayName}?`,\r\n accept: () => this.end()\r\n });\r\n }\r\n\r\n async end() {\r\n try {\r\n await this._evaluationService.stopEvaluation(this.evaluation.name).toPromise();\r\n this._router.navigate(['/adminconnectlist/']);\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n confirmDelete() {\r\n this._confirmationService.confirm({\r\n message: `Are you sure you want to DELETE ${this.evaluation.displayName}?`,\r\n accept: () => this.delete()\r\n });\r\n }\r\n\r\n async delete() {\r\n this.stopRefreshing = true;\r\n try {\r\n await this._evaluationService.delete(this.evaluation.name).toPromise();\r\n this._router.navigate(['/adminconnectlist/']);\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n startInstance(computer: Computer) {\r\n const currentState = computer.state;\r\n this.updateComputerState(ComputerStates.starting, computer);\r\n if (computer.isServer) {\r\n this.startServer(computer, currentState);\r\n }\r\n else {\r\n this.startClient(computer, currentState);\r\n }\r\n }\r\n\r\n private async startClient(computer: Computer, currentState: string) {\r\n try {\r\n await this._evaluationService.startClient(this.evaluation.name, computer.user).toPromise();\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error, `Could not Start VM ${computer.resourceId}:`);\r\n computer.state = currentState;\r\n }\r\n }\r\n\r\n private async startServer(computer: Computer, currentState: string) {\r\n try {\r\n await this._evaluationService.startServer(this.evaluation.name).toPromise();\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error, `Could not Start VM ${computer.resourceId}:`);\r\n computer.state = currentState;\r\n }\r\n }\r\n\r\n stopInstance(computer: Computer) {\r\n const currentState = computer.state;\r\n this.updateComputerState(ComputerStates.stopping, computer);\r\n if (computer.isServer) {\r\n this.stopServer(computer, currentState);\r\n }\r\n else {\r\n this.stopClient(computer, currentState);\r\n }\r\n }\r\n\r\n private async stopClient(computer: Computer, currentState: string) {\r\n try {\r\n await this._evaluationService.stopClient(this.evaluation.name, computer.user).toPromise();\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error, `Could not stop VM ${computer.resourceId}:`);\r\n computer.state = currentState;\r\n }\r\n }\r\n\r\n private async stopServer(computer: Computer, currentState: string) {\r\n try {\r\n await this._evaluationService.stopServer(this.evaluation.name).toPromise();\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error, `Could not stop VM ${computer.resourceId}:`);\r\n computer.state = currentState;\r\n }\r\n }\r\n\r\n connect(computer: Computer) {\r\n const rdpString = this._rdpService.buildRdpFileAsString(computer, this.evaluation.vmUserName);\r\n const blob = new Blob([rdpString], { type: 'text/plain;charset=utf-8' });\r\n saveAs(blob, this._rdpService.setRdpFileName(computer));\r\n }\r\n\r\n updateMessageBannerForDeployment(state: string) {\r\n this.stateMessages = [];\r\n switch (state) {\r\n case EvaluationStates.notStarted: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Not Started', detail: 'The Evaluation has not yet been initialized to start.' });\r\n break;\r\n }\r\n case EvaluationStates.deploying: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Deploying', detail: 'The Evaluation is currently deploying.' });\r\n break;\r\n }\r\n case EvaluationStates.started: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Successfully Started', detail: 'The Evaluation has been deployed.' });\r\n break;\r\n }\r\n case EvaluationStates.ended: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Successfully Ended', detail: 'The Evaluation has deallocated and successfully ended.' });\r\n break;\r\n }\r\n case EvaluationStates.deployFailed: {\r\n this.stateMessages.push({ severity: 'error', summary: 'Deployment Failed', detail: 'Something went wrong with the deployment. Contact the Geophysical Insights team.' });\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n updateMessageBannerForClientState(state: string, computerName: string) {\r\n this.stateMessages = [];\r\n switch (state) {\r\n case ComputerStates.stopping: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Stopping', detail: 'The Paradise virtual machine (' + computerName + ') is stopping.' });\r\n break;\r\n }\r\n case ComputerStates.stopped: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Stopped', detail: 'The Paradise virtual machine (' + computerName + ') has stopped.' });\r\n break;\r\n }\r\n case ComputerStates.running: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Running', detail: 'The Paradise virtual machine (' + computerName + ') is running and ready.' });\r\n break;\r\n }\r\n case ComputerStates.starting: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Starting', detail: 'The Paradise virtual machine (' + computerName + ') is starting up.' });\r\n break;\r\n }\r\n // No status updates for Stopping, Stopped, and unknown at this point.\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n this._router.navigate(['/adminconnectlist/']);\r\n }\r\n\r\n reveal(computer: Computer) {\r\n if (this.revealList.includes(computer.resourceId)) {\r\n this.revealList = this.revealList.filter(r => r !== computer.resourceId);\r\n }\r\n else {\r\n this.revealList.push(computer.resourceId);\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopRefreshing = true;\r\n }\r\n\r\n validateEmail() {\r\n let invalidEmailsCount = 0;\r\n if (this.evaluation.users != null && this.evaluation.users.length > 0) {\r\n this.evaluation.users.forEach(user => {\r\n if (!(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/).test(user)) {\r\n invalidEmailsCount++;\r\n }\r\n });\r\n }\r\n this.emailInvalid = invalidEmailsCount !== 0;\r\n }\r\n\r\n validateUserName() {\r\n this.userNameInvalid = this.evaluation.vmUserName &&\r\n (\r\n this.evaluation.vmUserName.length > 20 ||\r\n this.userNameConditions.some(el => this.evaluation.vmUserName.includes(el)) ||\r\n this.evaluation.vmUserName.endsWith('.')\r\n );\r\n }\r\n\r\n validatePassword() {\r\n this.passwordInvalid = !(this._validationService.validatePassword(this.evaluation.vmPassword));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/admin-connect-detail/admin-connect-detail.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/admin-connect-list/admin-connect-list.component.css\n// module id = ./src/app/components/admin-connect-list/admin-connect-list.component.css\n// module chunks = main","module.exports = \"

Paradise Connect Administration

\\r\\n
Loading...
\\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 {{col.header}}\\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 {{evaluation.displayName}}\\r\\n {{evaluation.periodStatus}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/admin-connect-list/admin-connect-list.component.html\n// module id = ./src/app/components/admin-connect-list/admin-connect-list.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { EvaluationSystemService } from '../../services/evaluation-system.service';\r\nimport { Router } from '@angular/router';\r\nimport { IsAdmin } from '../../guards/isAdmin';\r\nimport { Evaluation } from '../../services/GI.Web.Services.g';\r\n\r\n@Component({\r\n selector: 'app-admin-connect-list',\r\n templateUrl: './admin-connect-list.component.html',\r\n styleUrls: ['./admin-connect-list.component.css']\r\n})\r\nexport class AdminConnectListComponent implements OnInit {\r\n constructor(\r\n private _evaluationSystemService: EvaluationSystemService,\r\n private _router: Router,\r\n public _adminGuard: IsAdmin) { }\r\n\r\n public evaluationsReady = true;\r\n public evaluations: Evaluation[] = [];\r\n public cols: any[] = [];\r\n public periodStatuses: any[] = [];\r\n\r\n ngOnInit() {\r\n this._adminGuard.canActivate();\r\n this.setColumns();\r\n // this.setPeriodStatuses();\r\n this.getEvaluations();\r\n }\r\n\r\n setColumns() {\r\n this.cols = [\r\n { field: 'displayName', header: 'Name', width: '60%' },\r\n { field: 'periodStatus', header: 'Status', width: '30%' },\r\n { field: '', header: '', width: '10%' }\r\n ];\r\n }\r\n\r\n getEvaluations() {\r\n this._evaluationSystemService.getAllEvaluations().subscribe(results => {\r\n this.evaluations = results;\r\n this.evaluationsReady = true;\r\n });\r\n }\r\n\r\n navigateToDetail(evaluationName: string) {\r\n this._router.navigate(['/adminconnectdetail/' + encodeURIComponent(evaluationName)]);\r\n }\r\n\r\n addEvaluation() {\r\n this._router.navigate(['/adminconnectdetail/new']);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/admin-connect-list/admin-connect-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/download-log/download-log.component.css\n// module id = ./src/app/components/download-log/download-log.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.Timestamp._ | date:'short'}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/download-log/download-log.component.html\n// module id = ./src/app/components/download-log/download-log.component.html\n// module chunks = main","import { Component, OnInit, NgZone } from '@angular/core';\r\nimport { FileService } from '../../services/file.service';\r\nimport { DataTableModule, SharedModule } from 'primeng/primeng';\r\n\r\n@Component({\r\n selector: 'app-download-log',\r\n templateUrl: './download-log.component.html',\r\n styleUrls: ['./download-log.component.css']\r\n})\r\nexport class DownloadLogComponent implements OnInit {\r\n\r\n constructor(private _fileService: FileService, private zone: NgZone) { }\r\n\r\n public downloadList;\r\n ngOnInit() {\r\n const downloads = this._fileService.getDownloadList();\r\n downloads.subscribe(d => {\r\n this.zone.run(() => {\r\n // console.info(d);\r\n this.downloadList = d;\r\n });\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/download-log/download-log.component.ts","module.exports = \".metadata{\\r\\n vertical-align: top !important;\\r\\n font-size: smaller;\\r\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/downloads/downloads.component.css\n// module id = ./src/app/components/downloads/downloads.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n {{node.data.displayName}}\\r\\n {{node.data.displayName}}\\r\\n (beta)\\r\\n (archived)\\r\\n\\r\\n (View)\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Show All\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{node.data.date | date:'short'}} \\r\\n \\r\\n \\r\\n Date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Arch\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Beta\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Vis.\\r\\n \\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/downloads/downloads.component.html\n// module id = ./src/app/components/downloads/downloads.component.html\n// module chunks = main","import { Component, OnInit, NgZone, ChangeDetectorRef } from '@angular/core';\r\nimport { FileService } from '../../services/file.service';\r\nimport { FileNode, FileInfo } from '../../models/filenode';\r\nimport { Router, ParamMap, ActivatedRoute } from '@angular/router';\r\nimport { IsAdmin } from '../../guards/isAdmin';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CurrentUserService } from '../../services/current-user.service';\r\nimport { Observable } from 'rxjs';\r\nimport { User } from '../../services/GI.Web.Services.g';\r\n\r\n@Component({\r\n selector: 'app-downloads',\r\n templateUrl: './downloads.component.html',\r\n styleUrls: ['./downloads.component.css']\r\n})\r\nexport class DownloadsComponent implements OnInit {\r\n private _user: User;\r\n\r\n constructor(\r\n private _fileService: FileService,\r\n private _currentUserService: CurrentUserService,\r\n private zone: NgZone,\r\n private router: Router,\r\n private _route: ActivatedRoute,\r\n public _adminGuard: IsAdmin\r\n ) {\r\n this._currentUserService.getUser().subscribe(u => {\r\n this._user = u;\r\n this.canShowAll = this._user.isAdmin || this._user.isArchiveUser || this._user.isBetaUser;\r\n this.updateFileList();\r\n });\r\n }\r\n\r\n public files: FileNode[];\r\n\r\n ngOnInit(): void {\r\n\r\n this._adminGuard.canActivate().subscribe(a => this.isAdmin = a);\r\n\r\n this._route.queryParamMap.switchMap(p => {\r\n let file = p.get('file');\r\n if (!file) return Observable.empty();\r\n return this._fileService.getUrl(file);\r\n }).subscribe((f: string) => {\r\n window.location.href = f;\r\n });\r\n }\r\n\r\n private updateFileList() {\r\n this._fileService.getFilesTree(this._user.isArchiveUser && this.showAll, this._user.isBetaUser && this.showAll, this._user.isAdmin && this.showAll).subscribe(f => {\r\n this.files = f;\r\n }\r\n );\r\n }\r\n\r\n public isAdmin: boolean;\r\n\r\n public canShowAll: boolean\r\n\r\n private _showAll: boolean\r\n public get showAll(): boolean {\r\n return this._showAll;\r\n }\r\n\r\n public set showAll(value: boolean) {\r\n if (value != this._showAll) {\r\n this._showAll = value;\r\n this.updateFileList();\r\n\r\n }\r\n }\r\n\r\n private static filterLatest(files: FileNode[]): FileNode[] {\r\n let trimmedTree: FileNode[] = [];\r\n files.forEach(file => {\r\n let filteredNode = file.clone();\r\n if (file.children.length > 0) {\r\n filteredNode.children.push(file.children[0]);\r\n }\r\n trimmedTree.push(filteredNode);\r\n });\r\n return trimmedTree;\r\n }\r\n\r\n public toggleBeta(file: FileInfo) {\r\n file.beta = !file.beta;\r\n this._fileService.setProperties(file).subscribe();\r\n }\r\n public changeProperties(file: FileInfo) {\r\n this._fileService.setProperties(file).subscribe();\r\n }\r\n\r\n public showMarkdown(file: string) {\r\n this.router.navigate(['/view', file]);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/downloads/downloads.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/freshdesk/freshdesk.component.css\n// module id = ./src/app/components/freshdesk/freshdesk.component.css\n// module chunks = main","module.exports = \"

\\r\\n Logging In\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/freshdesk/freshdesk.component.html\n// module id = ./src/app/components/freshdesk/freshdesk.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-freshdesk',\r\n templateUrl: './freshdesk.component.html',\r\n styleUrls: ['./freshdesk.component.css']\r\n})\r\nexport class FreshdeskComponent implements OnInit {\r\n\r\n constructor( ) { }\r\n\r\n ngOnInit() {\r\n if (!window.location.hash.startsWith(\"#state=\")){//not part of a login\r\n window.location.href=\"https://geoinsights.freshdesk.com\";\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/freshdesk/freshdesk.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/qa-sessions-list/qa-sessions-list.component.css\n// module id = ./src/app/components/qa-sessions-list/qa-sessions-list.component.css\n// module chunks = main","module.exports = \"

Paradise Cloud QA Admin

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Name\\r\\n Version\\r\\n Created By\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{session.name}}\\r\\n {{session.paradiseVersion}}\\r\\n {{session.createdBy}}\\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
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/qa-sessions-list/qa-sessions-list.component.html\n// module id = ./src/app/components/qa-sessions-list/qa-sessions-list.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Message, ConfirmationService } from 'primeng/api';\r\nimport { saveAs } from 'file-saver';\r\n\r\nimport { QaSessionService, QaSession, Computer } from '../../services/GI.Web.Services.g';\r\nimport { ErrorHandling } from '../../ErrorHandling';\r\nimport { RdpService } from '../../services/rdp.service';\r\nimport { IsAdmin } from '../../guards/isAdmin';\r\n\r\n// TODO: loading indicators\r\n\r\n@Component({\r\n selector: 'app-qa-sessions-list',\r\n templateUrl: './qa-sessions-list.component.html',\r\n styleUrls: ['./qa-sessions-list.component.css']\r\n})\r\nexport class QaSessionsListComponent implements OnInit {\r\n\r\n constructor(\r\n private qaSessionService: QaSessionService,\r\n private adminGuard: IsAdmin,\r\n private confirmationService: ConfirmationService,\r\n private rdpService: RdpService\r\n ) { }\r\n\r\n public sessions: QaSession[];\r\n public showDialog = false;\r\n public disableSave = false;\r\n public newSession: QaSession;\r\n public messages: Message[];\r\n public dialogMessages: Message[];\r\n\r\n async ngOnInit() {\r\n // HACK: Is this canActivate() call necessary? Why?\r\n this.adminGuard.canActivate();\r\n await this.getSessionList();\r\n }\r\n\r\n private async getSessionList() {\r\n try {\r\n this.sessions = await this.qaSessionService.getAll().toPromise();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Error fetching list of QA sessions:');\r\n }\r\n }\r\n\r\n public showDialogToAdd(): void {\r\n this.newSession = new QaSession();\r\n this.dialogMessages = null;\r\n this.disableSave = false;\r\n this.showDialog = true;\r\n }\r\n\r\n public async save() {\r\n this.dialogMessages = null;\r\n this.disableSave = true;\r\n try {\r\n await this.qaSessionService.createQaSession(this.newSession).toPromise();\r\n this.showDialog = false;\r\n await this.getSessionList();\r\n } catch (error) {\r\n this.dialogMessages = ErrorHandling.getErrorMessages(error);\r\n }\r\n this.disableSave = false;\r\n }\r\n\r\n public delete(session: QaSession) {\r\n this.confirmationService.confirm({\r\n header: 'Delete Confirmation',\r\n icon: 'fa fa-exclamation-triangle',\r\n message: `Are you sure you you want to permanently delete the session and resources for '${session.name}'?`,\r\n accept: () => this.deleteConfirmed(session)\r\n });\r\n }\r\n\r\n async deleteConfirmed(session: QaSession): Promise {\r\n try {\r\n await this.qaSessionService.delete(session).toPromise();\r\n await this.getSessionList();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Error deleting session:');\r\n }\r\n }\r\n\r\n async connect(session: QaSession) {\r\n try {\r\n const computers = await this.qaSessionService.getComputers(session).toPromise();\r\n this.buildRdpFile(computers[0]);\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Error getting VM information:');\r\n }\r\n }\r\n\r\n // TODO: Unfactor...\r\n buildRdpFile(computer: Computer) {\r\n console.log(computer);\r\n if (computer && computer.ipAddress) {\r\n const rdpString = this.rdpService.buildRdpFileAsString(computer, 'ParadiseUser'); // computer.user);\r\n const blob = new Blob([rdpString], { type: 'text/plain;charset=utf-8' });\r\n saveAs(blob, this.rdpService.setRdpFileName(computer));\r\n }\r\n else {\r\n this.messages = [{\r\n severity: 'error',\r\n summary: 'Cannot download RDP File.',\r\n detail: 'VM is not ready or information is not known.'\r\n }];\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/qa-sessions-list/qa-sessions-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/region-selection/region-selection.component.css\n// module id = ./src/app/components/region-selection/region-selection.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/region-selection/region-selection.component.html\n// module id = ./src/app/components/region-selection/region-selection.component.html\n// module chunks = main","import { Component, OnInit, ViewChild, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SelectItem } from 'primeng/api';\r\n\r\nimport { RegionsService } from '../../services/GI.Web.Services.g';\r\nimport { Dropdown } from 'primeng/primeng';\r\n\r\n// References for implementing a component with 2-way [(ngModel)] binding:\r\n// - https://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html#implementing-controlvalueaccessor\r\n// - https://angular.io/api/forms/ControlValueAccessor\r\n// - https://blog.angularindepth.com/never-again-be-confused-when-implementing-controlvalueaccessor-in-angular-forms-93b9eee9ee83\r\n/**\r\n * Wraps UI (p-dropdown) for Region Selection.\r\n */\r\n@Component({\r\n selector: 'app-region-selection',\r\n templateUrl: './region-selection.component.html',\r\n styleUrls: ['./region-selection.component.css'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RegionSelectionComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class RegionSelectionComponent implements OnInit, ControlValueAccessor {\r\n private _regionDropdown: Dropdown;\r\n private _onChange: Function;\r\n private _onTouched: Function;\r\n\r\n @ViewChild(Dropdown) set regionDropdown(value: Dropdown) {\r\n this._regionDropdown = value;\r\n if (this._regionDropdown && this._onChange) {\r\n this._regionDropdown.registerOnChange(this._onChange);\r\n this._regionDropdown.registerOnTouched(this._onTouched);\r\n }\r\n }\r\n constructor(\r\n private _regionsService: RegionsService\r\n ) { }\r\n\r\n // Defaulting azureRegions to null so can use it as a flag to know when loaded\r\n public azureRegions: SelectItem[];\r\n public selectedRegion: String;\r\n public isDisabled: boolean;\r\n\r\n ngOnInit() {\r\n this.getAzureRegions();\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.selectedRegion = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n private getAzureRegions() {\r\n this._regionsService.getList().subscribe(optionList => {\r\n this.azureRegions = optionList.options.map(x =>\r\n ({ label: x.displayName, value: x.key }));\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/region-selection/region-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/signout/signout.component.css\n// module id = ./src/app/components/signout/signout.component.css\n// module chunks = main","module.exports = \"

\\r\\n Logging Out\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/signout/signout.component.html\n// module id = ./src/app/components/signout/signout.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\n@Component({\r\n selector: 'app-signout',\r\n templateUrl: './signout.component.html',\r\n styleUrls: ['./signout.component.css']\r\n})\r\nexport class SignoutComponent implements OnInit {\r\n\r\n constructor(\r\n private _msal: MsalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._msal.logout();\r\n window.location.href = 'https://geoinsightsbtc.b2clogin.com/geoinsightsbtc.onmicrosoft.com/oauth2/v2.0/logout?p=b2c_1a_signup_signin&post_logout_redirect_uri=http://help.geoinsights.com'\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/signout/signout.component.ts","module.exports = \".table-filter {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.table-filter-input {\\r\\n width: 50%;\\r\\n margin-left: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/training-session-detail/training-session-detail.component.css\n// module id = ./src/app/components/training-session-detail/training-session-detail.component.css\n// module chunks = main","module.exports = \"

Training Session Details

\\r\\n
\\r\\n
0\\\" class=\\\"ui-g-12\\\">\\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 {{trainingSession.startDate | date: 'medium'}}\\r\\n to \\r\\n {{trainingSession.endDate | date: 'medium'}}\\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
\\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 \\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 {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{student.number}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{student.name}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{student.email}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{student.cloudState}}\\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
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/training-session-detail/training-session-detail.component.html\n// module id = ./src/app/components/training-session-detail/training-session-detail.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Message, ConfirmationService, SelectItem } from 'primeng/api';\r\nimport { saveAs } from 'file-saver';\r\n// https://stackoverflow.com/questions/34660265/importing-lodash-into-angular2-typescript-application\r\nimport * as _ from 'lodash';\r\n\r\nimport { TrainingSessionService, ResourceDeploymentState, TrainingStudent, Computer, TrainingSession, TrainingCloudActivityService } from '../../services/GI.Web.Services.g';\r\nimport { FileService } from '../../services/file.service';\r\nimport { ValidationService } from '../../services/validation.service';\r\nimport { RdpService } from '../../services/rdp.service';\r\n// import { TrainingSession, TrainingStudent, ResourceDeploymentState, Computer, EvaluationStates } from '../../models/models';\r\nimport { IsAdmin } from '../../guards/isAdmin';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ResourceDeploymentStateToStringPipe } from '../../pipes/resourceDeploymentStatePipe';\r\nimport { EvaluationStates } from '../../models/evaluationState';\r\nimport { ErrorHandling } from '../../ErrorHandling';\r\n\r\n// TODO: Remove ['cloudState'] hack and remove magic strings for computer state\r\n\r\n/** Primeng column description */\r\nexport interface IPrimeColumnInfo {\r\n field?: string;\r\n header?: string;\r\n width?: string;\r\n sortable?: boolean;\r\n inGlobalFilter?: boolean;\r\n}\r\n\r\nexport interface TrainingSessionDetailColumn extends IPrimeColumnInfo {\r\n onlyCloudEnabled?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-training-session-detail',\r\n templateUrl: './training-session-detail.component.html',\r\n styleUrls: ['./training-session-detail.component.css']\r\n})\r\nexport class TrainingSessionDetailComponent implements OnInit {\r\n\r\n constructor(\r\n private trainingSessionService: TrainingSessionService,\r\n private trainingCloudActivityService: TrainingCloudActivityService,\r\n private fileService: FileService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private confirmationService: ConfirmationService,\r\n private validationService: ValidationService,\r\n private rdpService: RdpService,\r\n private resourceDeploymentStateToStringPipe: ResourceDeploymentStateToStringPipe,\r\n private adminGuard: IsAdmin\r\n ) { }\r\n\r\n public trainingSessionId: string;\r\n public trainingSession: TrainingSession;\r\n public trainingSessionReady = false;\r\n public paradiseVersions: SelectItem[] = [];\r\n public paradiseVersionsReady = false;\r\n public messages: Message[] = [];\r\n public isNew = false;\r\n public evaluationStates: any = EvaluationStates;\r\n public showSpinner = false;\r\n public preventChanges = false;\r\n public deploymentStateOptions = ResourceDeploymentState;\r\n public deploymentState: ResourceDeploymentState = ResourceDeploymentState.Unknown;\r\n public enableRefreshing = false;\r\n public enableComputerRefreshing = false;\r\n public passwordInvalid = false;\r\n\r\n public get isDeployed(): boolean {\r\n return this.deploymentState === ResourceDeploymentState.Succeeded;\r\n }\r\n\r\n public get canStartDeployment(): boolean {\r\n const deploymentState = this.deploymentState;\r\n return !this.isNew && (\r\n deploymentState === ResourceDeploymentState.Unknown ||\r\n deploymentState === ResourceDeploymentState.Failed ||\r\n deploymentState === ResourceDeploymentState.NotSpecified ||\r\n deploymentState === ResourceDeploymentState.Deleted);\r\n }\r\n\r\n private _deploymentRequested = false;\r\n public get disableDeployment(): boolean {\r\n const disabledStates = [\r\n ResourceDeploymentState.Accepted,\r\n ResourceDeploymentState.Created,\r\n ResourceDeploymentState.Creating,\r\n ResourceDeploymentState.NotSpecified,\r\n ResourceDeploymentState.Registering,\r\n ResourceDeploymentState.Running,\r\n ResourceDeploymentState.Deleting,\r\n ];\r\n return this._deploymentRequested || _(disabledStates).includes(this.deploymentState);\r\n }\r\n\r\n\r\n public get showDeleteResources(): boolean {\r\n return this.resourcesReady ||\r\n // Show button while deleting though it will be disabled\r\n this.deploymentState === ResourceDeploymentState.Deleting ||\r\n // Allow to delete resources that failed deployment so can re-try\r\n this.deploymentState === ResourceDeploymentState.Failed;\r\n }\r\n\r\n public get resourcesReady(): boolean {\r\n return this.deploymentState === ResourceDeploymentState.Succeeded;\r\n }\r\n\r\n public get deploymentName(): string {\r\n return this.trainingSession.cloudDeploymentName;\r\n }\r\n\r\n public get costEstimate(): string {\r\n if (this.trainingSession.trainingStudents.length === 0) {\r\n return 'add students for estimate';\r\n }\r\n const cost = this.trainingSession.trainingStudents.length * 1.35;\r\n return `$1.35/hr x ${this.trainingSession.trainingStudents.length} computers = $${cost.toFixed(2)}/hr`;\r\n }\r\n\r\n public get showStartAll(): boolean {\r\n return this.readyAndHasCloudState('Deallocated');\r\n }\r\n\r\n public get showStopAll(): boolean {\r\n return this.readyAndHasCloudState('Running');\r\n }\r\n\r\n private readyAndHasCloudState(state: string): boolean {\r\n return this.resourcesReady &&\r\n _.some(this.trainingSession.trainingStudents, (s: TrainingStudent) => s['cloudState'] === state);\r\n }\r\n\r\n /** Returns null or 'disabled' so can be used with [attr.disabled] */\r\n public get attrDisabled(): string {\r\n return this.isNew ? null : 'disabled';\r\n }\r\n\r\n ngOnInit() {\r\n this.adminGuard.canActivate();\r\n this.getTrainingSessionIdFromRoute();\r\n }\r\n\r\n getTrainingSessionIdFromRoute() {\r\n this.route.params.subscribe(params => {\r\n this.trainingSessionId = params['id'];\r\n if (!this.trainingSessionId || this.trainingSessionId === 'new') {\r\n this.isNew = true;\r\n this.createTrainingSession();\r\n }\r\n else {\r\n this.showSpinner = true;\r\n this.getTrainingSession(this.trainingSessionId);\r\n }\r\n });\r\n }\r\n\r\n createTrainingSession() {\r\n this.trainingSession = new TrainingSession();\r\n // HACK: Init training students to empty array, default credentials\r\n this.trainingSession.trainingStudents = [];\r\n this.trainingSession.cloudResourcesUserName = environment.defaultVmUserName;\r\n this.trainingSession.cloudResourcesPasswordPrefix = environment.defaultVmPassword;\r\n this.trainingSessionReady = true;\r\n }\r\n\r\n async getTrainingSession(id: string) {\r\n try {\r\n this.trainingSession = await this.trainingSessionService.getById(id).toPromise();\r\n this.trainingSessionReady = true;\r\n if (this.trainingSession.enableCloudResources) {\r\n this.getParadiseVersions();\r\n this.enableRefreshing = true;\r\n this.refreshDeploymentStatus();\r\n }\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error);\r\n }\r\n this.showSpinner = false;\r\n }\r\n\r\n public static get columnTitles() {\r\n return {\r\n number: 'Number',\r\n name: 'Name',\r\n email: 'Email',\r\n cloudStatus: 'Cloud Status',\r\n restart: 'Restart',\r\n sendEmail: 'Send Email',\r\n remove: 'Remove',\r\n stopStart: 'Stop/Start',\r\n connect: 'Connect',\r\n studentPage: 'Student Connect'\r\n };\r\n }\r\n\r\n // Instance member for convenience using in view\r\n public get columnTitles() {\r\n return TrainingSessionDetailComponent.columnTitles;\r\n }\r\n\r\n public get cols(): TrainingSessionDetailColumn[] {\r\n const titles = this.columnTitles;\r\n let cols = [\r\n { field: 'number', header: titles.number, width: '70px', sortable: true, inGlobalFilter: true, onlyCloudEnabled: false },\r\n { field: 'name', header: titles.name, width: '150px', sortable: true, inGlobalFilter: true, onlyCloudEnabled: false },\r\n { field: 'email', header: titles.email, width: '150px', sortable: true, inGlobalFilter: true, onlyCloudEnabled: false },\r\n { field: '', header: titles.cloudStatus, width: '100px', sortable: true, inGlobalFilter: false, onlyCloudEnabled: true },\r\n // { field: '', header: titles.restart, width: '50px', sortable: false, inGlobalFilter: false, onlyCloudEnabled: true },\r\n // { field: '', header: titles.sendEmail, width: '50px', sortable: false, inGlobalFilter: false, onlyCloudEnabled: false },\r\n ];\r\n if (this.isNew) {\r\n cols.push({\r\n field: '', header: titles.remove, width: '50px', sortable: false, inGlobalFilter: false, onlyCloudEnabled: false\r\n });\r\n }\r\n else {\r\n cols.push(\r\n { field: '', header: titles.stopStart, width: '50px', sortable: false, inGlobalFilter: false, onlyCloudEnabled: true },\r\n { field: '', header: titles.connect, width: '50px', sortable: false, inGlobalFilter: false, onlyCloudEnabled: true },\r\n { field: '', header: titles.studentPage, width: '50px', sortable: false, inGlobalFilter: false, onlyCloudEnabled: true },\r\n );\r\n }\r\n // Remove cloud columns if not cloud class, or resources not ready\r\n if (!this.trainingSession || !this.trainingSession.enableCloudResources || !this.resourcesReady) {\r\n cols = cols.filter(c => !c.onlyCloudEnabled);\r\n }\r\n return cols;\r\n }\r\n\r\n public get globalFilterFields(): string[] {\r\n return _.filter(this.cols, c => c.inGlobalFilter).map(c => c.field);\r\n }\r\n\r\n /** Given a column title, returns truthy for columns that should be shown in the UI */\r\n public showColumn(title: string): boolean {\r\n return !!_.find(this.cols, col => col.header === title);\r\n }\r\n\r\n enableCloudResourcesChanged(event: any) {\r\n if (this.trainingSession.enableCloudResources) {\r\n if (this.paradiseVersions == null || this.paradiseVersions.length === 0) {\r\n // this.trainingSession.cloudParadiseVersion = environment.defaultParadiseVersion;\r\n // this.trainingSession.cloudVMSize = environment.defaultTrainingVmSize;\r\n this.getParadiseVersions();\r\n }\r\n // We don't currently support deploying until after the class is created, so this doesn't make sense:\r\n // this.enableRefreshing = true;\r\n // this.refreshDeploymentStatus();\r\n }\r\n else {\r\n this.enableRefreshing = false;\r\n }\r\n }\r\n\r\n async getDeploymentStatus(): Promise {\r\n // tslint:disable-next-line:curly\r\n if (!this.trainingSession)\r\n return ResourceDeploymentState.Unknown;\r\n try {\r\n return await this.trainingCloudActivityService.getDeploymentState(this.trainingSessionId).toPromise();\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error, 'Could not get Deployment State:');\r\n }\r\n return ResourceDeploymentState.Unknown;\r\n }\r\n\r\n async refreshDeploymentStatus() {\r\n do {\r\n const status = await this.getDeploymentStatus();\r\n this.updateDeploymentState(status);\r\n await this.getStudentComputerStatuses();\r\n await this.delay(environment.pollTime);\r\n } while (this.enableRefreshing);\r\n }\r\n\r\n async delay(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\n async refreshComputerStatuses(): Promise {\r\n do {\r\n await this.getStudentComputerStatuses();\r\n await this.delay(environment.pollTime);\r\n } while (this.enableComputerRefreshing);\r\n }\r\n\r\n // TODO: Separate UI for showing the Deployment state. Using this.messages stomps on error message returned from fetching computer status.\r\n updateDeploymentState(newState: ResourceDeploymentState) {\r\n if (this.deploymentState !== newState) {\r\n this.messages = [{\r\n severity: 'info',\r\n summary: 'Deployment Update:',\r\n detail: this.resourceDeploymentStateToStringPipe.transform(newState)\r\n }];\r\n }\r\n\r\n this.deploymentState = newState;\r\n if (this.deploymentState === ResourceDeploymentState.Deleted ||\r\n this.deploymentState === ResourceDeploymentState.Failed ||\r\n this.deploymentState === ResourceDeploymentState.Canceled) {\r\n this.enableRefreshing = false;\r\n }\r\n }\r\n\r\n async getStudentComputerStatuses(): Promise {\r\n // If the deployment has not succeeded, we should not be checking the computers (connecting to failed computers not supported right now)\r\n if (!this.isDeployed) {\r\n return [];\r\n }\r\n try {\r\n const computers = await this.trainingCloudActivityService.getTrainingComputers(this.trainingSessionId).toPromise();\r\n // O(N^2)\r\n computers.forEach(computer => {\r\n const studentToUpdate = this.trainingSession.trainingStudents.find(s => s.number === computer.computerNumber);\r\n if (studentToUpdate) {\r\n studentToUpdate['cloudState'] = computer.state;\r\n }\r\n });\r\n return computers;\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error, 'Could not get Student Machine State:');\r\n }\r\n return [];\r\n }\r\n\r\n updateInstructor() {\r\n const name = this.trainingSession.instructor || 'Instructor Not Defined';\r\n if (this.trainingSession.trainingStudents.length) {\r\n this.trainingSession.trainingStudents[0].name = name;\r\n }\r\n else {\r\n this.trainingSession.trainingStudents[0] = new TrainingStudent({ number: '0', name: name });\r\n }\r\n }\r\n\r\n addStudent() {\r\n this.updateInstructor();\r\n const studentNumber = this.trainingSession.trainingStudents.length.toString();\r\n this.trainingSession.trainingStudents.push(new TrainingStudent({ number: studentNumber }));\r\n }\r\n\r\n public async startStudent(student: TrainingStudent) {\r\n try {\r\n await this.trainingCloudActivityService.startComputer(this.trainingSessionId, student.number).toPromise();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Could not start VM:');\r\n }\r\n }\r\n\r\n public async stopStudent(student: TrainingStudent) {\r\n try {\r\n await this.trainingCloudActivityService.stopComputer(this.trainingSessionId, student.number).toPromise();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Could not stop VM:');\r\n }\r\n }\r\n\r\n public async restartStudent(student: TrainingStudent) {\r\n try {\r\n await this.trainingCloudActivityService.restartComputer(this.trainingSessionId, student.number).toPromise();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Could not restart VM:');\r\n }\r\n }\r\n\r\n confirmSendStudentEmail(student: TrainingStudent) {\r\n this.confirmationService.confirm({\r\n message: 'Are you sure you want to EMAIL student: ' + student.name + '?',\r\n accept: () => {\r\n this.emailStudent(student);\r\n }\r\n });\r\n }\r\n\r\n confirmRemove(student: TrainingStudent) {\r\n this.confirmationService.confirm({\r\n message: 'Are you sure you want to REMOVE student: ' + (student.name || student.number) + '?',\r\n accept: () => {\r\n this.removeStudent(student);\r\n }\r\n });\r\n }\r\n\r\n emailStudent(student: TrainingStudent) {\r\n\r\n }\r\n\r\n removeStudent(student: TrainingStudent) {\r\n _.remove(this.trainingSession.trainingStudents, student);\r\n }\r\n\r\n async create() {\r\n if (!this.preventChanges) {\r\n this.preventChanges = true;\r\n this.showSpinner = true;\r\n try {\r\n this.trainingSession = await this.trainingSessionService.post(this.trainingSession).toPromise();\r\n this.router.navigate(['/trainingsessions']);\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error);\r\n }\r\n this.preventChanges = this.showSpinner = false;\r\n }\r\n }\r\n\r\n async update() {\r\n this.showSpinner = true;\r\n try {\r\n await this.trainingSessionService.put(this.trainingSessionId, this.trainingSession).toPromise();\r\n this.router.navigate(['/trainingsessions']);\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Could not update Training Session:');\r\n }\r\n this.showSpinner = false;\r\n }\r\n\r\n async deploy() {\r\n this._deploymentRequested = true;\r\n this.messages = [{\r\n severity: 'info',\r\n summary: 'Starting Training Resources Deployment...'\r\n }];\r\n try {\r\n // Make sure cloud settings have been updated to database before calling start\r\n this.trainingSession = await this.trainingSessionService.put(this.trainingSessionId, this.trainingSession).toPromise();\r\n await this.trainingCloudActivityService.deploy(this.trainingSessionId).toPromise();\r\n this.enableRefreshing = true;\r\n this.refreshDeploymentStatus();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Could not Start deploying Cloud Resources:');\r\n }\r\n this._deploymentRequested = false;\r\n }\r\n\r\n deleteResources() {\r\n this.confirmationService.confirm({\r\n message: 'Are you sure you want to PERMANENTLY DELETE all virtual machines for this session?',\r\n accept: () => this.deleteResourcesConfirmed()\r\n });\r\n }\r\n\r\n async deleteResourcesConfirmed() {\r\n this.messages = [{\r\n severity: 'info',\r\n summary: 'Deleting Cloud Resources...'\r\n }];\r\n try {\r\n await this.trainingCloudActivityService.deleteResources(this.trainingSessionId).toPromise();\r\n this.messages = [];\r\n if (!this.enableRefreshing) {\r\n this.enableRefreshing = true;\r\n this.refreshDeploymentStatus();\r\n }\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Could not destroy Cloud Resources:');\r\n }\r\n }\r\n\r\n async startAllComputers(): Promise {\r\n this.enableComputerRefreshing = true;\r\n this.refreshComputerStatuses();\r\n try {\r\n await this.trainingCloudActivityService.startAllComputers(this.trainingSessionId).toPromise();\r\n this.refreshComputerStatuses();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Failed to start all computers:');\r\n }\r\n this.enableComputerRefreshing = false;\r\n }\r\n\r\n async stopAllComputers(): Promise {\r\n this.enableComputerRefreshing = true;\r\n this.refreshComputerStatuses();\r\n try {\r\n await this.trainingCloudActivityService.stopAllComputers(this.trainingSessionId).toPromise();\r\n this.refreshComputerStatuses();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Failed to stop all computers:');\r\n }\r\n this.enableComputerRefreshing = false;\r\n }\r\n\r\n cancel() {\r\n // Try to kill any refreshing\r\n this.enableRefreshing = false;\r\n this.enableComputerRefreshing = false;\r\n this.router.navigate(['/trainingsessions']);\r\n }\r\n\r\n // TODO: This code was copied from somewhere?\r\n getParadiseVersions() {\r\n this.fileService.getFilesFull(true, true, true, null).subscribe(results => {\r\n if (results) {\r\n const versions = results[1];\r\n versions.forEach(version => {\r\n if (version.name.includes('ParadiseSetup')) {\r\n const beginningIndex = ('Paradise/').length;\r\n const endingIndex = version.name.indexOf('/', beginningIndex);\r\n if (version.beta) {\r\n this.paradiseVersions.push({\r\n label: version.name.substring(beginningIndex, endingIndex) + ' (beta)',\r\n value: version.name.substring(beginningIndex, endingIndex)\r\n });\r\n }\r\n else if (version.archive) {\r\n this.paradiseVersions.push({\r\n label: version.name.substring(beginningIndex, endingIndex) + ' (archived)',\r\n value: version.name.substring(beginningIndex, endingIndex)\r\n });\r\n }\r\n else {\r\n this.paradiseVersions.push({\r\n label: version.name.substring(beginningIndex, endingIndex),\r\n value: version.name.substring(beginningIndex, endingIndex)\r\n });\r\n }\r\n\r\n // set default version based on current release\r\n if (version.release && !version.archive && !version.beta && !this.trainingSession.cloudParadiseVersion) {\r\n this.trainingSession.cloudParadiseVersion = version.name.substring(beginningIndex, endingIndex);\r\n }\r\n }\r\n\r\n });\r\n this.paradiseVersions.sort((a, b) => {\r\n const aValue = this.calculateVersionValue(a.label);\r\n const bValue = this.calculateVersionValue(b.label);\r\n if (aValue > bValue) {\r\n return 1;\r\n }\r\n if (aValue < bValue) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n }\r\n this.paradiseVersionsReady = true;\r\n });\r\n }\r\n\r\n calculateVersionValue(version: string): number {\r\n const firstPeriodIndex = version.indexOf('.');\r\n const secondPeriodIndex = version.lastIndexOf('.');\r\n const hundredThousands = parseInt(version.substring(0, firstPeriodIndex), 10) * 100000;\r\n const thousands = parseInt(version.substring(firstPeriodIndex + 1, secondPeriodIndex), 10) * 10000;\r\n const ones = parseInt(version.substring(secondPeriodIndex + 1), 10);\r\n return hundredThousands + thousands + ones;\r\n }\r\n\r\n validatePassword() {\r\n this.passwordInvalid = !(this.validationService.validatePassword(this.trainingSession.cloudResourcesPasswordPrefix));\r\n }\r\n\r\n downloadRdp(student: TrainingStudent) {\r\n if (this.trainingSession.enableCloudResources && this.deploymentName) {\r\n this.trainingCloudActivityService.getTrainingComputers(this.trainingSessionId)\r\n .subscribe(\r\n results => {\r\n const targetComputer = results.find(r => r.computerNumber === student.number);\r\n this.buildRdpFile(targetComputer);\r\n }\r\n );\r\n }\r\n }\r\n\r\n buildRdpFile(computer: Computer) {\r\n if (computer && computer.ipAddress) {\r\n const rdpString = this.rdpService.buildRdpFileAsString(computer, this.trainingSession.cloudResourcesUserName);\r\n const blob = new Blob([rdpString], { type: 'text/plain;charset=utf-8' });\r\n saveAs(blob, this.rdpService.setRdpFileName(computer));\r\n }\r\n else {\r\n this.messages = [];\r\n this.messages.push({\r\n severity: 'error',\r\n summary: 'Cannot download RDP File.',\r\n detail: 'VM is not ready or information is not known.'\r\n });\r\n }\r\n }\r\n\r\n navigateToStudentConnect(student: TrainingStudent) {\r\n // Try to kill any refreshing\r\n this.enableRefreshing = false;\r\n this.enableComputerRefreshing = false;\r\n this.router.navigate(['/usertraining/' + encodeURIComponent(student.studentId)]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/training-session-detail/training-session-detail.component.ts","module.exports = \".table-filter {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.table-filter-input {\\r\\n width: 50%;\\r\\n margin-left: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n/* https://stackoverflow.com/a/38781945/483776 */\\r\\n\\r\\n.fa.disabled,\\r\\n.fa[disabled],\\r\\n.disabled > .fa,\\r\\n[disabled] > .fa {\\r\\n opacity: 0.25;\\r\\n pointer-events: none;\\r\\n /* cursor: not-allowed; */\\r\\n}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/training-sessions-list/training-sessions-list.component.css\n// module id = ./src/app/components/training-sessions-list/training-sessions-list.component.css\n// module chunks = main","module.exports = \"

Training Sessions Administration

\\r\\n
\\r\\n
0\\\" class=\\\"ui-g-12\\\">\\r\\n \\r\\n
\\r\\n
Loading...
\\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 {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{session.eventName}}\\r\\n {{session.courseName}}\\r\\n {{session.startDate | date: 'short' }}\\r\\n {{session.endDate | date: 'short' }}\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/training-sessions-list/training-sessions-list.component.html\n// module id = ./src/app/components/training-sessions-list/training-sessions-list.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { IsAdmin } from '../../guards/isAdmin';\r\nimport { Message, ConfirmationService } from 'primeng/api';\r\n// https://stackoverflow.com/questions/34660265/importing-lodash-into-angular2-typescript-application\r\nimport * as _ from 'lodash';\r\nimport { TrainingSession, TrainingSessionService, ITrainingSession } from '../../services/GI.Web.Services.g';\r\nimport { ErrorHandling } from '../../ErrorHandling';\r\n\r\n@Component({\r\n selector: 'app-training-sessions-list',\r\n templateUrl: './training-sessions-list.component.html',\r\n styleUrls: ['./training-sessions-list.component.css']\r\n})\r\nexport class TrainingSessionsListComponent implements OnInit {\r\n constructor(\r\n private trainingSessionService: TrainingSessionService,\r\n private router: Router,\r\n private adminGuard: IsAdmin,\r\n private confirmationService: ConfirmationService\r\n ) { }\r\n\r\n public trainingSessions: ITrainingSession[] = [];\r\n public trainingSessionsReady = false;\r\n public cols: any[] = [];\r\n public globalFilterFields: any[] = [];\r\n public messages: Message[] = [];\r\n public canEmailStudents = true;\r\n\r\n async ngOnInit() {\r\n this.adminGuard.canActivate();\r\n await this.getTrainingSessions();\r\n this.setColumns();\r\n }\r\n\r\n async getTrainingSessions() {\r\n try {\r\n this.trainingSessions = await this.trainingSessionService.getAll().toPromise();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Could not get Training Sessions');\r\n }\r\n this.trainingSessionsReady = true;\r\n }\r\n\r\n setColumns() {\r\n this.cols = [\r\n { field: 'eventName', header: 'Event', sortable: true, inGlobalFilter: true },\r\n { field: 'courseName', header: 'Course', sortable: true, inGlobalFilter: true },\r\n { field: 'startDate', header: 'Start', sortable: true, inGlobalFilter: false },\r\n { field: 'endDate', header: 'End', sortable: true, inGlobalFilter: false },\r\n { field: 'enableCloudResources', header: 'Cloud', sortable: true, inGlobalFilter: false },\r\n // { field: 'deploymentStatus', header: 'Cloud Status', sortable: true, inGlobalFilter: true },\r\n { field: '', header: 'Actions', sortable: false, inGlobalFilter: false }\r\n ];\r\n this.cols.forEach(c => {\r\n if (c.inGlobalFilter) {\r\n this.globalFilterFields.push(c.field);\r\n }\r\n });\r\n }\r\n\r\n navigateToDetail(id: string) {\r\n this.router.navigate(['/trainingsession/' + encodeURIComponent(id)]);\r\n }\r\n\r\n addTrainingSession() {\r\n this.router.navigate(['/trainingsession/new']);\r\n }\r\n\r\n confirmDelete(session: TrainingSession) {\r\n this.confirmationService.confirm({\r\n message: `Are you sure you want to permanently delete the Training Session '${session.eventName}'?`,\r\n accept: () => this.delete(session)\r\n });\r\n }\r\n\r\n async delete(session: TrainingSession) {\r\n try {\r\n await this.trainingSessionService.delete(session.id).toPromise();\r\n // After successfully deleted on server, remove from local list\r\n _.remove(this.trainingSessions, session);\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n confirmEmailAllStudents(session: ITrainingSession) {\r\n this.confirmationService.confirm({\r\n message: 'Are you sure you want to Email ALL students?',\r\n accept: () => {\r\n this.emailStudents(session);\r\n }\r\n });\r\n }\r\n\r\n public async emailStudents(session: ITrainingSession): Promise {\r\n this.canEmailStudents = false;\r\n try {\r\n await this.trainingSessionService.mailAll(session.id).toPromise();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error, 'Failed to email all students:');\r\n }\r\n this.canEmailStudents = true;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/training-sessions-list/training-sessions-list.component.ts","module.exports = \".form-label {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.form-value {\\r\\n border-style: none none solid none;\\r\\n border-color: #f59121;\\r\\n border-width: 2px;\\r\\n /* Set a min height because the value might be empty, causing the 'underline' to collapse to the top of the box */\\r\\n min-height: 14pt;\\r\\n}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/training-user-detail/training-user-detail.component.css\n// module id = ./src/app/components/training-user-detail/training-user-detail.component.css\n// module chunks = main","module.exports = \"

Training Session Information

\\r\\n
\\r\\n
0\\\" class=\\\"ui-g-12\\\">\\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
\\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
\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/training-user-detail/training-user-detail.component.html\n// module id = ./src/app/components/training-user-detail/training-user-detail.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Message } from 'primeng/api';\r\nimport { saveAs } from 'file-saver';\r\n\r\nimport { ITrainingSessionUser, TrainingSessionUserService } from '../../services/GI.Web.Services.g';\r\nimport { RdpService } from '../../services/rdp.service';\r\nimport { ErrorHandling } from '../../ErrorHandling';\r\n\r\n@Component({\r\n selector: 'app-training-user-detail',\r\n templateUrl: './training-user-detail.component.html',\r\n styleUrls: ['./training-user-detail.component.css']\r\n})\r\nexport class TrainingUserDetailComponent implements OnInit {\r\n\r\n public studentId: string;\r\n public trainingSessionUser: ITrainingSessionUser;\r\n public trainingSessionUserReady = false;\r\n public messages: Message[] = [];\r\n\r\n constructor(\r\n private trainingSessionUserService: TrainingSessionUserService,\r\n private rdpService: RdpService,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getStudentIdFromRoute();\r\n }\r\n\r\n async getStudentIdFromRoute() {\r\n // TODO: Can we use async with params?\r\n // const params = await this.route.paramMap.take(1).toPromise();\r\n // this.studentId = params['studentId'];\r\n // await this.getTrainingSessionUser();\r\n this.route.params.subscribe(async params => {\r\n this.studentId = params['studentId'];\r\n await this.getTrainingSessionUser();\r\n });\r\n }\r\n\r\n async getTrainingSessionUser() {\r\n try {\r\n this.trainingSessionUser = await this.trainingSessionUserService.get(this.studentId).toPromise();\r\n } catch (error) {\r\n this.messages = ErrorHandling.getErrorMessages(error);\r\n }\r\n this.trainingSessionUserReady = true;\r\n }\r\n\r\n downloadRdp() {\r\n if (this.trainingSessionUser.targetComputer && this.trainingSessionUser.targetComputer.ipAddress) {\r\n const rdpString = this.rdpService.buildRdpFileAsString(this.trainingSessionUser.targetComputer, this.trainingSessionUser.userName);\r\n const blob = new Blob([rdpString], { type: 'text/plain;charset=utf-8' });\r\n saveAs(blob, this.rdpService.setRdpFileName(this.trainingSessionUser.targetComputer));\r\n }\r\n else {\r\n this.messages = [];\r\n this.messages.push({\r\n severity: 'error',\r\n summary: 'Cannot download RDP File.',\r\n detail: 'VM is not ready or information is not known.'\r\n });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/training-user-detail/training-user-detail.component.ts","module.exports = \"label {\\r\\n font-weight: bold;\\r\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/userConnect/userConnect.component.css\n// module id = ./src/app/components/userConnect/userConnect.component.css\n// module chunks = main","module.exports = \"

Paradise Cloud

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Loading ...\\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 {{evaluation.displayName}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{evaluation.paradiseVersion}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{evaluation.start.toLocaleDateString()}} to {{evaluation.end.toLocaleDateString()}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{evaluation.interactiveCreditsAvailable}}\\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
\\r\\n {{evaluation.state}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{clientComputer?.state}}\\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 {{evaluation.vmPassword}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Start Client VM\\r\\n \\r\\n \\r\\n Stop Client VM\\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 \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/userConnect/userConnect.component.html\n// module id = ./src/app/components/userConnect/userConnect.component.html\n// module chunks = main","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Message, ConfirmationService } from 'primeng/components/common/api';\r\nimport { saveAs } from 'file-saver';\r\n\r\nimport { EvaluationSystemService } from '../../services/evaluation-system.service';\r\nimport { CurrentUserService } from '../../services/current-user.service';\r\nimport { RdpService } from '../../services/rdp.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ComputerStates } from '../../models/computerState';\r\nimport { EvaluationStates } from '../../models/evaluationState';\r\nimport { Computer, Evaluation, EvaluationService, StartEvaluationParameters } from '../../services/GI.Web.Services.g';\r\nimport { ErrorHandling } from '../../ErrorHandling';\r\n\r\n@Component({\r\n selector: 'app-userConnect',\r\n templateUrl: './userConnect.component.html',\r\n styleUrls: ['./userConnect.component.css']\r\n})\r\nexport class UserConnectComponent implements OnInit {\r\n constructor(\r\n private _evaluationService: EvaluationService,\r\n private _evaluationSystemService: EvaluationSystemService,\r\n private _confirmationService: ConfirmationService,\r\n private _currentUserService: CurrentUserService,\r\n private _rdpService: RdpService) { }\r\n\r\n public evaluation: Evaluation = null;\r\n public clientComputer: Computer = null;\r\n public userConnectComputerStates: any = ComputerStates;\r\n public stateMessages: Message[] = [];\r\n public errorMessages: Message[] = [];\r\n public showStartEvalDialog = false;\r\n public startingEval = false;\r\n public userName: string = null;\r\n public password: string = null;\r\n public passwordVerification: string = null;\r\n public revealed = false;\r\n\r\n private currentUser: string;\r\n\r\n ngOnInit() {\r\n this.getUser().subscribe(_ => {\r\n this.getEvaluation();\r\n });\r\n }\r\n\r\n getUser(): Observable {\r\n return this._currentUserService.getUser().map(user => {\r\n this.currentUser = user.email;\r\n return this.currentUser;\r\n });\r\n }\r\n\r\n async getEvaluation() {\r\n try {\r\n this.evaluation = await this._evaluationSystemService.getUserEvaluation().toPromise();\r\n if (this.evaluation.state === EvaluationStates.deploying) {\r\n this.updateMessageBannerForDeployment(EvaluationStates.deploying);\r\n }\r\n this.initializeClientComputer();\r\n // Always refresh.\r\n this.refreshEvaluation();\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n startEvaluation() {\r\n this.showStartEvalDialog = true;\r\n }\r\n\r\n async saveStartEvalParameters() {\r\n this.showStartEvalDialog = false;\r\n this.startingEval = true;\r\n try {\r\n await this._evaluationService.startEvaluation(this.evaluation.name,\r\n new StartEvaluationParameters({ userName: this.evaluation.vmUserName, password: this.evaluation.vmPassword })).toPromise();\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n refreshEvaluation() {\r\n this._evaluationSystemService.getEvaluation(this.evaluation.name).subscribe(result => {\r\n if (result.state !== this.evaluation.state) {\r\n this.updateMessageBannerForDeployment(result.state);\r\n }\r\n this.startingEval = false; // unclear disable of button while waiting for 1rst refresh\r\n this.evaluation = result;\r\n\r\n // Update Client computer state\r\n const userClient = this.evaluation.clients.find(c => this.safeLower(c.user) === this.safeLower(this.currentUser));\r\n if (this.clientComputer.resourceId === 'not ready') {\r\n this.initializeClientComputer();\r\n }\r\n else {\r\n this.updateClientState(userClient);\r\n }\r\n setTimeout(() => this.refreshEvaluation(), environment.pollTime);\r\n });\r\n }\r\n\r\n initializeClientComputer() {\r\n if (this.evaluation.clients.length > 0) {\r\n const userClient = this.evaluation.clients.find(c => this.safeLower(c.user) === this.safeLower(this.currentUser));\r\n if (userClient != null) {\r\n this.clientComputer = userClient;\r\n if ((this.clientComputer.state === ComputerStates.starting) || (this.clientComputer.state === ComputerStates.stopping)) {\r\n this.updateMessageBannerForClientState(this.clientComputer.state);\r\n }\r\n } else {\r\n throw new Error('Evaluation did not contain computer for:' + this.currentUser);\r\n }\r\n }\r\n else {\r\n this.clientComputer = new Computer({\r\n resourceId: 'not ready',\r\n state: 'unknown',\r\n isServer: false\r\n });\r\n }\r\n }\r\n\r\n safeLower(text: string) {\r\n if (text == null) {\r\n return null;\r\n }\r\n return text.toLocaleLowerCase();\r\n }\r\n updateClientState(updatedClient: Computer) {\r\n const newState = updatedClient.state;\r\n // Since view is ahead of server response only update under the following conditions\r\n if (newState === ComputerStates.starting && (this.clientComputer.state === ComputerStates.stopped || this.clientComputer.state === ComputerStates.unknown)) {\r\n this.clientComputer.state = ComputerStates.starting;\r\n this.updateMessageBannerForClientState(ComputerStates.starting);\r\n }\r\n else if (newState === ComputerStates.running && (this.clientComputer.state === ComputerStates.starting || this.clientComputer.state === ComputerStates.unknown)) {\r\n this.clientComputer.state = ComputerStates.running;\r\n // Also update IP Address on running instances\r\n this.clientComputer.ipAddress = updatedClient.ipAddress;\r\n this.updateMessageBannerForClientState(ComputerStates.running);\r\n }\r\n else if (newState === ComputerStates.stopping && (this.clientComputer.state === ComputerStates.running || this.clientComputer.state === ComputerStates.unknown)) {\r\n this.clientComputer.state = ComputerStates.stopping;\r\n this.updateMessageBannerForClientState(ComputerStates.stopping);\r\n }\r\n else if (newState === ComputerStates.stopped && (this.clientComputer.state === ComputerStates.stopping || this.clientComputer.state === ComputerStates.unknown)) {\r\n this.clientComputer.state = ComputerStates.stopped;\r\n this.updateMessageBannerForClientState(ComputerStates.stopped);\r\n }\r\n }\r\n\r\n cancelStartEvalParameters() {\r\n this.userName = null;\r\n this.password = null;\r\n this.showStartEvalDialog = false;\r\n }\r\n\r\n confirmStopEvaluation() {\r\n this._confirmationService.confirm({\r\n message: 'Are you sure you want to STOP ' + this.evaluation.displayName + '?',\r\n accept: () => {\r\n this.stopEvaluation();\r\n }\r\n });\r\n }\r\n\r\n async stopEvaluation() {\r\n try {\r\n await this._evaluationService.stopEvaluation(this.evaluation.name).toPromise();\r\n } catch (error) {\r\n ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n async startInstance() {\r\n const startingClient = new Computer({\r\n resourceId: this.clientComputer.resourceId,\r\n state: ComputerStates.starting,\r\n ipAddress: this.clientComputer.ipAddress,\r\n isServer: false\r\n });\r\n this.updateClientState(startingClient);\r\n try {\r\n await this._evaluationService.startClient(this.evaluation.name, this.currentUser).toPromise();\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n async stopInstance() {\r\n const stoppingClient = new Computer({\r\n resourceId: this.clientComputer.resourceId,\r\n state: ComputerStates.stopping,\r\n ipAddress: this.clientComputer.ipAddress,\r\n isServer: false\r\n });\r\n this.updateClientState(stoppingClient);\r\n try {\r\n await this._evaluationService.stopClient(this.evaluation.name, this.currentUser).toPromise();\r\n } catch (error) {\r\n this.errorMessages = ErrorHandling.getErrorMessages(error);\r\n }\r\n }\r\n\r\n connect() {\r\n const targetComputer = this.evaluation.clients.find(c => c.user === this.currentUser);\r\n const rdpString = this._rdpService.buildRdpFileAsString(targetComputer, this.evaluation.vmUserName);\r\n const blob = new Blob([rdpString], { type: 'text/plain;charset=utf-8' });\r\n saveAs(blob, this.evaluation.name + '.rdp');\r\n }\r\n\r\n updateMessageBannerForDeployment(state: string) {\r\n this.stateMessages = [];\r\n switch (state) {\r\n case EvaluationStates.notStarted: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Not Started', detail: 'The Evaluation has not yet been initialized to start.' });\r\n break;\r\n }\r\n case EvaluationStates.deploying: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Deploying', detail: 'The Evaluation is currently deploying.' });\r\n break;\r\n }\r\n case EvaluationStates.started: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Successfully Started', detail: 'The Evaluation has been deployed and started.' });\r\n break;\r\n }\r\n case EvaluationStates.ended: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Successfully Ended', detail: 'The Evaluation has deallocated and successfully ended.' });\r\n break;\r\n }\r\n case EvaluationStates.deployFailed: {\r\n this.stateMessages.push({ severity: 'error', summary: 'Deployment Failed', detail: 'Something went wrong with the deployment. Contact the Geophysical Insights team.' });\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n updateMessageBannerForClientState(state: string) {\r\n this.stateMessages = [];\r\n switch (state) {\r\n case ComputerStates.stopping: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Deallocating', detail: 'The Paradise Client virtual machine is stopping.' });\r\n break;\r\n }\r\n case ComputerStates.stopped: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Deallocated', detail: 'The Paradise Client virtual machine has stopped.' });\r\n break;\r\n }\r\n case ComputerStates.running: {\r\n this.stateMessages.push({ severity: 'success', summary: 'Running', detail: 'The Paradise Client virtual machine is running and ready.' });\r\n break;\r\n }\r\n case ComputerStates.starting: {\r\n this.stateMessages.push({ severity: 'warn', summary: 'Starting', detail: 'The Paradise Client virtual machine is starting up.' });\r\n break;\r\n }\r\n // No status updates for Stopping, Stopped, and unknown at this point.\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n reveal() {\r\n this.revealed = !this.revealed;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/userConnect/userConnect.component.ts","module.exports = \" .markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5 {\\r\\n font-weight: 900;\\r\\n margin: 1.5em 0;\\r\\n }\\r\\n .markdown p {\\r\\n margin: 1em 0;\\r\\n }\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/view/view.component.css\n// module id = ./src/app/components/view/view.component.css\n// module chunks = main","module.exports = \"

\\r\\n {{file}}\\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/view/view.component.html\n// module id = ./src/app/components/view/view.component.html\n// module chunks = main","import { Component, OnInit, NgZone, ViewEncapsulation } from '@angular/core';\r\nimport { FileService } from \"../../services/file.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport 'rxjs/add/operator/switchMap';\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { MarkdownService } from 'angular2-markdown';\r\n\r\n@Component({\r\n selector: 'app-view',\r\n templateUrl: './view.component.html',\r\n styleUrls: ['./view.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewComponent implements OnInit {\r\n\r\n constructor(\r\n private _fileService: FileService,\r\n private _route: ActivatedRoute,\r\n private zone: NgZone,\r\n private _markdown: MarkdownService) { }\r\n\r\n // mdurl : string = \"https://gist.githubusercontent.com/jxson/1784669/raw/de4e1b30f4d08cb759dac19619d3d5ba1f35bc96/README.md\";\r\n mdurl: string;\r\n file: string;\r\n\r\n ngOnInit() {\r\n this._route.paramMap.switchMap(p => {\r\n this.file = p.get('file');\r\n return this._fileService.getUrl(this.file);\r\n }).subscribe(p => {\r\n this.mdurl = p + '&f.md';\r\n });\r\n this._markdown.renderer.link = (href: string, title: string, text: string) => {\r\n return `${text}`;\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/view/view.component.ts","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { CurrentUserService } from '../services/current-user.service';\r\n\r\n\r\n@Injectable()\r\nexport class IsAdmin implements CanActivate {\r\n\r\n constructor(private _currentUserService: CurrentUserService) { }\r\n\r\n canActivate() {\r\n return this._currentUserService.getUser().map(u => u.isAdmin);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/guards/isAdmin.ts","export enum ComputerStates {\r\n stopped = \"Deallocated\",\r\n stopping = \"Deallocating\",\r\n running = \"Running\",\r\n starting = \"Starting\",\r\n unknown = \"Unknown\"\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/computerState.ts","import { isUndefined } from 'util';\r\nimport { Evaluation, IEvaluation } from '../services/GI.Web.Services.g';\r\nimport { PeriodStatuses } from './periodStatus';\r\n\r\n/** Extended version of the Evaluation DTO which has calculated properties for binding in the UI */\r\nexport class EvaluationModel extends Evaluation {\r\n public get periodStatus(): string {\r\n const now = new Date(Date.now());\r\n if (this.start <= now && this.end >= now) {\r\n return PeriodStatuses.active;\r\n }\r\n if (this.end < now) {\r\n return PeriodStatuses.completed;\r\n }\r\n return PeriodStatuses.notStarted;\r\n }\r\n\r\n public get interactiveCreditsAvailable(): number {\r\n if (!isUndefined(this.interactiveCredits) && !isUndefined(this.interactiveCreditsUsed)) {\r\n return this.interactiveCredits - this.interactiveCreditsUsed;\r\n }\r\n return 0;\r\n }\r\n\r\n constructor(evaluation?: IEvaluation) {\r\n super(evaluation);\r\n this.clients = this.clients || [];\r\n this.users = this.users || [];\r\n this.displayName = this.displayName || this.name;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/evaluation-model.ts","export enum EvaluationStates {\r\n notStarted = \"NotStarted\",\r\n deploying = \"Deploying\",\r\n started = \"Started\",\r\n ended = \"Ended\",\r\n deployFailed = \"DeployFailed\"\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/evaluationState.ts","import { TreeNode } from 'primeng/primeng';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\r\nexport class FileNode implements TreeNode {\r\n public data : FileInfo;\r\n public leaf = false;\r\n public children?: FileNode[] = [];\r\n public parent?:FileNode;\r\n public get hasBeta(){\r\n if (!this.children || this.children.length == 0) return false;\r\n for (let i =0; iparseInt(p));\r\n this._order = partsNumber[0] * 100 *1000 + partsNumber[1] * 1000 + partsNumber[2];\r\n \r\n return this._order;\r\n } catch(e){\r\n this._order = 0;\r\n return this._order; \r\n }\r\n }\r\n public get size() {\r\n if (this.contentLength) {\r\n return (this.contentLength/(1024*1024)).toFixed(2) + \" MB\";\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n public contentLength : number;\r\n public get displayName() :string{\r\n let parts = this.name.split('/');\r\n if (this.name.endsWith('/')) {\r\n return parts[parts.length-2];\r\n } else {\r\n return parts[parts.length-1];\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/filenode.ts","export enum PeriodStatuses {\r\n notStarted = \"Not Started\",\r\n active = \"Active\",\r\n suspended = \"Suspended\",\r\n completed = \"Completed\",\r\n canceled = \"Canceled\"\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/periodStatus.ts","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ResourceDeploymentState } from '../services/GI.Web.Services.g';\r\n\r\n@Pipe({ name: 'resourceDeploymentStateToString' })\r\nexport class ResourceDeploymentStateToStringPipe implements PipeTransform {\r\n transform(value: ResourceDeploymentState): string {\r\n // HACK: Change Running to Deploying to make it more clear for the user. Evaluations does this a different way. :-/\r\n if (value === ResourceDeploymentState.Running) {\r\n return 'Deploying';\r\n }\r\n if (value === ResourceDeploymentState.NotSpecified) {\r\n return 'Not Specified';\r\n }\r\n // Using built-in feature of TypeScript enums to return string via indexer\r\n return ResourceDeploymentState[value];\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/pipes/resourceDeploymentStatePipe.ts","/* tslint:disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v12.0.4.0 (NJsonSchema v9.12.7.0 (Newtonsoft.Json v10.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport 'rxjs/add/observable/fromPromise';\r\nimport 'rxjs/add/observable/of';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/mergeMap';\r\nimport 'rxjs/add/operator/catch';\r\n\r\nimport { Observable } from 'rxjs/Observable';\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 IEvaluationService {\r\n getAll(): Observable;\r\n post(evaluation: Evaluation): Observable;\r\n put(evaluation: Evaluation): Observable;\r\n getUserEvaluation(): Observable;\r\n get(name: string | null): Observable;\r\n delete(name: string | null): Observable;\r\n startEvaluation(name: string | null, startEvaluationParameters: StartEvaluationParameters): Observable;\r\n stopEvaluation(name: string | null): Observable;\r\n getClientState(evaluationName: string | null, email: string | null): Observable;\r\n startClient(evaluationName: string | null, email: string | null): Observable;\r\n stopClient(evaluationName: string | null, email: string | null): Observable;\r\n startServer(name: string | null): Observable;\r\n stopServer(name: string | null): Observable;\r\n eGNotifyDeploymentEvent(): Observable;\r\n checkForEndedEvaluations(): Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class EvaluationService implements IEvaluationService {\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 ? baseUrl : \"\";\r\n }\r\n\r\n getAll(): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation\";\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_).flatMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200 && resultData200.constructor === Array) {\r\n result200 = [];\r\n for (let item of resultData200)\r\n result200.push(Evaluation.fromJS(item));\r\n }\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n post(evaluation: Evaluation): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(evaluation);\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_).flatMap((response_ : any) => {\r\n return this.processPost(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPost(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\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).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? Evaluation.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n put(evaluation: Evaluation): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(evaluation);\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 })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).flatMap((response_ : any) => {\r\n return this.processPut(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPut(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processPut(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getUserEvaluation(): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/getuserevaluation\";\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_).flatMap((response_ : any) => {\r\n return this.processGetUserEvaluation(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserEvaluation(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetUserEvaluation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? Evaluation.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n get(name: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name)); \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_).flatMap((response_ : any) => {\r\n return this.processGet(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\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).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? Evaluation.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n delete(name: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name)); \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 })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).flatMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\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).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n startEvaluation(name: string | null, startEvaluationParameters: StartEvaluationParameters): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/startevaluation/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(startEvaluationParameters);\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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStartEvaluation(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStartEvaluation(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStartEvaluation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n stopEvaluation(name: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/stopevaluation/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStopEvaluation(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStopEvaluation(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStopEvaluation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getClientState(evaluationName: string | null, email: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/clientState/{evaluationName}/{email}\";\r\n if (evaluationName === undefined || evaluationName === null)\r\n throw new Error(\"The parameter 'evaluationName' must be defined.\");\r\n url_ = url_.replace(\"{evaluationName}\", encodeURIComponent(\"\" + evaluationName)); \r\n if (email === undefined || email === null)\r\n throw new Error(\"The parameter 'email' must be defined.\");\r\n url_ = url_.replace(\"{email}\", encodeURIComponent(\"\" + email)); \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_).flatMap((response_ : any) => {\r\n return this.processGetClientState(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetClientState(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetClientState(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_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 return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n startClient(evaluationName: string | null, email: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/startclient/{evaluationName}/{email}\";\r\n if (evaluationName === undefined || evaluationName === null)\r\n throw new Error(\"The parameter 'evaluationName' must be defined.\");\r\n url_ = url_.replace(\"{evaluationName}\", encodeURIComponent(\"\" + evaluationName)); \r\n if (email === undefined || email === null)\r\n throw new Error(\"The parameter 'email' must be defined.\");\r\n url_ = url_.replace(\"{email}\", encodeURIComponent(\"\" + email)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStartClient(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStartClient(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStartClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n stopClient(evaluationName: string | null, email: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/stopclient/{evaluationName}/{email}\";\r\n if (evaluationName === undefined || evaluationName === null)\r\n throw new Error(\"The parameter 'evaluationName' must be defined.\");\r\n url_ = url_.replace(\"{evaluationName}\", encodeURIComponent(\"\" + evaluationName)); \r\n if (email === undefined || email === null)\r\n throw new Error(\"The parameter 'email' must be defined.\");\r\n url_ = url_.replace(\"{email}\", encodeURIComponent(\"\" + email)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStopClient(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStopClient(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStopClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n startServer(name: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/startserver/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStartServer(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStartServer(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStartServer(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n stopServer(name: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/stopserver/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStopServer(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStopServer(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStopServer(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n eGNotifyDeploymentEvent(): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/egdeploymentevent\";\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(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processEGNotifyDeploymentEvent(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processEGNotifyDeploymentEvent(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processEGNotifyDeploymentEvent(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Observable.of({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n checkForEndedEvaluations(): Observable {\r\n let url_ = this.baseUrl + \"/api/Evaluation/checkended\";\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 })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).flatMap((response_ : any) => {\r\n return this.processCheckForEndedEvaluations(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCheckForEndedEvaluations(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processCheckForEndedEvaluations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\nexport interface IFilesService {\r\n getUrl(file: string | null): Observable;\r\n getUser(setFreshdeskProperties: boolean | undefined): Observable;\r\n getContainerSAS(): Observable;\r\n getTableSAS(): Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class FilesService implements IFilesService {\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 ? baseUrl : \"\";\r\n }\r\n\r\n getUrl(file: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Files/GetUrl/{file}\";\r\n if (file === undefined || file === null)\r\n throw new Error(\"The parameter 'file' must be defined.\");\r\n url_ = url_.replace(\"{file}\", encodeURIComponent(\"\" + file)); \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_).flatMap((response_ : any) => {\r\n return this.processGetUrl(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUrl(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetUrl(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_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 return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getUser(setFreshdeskProperties: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Files/GetUser?\";\r\n if (setFreshdeskProperties === null)\r\n throw new Error(\"The parameter 'setFreshdeskProperties' cannot be null.\");\r\n else if (setFreshdeskProperties !== undefined)\r\n url_ += \"setFreshdeskProperties=\" + encodeURIComponent(\"\" + setFreshdeskProperties) + \"&\"; \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_).flatMap((response_ : any) => {\r\n return this.processGetUser(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUser(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? User.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getContainerSAS(): Observable {\r\n let url_ = this.baseUrl + \"/api/Files/GetContainerSAS\";\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_).flatMap((response_ : any) => {\r\n return this.processGetContainerSAS(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetContainerSAS(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetContainerSAS(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_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 return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getTableSAS(): Observable {\r\n let url_ = this.baseUrl + \"/api/Files/GetTableSAS\";\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_).flatMap((response_ : any) => {\r\n return this.processGetTableSAS(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTableSAS(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetTableSAS(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_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 return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\nexport interface IQaSessionService {\r\n getAll(): Observable;\r\n createQaSession(session: QaSession): Observable;\r\n updateQaSession(session: QaSession): Observable;\r\n delete(session: QaSession): Observable;\r\n getQaSession(id: string | null): Observable;\r\n getComputers(session: QaSession): Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class QaSessionService implements IQaSessionService {\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 ? baseUrl : \"\";\r\n }\r\n\r\n getAll(): Observable {\r\n let url_ = this.baseUrl + \"/api/QaSession\";\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_).flatMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200 && resultData200.constructor === Array) {\r\n result200 = [];\r\n for (let item of resultData200)\r\n result200.push(QaSession.fromJS(item));\r\n }\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n createQaSession(session: QaSession): Observable {\r\n let url_ = this.baseUrl + \"/api/QaSession\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(session);\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_).flatMap((response_ : any) => {\r\n return this.processCreateQaSession(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateQaSession(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processCreateQaSession(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? QaSession.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n updateQaSession(session: QaSession): Observable {\r\n let url_ = this.baseUrl + \"/api/QaSession\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(session);\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_).flatMap((response_ : any) => {\r\n return this.processUpdateQaSession(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateQaSession(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processUpdateQaSession(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? QaSession.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n delete(session: QaSession): Observable {\r\n let url_ = this.baseUrl + \"/api/QaSession\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(session);\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 })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).flatMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\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).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getQaSession(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/{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_).flatMap((response_ : any) => {\r\n return this.processGetQaSession(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetQaSession(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetQaSession(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? QaSession.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getComputers(session: QaSession): Observable {\r\n let url_ = this.baseUrl + \"/api/QaSession/computers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(session);\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_).flatMap((response_ : any) => {\r\n return this.processGetComputers(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetComputers(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetComputers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200 && resultData200.constructor === Array) {\r\n result200 = [];\r\n for (let item of resultData200)\r\n result200.push(Computer.fromJS(item));\r\n }\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\nexport interface IRegionsService {\r\n getList(): Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class RegionsService implements IRegionsService {\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 ? baseUrl : \"\";\r\n }\r\n\r\n getList(): Observable {\r\n let url_ = this.baseUrl + \"/api/Regions\";\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_).flatMap((response_ : any) => {\r\n return this.processGetList(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetList(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? OptionList.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\nexport interface ITrainingCloudActivityService {\r\n getDeploymentState(trainingSessionId: string | null): Observable;\r\n deleteResources(trainingSessionId: string | null): Observable;\r\n deploy(trainingSessionId: string | null): Observable;\r\n getTrainingComputers(trainingSessionId: string | null): Observable;\r\n restartAllComputers(trainingSessionId: string | null): Observable;\r\n stopAllComputers(trainingSessionId: string | null): Observable;\r\n startAllComputers(trainingSessionId: string | null): Observable;\r\n stopComputer(trainingSessionId: string | null, computerNumber: string | null): Observable;\r\n startComputer(trainingSessionId: string | null, computerNumber: string | null): Observable;\r\n restartComputer(trainingSessionId: string | null, computerNumber: string | null): Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class TrainingCloudActivityService implements ITrainingCloudActivityService {\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 ? baseUrl : \"\";\r\n }\r\n\r\n getDeploymentState(trainingSessionId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \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_).flatMap((response_ : any) => {\r\n return this.processGetDeploymentState(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDeploymentState(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetDeploymentState(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_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 return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n deleteResources(trainingSessionId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \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 })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).flatMap((response_ : any) => {\r\n return this.processDeleteResources(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteResources(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processDeleteResources(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n deploy(trainingSessionId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/deploy\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \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(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processDeploy(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeploy(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processDeploy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? TrainingSession.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getTrainingComputers(trainingSessionId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/computers\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \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_).flatMap((response_ : any) => {\r\n return this.processGetTrainingComputers(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTrainingComputers(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetTrainingComputers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200 && resultData200.constructor === Array) {\r\n result200 = [];\r\n for (let item of resultData200)\r\n result200.push(Computer.fromJS(item));\r\n }\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n restartAllComputers(trainingSessionId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/restartall\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processRestartAllComputers(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRestartAllComputers(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processRestartAllComputers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n stopAllComputers(trainingSessionId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/stopall\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStopAllComputers(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStopAllComputers(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStopAllComputers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n startAllComputers(trainingSessionId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/startall\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStartAllComputers(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStartAllComputers(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStartAllComputers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n stopComputer(trainingSessionId: string | null, computerNumber: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/stop/{computerNumber}\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \r\n if (computerNumber === undefined || computerNumber === null)\r\n throw new Error(\"The parameter 'computerNumber' must be defined.\");\r\n url_ = url_.replace(\"{computerNumber}\", encodeURIComponent(\"\" + computerNumber)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStopComputer(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStopComputer(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStopComputer(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n startComputer(trainingSessionId: string | null, computerNumber: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/start/{computerNumber}\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \r\n if (computerNumber === undefined || computerNumber === null)\r\n throw new Error(\"The parameter 'computerNumber' must be defined.\");\r\n url_ = url_.replace(\"{computerNumber}\", encodeURIComponent(\"\" + computerNumber)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processStartComputer(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processStartComputer(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processStartComputer(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n restartComputer(trainingSessionId: string | null, computerNumber: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingCloudActivity/{trainingSessionId}/restart/{computerNumber}\";\r\n if (trainingSessionId === undefined || trainingSessionId === null)\r\n throw new Error(\"The parameter 'trainingSessionId' must be defined.\");\r\n url_ = url_.replace(\"{trainingSessionId}\", encodeURIComponent(\"\" + trainingSessionId)); \r\n if (computerNumber === undefined || computerNumber === null)\r\n throw new Error(\"The parameter 'computerNumber' must be defined.\");\r\n url_ = url_.replace(\"{computerNumber}\", encodeURIComponent(\"\" + computerNumber)); \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processRestartComputer(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRestartComputer(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processRestartComputer(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\nexport interface ITrainingSessionService {\r\n getById(id: string | null): Observable;\r\n put(id: string | null, trainingSession: TrainingSession): Observable;\r\n delete(id: string | null): Observable;\r\n getAll(): Observable;\r\n post(trainingSession: TrainingSession): Observable;\r\n filter(idFilter: string | null | undefined, instructorFilter: string | null | undefined, eventNameFilter: string | null | undefined, trainingStudentFilter: string | null | undefined, startedOnOrAfter: Date | null | undefined, startedBefore: Date | null | undefined, endedOnOrAfter: Date | null | undefined, endedBefore: Date | null | undefined, locationFilter: string | null | undefined, courseNameFilter: string | null | undefined, notesFilter: string | null | undefined, cloudResourcesEnabled: boolean | null | undefined, createdByFilter: string | null | undefined, createdOnOrAfter: Date | null | undefined, createdBefore: Date | null | undefined, modifiedByFilter: string | null | undefined, modifiedOnOrAfter: Date | null | undefined, modifiedBefore: Date | null | undefined): Observable;\r\n mailAll(id: string | null): Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class TrainingSessionService implements ITrainingSessionService {\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 ? baseUrl : \"\";\r\n }\r\n\r\n getById(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSession/{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_).flatMap((response_ : any) => {\r\n return this.processGetById(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetById(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? TrainingSession.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n put(id: string | null, trainingSession: TrainingSession): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSession/{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(trainingSession);\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_).flatMap((response_ : any) => {\r\n return this.processPut(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPut(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processPut(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? TrainingSession.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n delete(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSession/{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 })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).flatMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\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).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n getAll(): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSession\";\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_).flatMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200 && resultData200.constructor === Array) {\r\n result200 = [];\r\n for (let item of resultData200)\r\n result200.push(TrainingSession.fromJS(item));\r\n }\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n post(trainingSession: TrainingSession): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSession\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(trainingSession);\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_).flatMap((response_ : any) => {\r\n return this.processPost(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPost(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\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).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? TrainingSession.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n filter(idFilter: string | null | undefined, instructorFilter: string | null | undefined, eventNameFilter: string | null | undefined, trainingStudentFilter: string | null | undefined, startedOnOrAfter: Date | null | undefined, startedBefore: Date | null | undefined, endedOnOrAfter: Date | null | undefined, endedBefore: Date | null | undefined, locationFilter: string | null | undefined, courseNameFilter: string | null | undefined, notesFilter: string | null | undefined, cloudResourcesEnabled: boolean | null | undefined, createdByFilter: string | null | undefined, createdOnOrAfter: Date | null | undefined, createdBefore: Date | null | undefined, modifiedByFilter: string | null | undefined, modifiedOnOrAfter: Date | null | undefined, modifiedBefore: Date | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSession/filter?\";\r\n if (idFilter !== undefined)\r\n url_ += \"IdFilter=\" + encodeURIComponent(\"\" + idFilter) + \"&\"; \r\n if (instructorFilter !== undefined)\r\n url_ += \"InstructorFilter=\" + encodeURIComponent(\"\" + instructorFilter) + \"&\"; \r\n if (eventNameFilter !== undefined)\r\n url_ += \"EventNameFilter=\" + encodeURIComponent(\"\" + eventNameFilter) + \"&\"; \r\n if (trainingStudentFilter !== undefined)\r\n url_ += \"TrainingStudentFilter=\" + encodeURIComponent(\"\" + trainingStudentFilter) + \"&\"; \r\n if (startedOnOrAfter !== undefined)\r\n url_ += \"StartedOnOrAfter=\" + encodeURIComponent(startedOnOrAfter ? \"\" + startedOnOrAfter.toJSON() : \"\") + \"&\"; \r\n if (startedBefore !== undefined)\r\n url_ += \"StartedBefore=\" + encodeURIComponent(startedBefore ? \"\" + startedBefore.toJSON() : \"\") + \"&\"; \r\n if (endedOnOrAfter !== undefined)\r\n url_ += \"EndedOnOrAfter=\" + encodeURIComponent(endedOnOrAfter ? \"\" + endedOnOrAfter.toJSON() : \"\") + \"&\"; \r\n if (endedBefore !== undefined)\r\n url_ += \"EndedBefore=\" + encodeURIComponent(endedBefore ? \"\" + endedBefore.toJSON() : \"\") + \"&\"; \r\n if (locationFilter !== undefined)\r\n url_ += \"LocationFilter=\" + encodeURIComponent(\"\" + locationFilter) + \"&\"; \r\n if (courseNameFilter !== undefined)\r\n url_ += \"CourseNameFilter=\" + encodeURIComponent(\"\" + courseNameFilter) + \"&\"; \r\n if (notesFilter !== undefined)\r\n url_ += \"NotesFilter=\" + encodeURIComponent(\"\" + notesFilter) + \"&\"; \r\n if (cloudResourcesEnabled !== undefined)\r\n url_ += \"CloudResourcesEnabled=\" + encodeURIComponent(\"\" + cloudResourcesEnabled) + \"&\"; \r\n if (createdByFilter !== undefined)\r\n url_ += \"CreatedByFilter=\" + encodeURIComponent(\"\" + createdByFilter) + \"&\"; \r\n if (createdOnOrAfter !== undefined)\r\n url_ += \"CreatedOnOrAfter=\" + encodeURIComponent(createdOnOrAfter ? \"\" + createdOnOrAfter.toJSON() : \"\") + \"&\"; \r\n if (createdBefore !== undefined)\r\n url_ += \"CreatedBefore=\" + encodeURIComponent(createdBefore ? \"\" + createdBefore.toJSON() : \"\") + \"&\"; \r\n if (modifiedByFilter !== undefined)\r\n url_ += \"ModifiedByFilter=\" + encodeURIComponent(\"\" + modifiedByFilter) + \"&\"; \r\n if (modifiedOnOrAfter !== undefined)\r\n url_ += \"ModifiedOnOrAfter=\" + encodeURIComponent(modifiedOnOrAfter ? \"\" + modifiedOnOrAfter.toJSON() : \"\") + \"&\"; \r\n if (modifiedBefore !== undefined)\r\n url_ += \"ModifiedBefore=\" + encodeURIComponent(modifiedBefore ? \"\" + modifiedBefore.toJSON() : \"\") + \"&\"; \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_).flatMap((response_ : any) => {\r\n return this.processFilter(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFilter(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processFilter(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200 && resultData200.constructor === Array) {\r\n result200 = [];\r\n for (let item of resultData200)\r\n result200.push(TrainingSession.fromJS(item));\r\n }\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n\r\n mailAll(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSession/mailall/{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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).flatMap((response_ : any) => {\r\n return this.processMailAll(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processMailAll(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\r\n });\r\n }\r\n\r\n protected processMailAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n return Observable.of(null);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\nexport interface ITrainingSessionUserService {\r\n get(studentId: string | null): Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class TrainingSessionUserService implements ITrainingSessionUserService {\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 ? baseUrl : \"\";\r\n }\r\n\r\n get(studentId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/TrainingSessionUser/{studentId}\";\r\n if (studentId === undefined || studentId === null)\r\n throw new Error(\"The parameter 'studentId' must be defined.\");\r\n url_ = url_.replace(\"{studentId}\", encodeURIComponent(\"\" + studentId)); \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_).flatMap((response_ : any) => {\r\n return this.processGet(response_);\r\n }).catch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >Observable.throw(e);\r\n }\r\n } else\r\n return >Observable.throw(response_);\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).error instanceof Blob ? (response).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).flatMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? TrainingSessionUser.fromJS(resultData200) : null;\r\n return Observable.of(result200);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).flatMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\nexport abstract class EntityBase implements IEntityBase {\r\n id?: string | undefined;\r\n __type?: string | undefined;\r\n createdBy?: string | undefined;\r\n createdDate?: Date | undefined;\r\n modifiedBy?: string | undefined;\r\n modifiedDate?: Date | undefined;\r\n\r\n constructor(data?: IEntityBase) {\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.__type = data[\"__type\"];\r\n this.createdBy = data[\"createdBy\"];\r\n this.createdDate = data[\"createdDate\"] ? new Date(data[\"createdDate\"].toString()) : undefined;\r\n this.modifiedBy = data[\"modifiedBy\"];\r\n this.modifiedDate = data[\"modifiedDate\"] ? new Date(data[\"modifiedDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EntityBase {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'EntityBase' cannot be instantiated.\");\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[\"__type\"] = this.__type;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IEntityBase {\r\n id?: string | undefined;\r\n __type?: string | undefined;\r\n createdBy?: string | undefined;\r\n createdDate?: Date | undefined;\r\n modifiedBy?: string | undefined;\r\n modifiedDate?: Date | undefined;\r\n}\r\n\r\nexport abstract class VmActivityBase extends EntityBase implements IVmActivityBase {\r\n name?: string | undefined;\r\n displayName?: string | undefined;\r\n state?: string | undefined;\r\n start: Date;\r\n end: Date;\r\n resourceGroupId?: string | undefined;\r\n paradiseVersion?: string | undefined;\r\n\r\n constructor(data?: IVmActivityBase) {\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.name = data[\"name\"];\r\n this.displayName = data[\"displayName\"];\r\n this.state = data[\"state\"];\r\n this.start = data[\"start\"] ? new Date(data[\"start\"].toString()) : undefined;\r\n this.end = data[\"end\"] ? new Date(data[\"end\"].toString()) : undefined;\r\n this.resourceGroupId = data[\"resourceGroupId\"];\r\n this.paradiseVersion = data[\"paradiseVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VmActivityBase {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'VmActivityBase' cannot be instantiated.\");\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[\"displayName\"] = this.displayName;\r\n data[\"state\"] = this.state;\r\n data[\"start\"] = this.start ? this.start.toISOString() : undefined;\r\n data[\"end\"] = this.end ? this.end.toISOString() : undefined;\r\n data[\"resourceGroupId\"] = this.resourceGroupId;\r\n data[\"paradiseVersion\"] = this.paradiseVersion;\r\n super.toJSON(data);\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IVmActivityBase extends IEntityBase {\r\n name?: string | undefined;\r\n displayName?: string | undefined;\r\n state?: string | undefined;\r\n start: Date;\r\n end: Date;\r\n resourceGroupId?: string | undefined;\r\n paradiseVersion?: string | undefined;\r\n}\r\n\r\nexport class Evaluation extends VmActivityBase implements IEvaluation {\r\n clients?: Computer[] | undefined;\r\n server?: Computer | undefined;\r\n users?: string[] | undefined;\r\n interactiveCredits: number;\r\n interactiveCreditsUsed: number;\r\n notes?: string | undefined;\r\n serverVmSize?: string | undefined;\r\n vmUserName?: string | undefined;\r\n vmPassword?: string | undefined;\r\n regionName?: string | undefined;\r\n\r\n constructor(data?: IEvaluation) {\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 (data[\"clients\"] && data[\"clients\"].constructor === Array) {\r\n this.clients = [];\r\n for (let item of data[\"clients\"])\r\n this.clients.push(Computer.fromJS(item));\r\n }\r\n this.server = data[\"server\"] ? Computer.fromJS(data[\"server\"]) : undefined;\r\n if (data[\"users\"] && data[\"users\"].constructor === Array) {\r\n this.users = [];\r\n for (let item of data[\"users\"])\r\n this.users.push(item);\r\n }\r\n this.interactiveCredits = data[\"interactiveCredits\"];\r\n this.interactiveCreditsUsed = data[\"interactiveCreditsUsed\"];\r\n this.notes = data[\"notes\"];\r\n this.serverVmSize = data[\"serverVmSize\"];\r\n this.vmUserName = data[\"vmUserName\"];\r\n this.vmPassword = data[\"vmPassword\"];\r\n this.regionName = data[\"regionName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Evaluation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Evaluation();\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 (this.clients && this.clients.constructor === Array) {\r\n data[\"clients\"] = [];\r\n for (let item of this.clients)\r\n data[\"clients\"].push(item.toJSON());\r\n }\r\n data[\"server\"] = this.server ? this.server.toJSON() : undefined;\r\n if (this.users && this.users.constructor === Array) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item);\r\n }\r\n data[\"interactiveCredits\"] = this.interactiveCredits;\r\n data[\"interactiveCreditsUsed\"] = this.interactiveCreditsUsed;\r\n data[\"notes\"] = this.notes;\r\n data[\"serverVmSize\"] = this.serverVmSize;\r\n data[\"vmUserName\"] = this.vmUserName;\r\n data[\"vmPassword\"] = this.vmPassword;\r\n data[\"regionName\"] = this.regionName;\r\n super.toJSON(data);\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IEvaluation extends IVmActivityBase {\r\n clients?: Computer[] | undefined;\r\n server?: Computer | undefined;\r\n users?: string[] | undefined;\r\n interactiveCredits: number;\r\n interactiveCreditsUsed: number;\r\n notes?: string | undefined;\r\n serverVmSize?: string | undefined;\r\n vmUserName?: string | undefined;\r\n vmPassword?: string | undefined;\r\n regionName?: string | undefined;\r\n}\r\n\r\nexport class Computer implements IComputer {\r\n isServer: boolean;\r\n resourceId?: string | undefined;\r\n state?: string | undefined;\r\n user?: string | undefined;\r\n computerName?: string | undefined;\r\n ipAddress?: string | undefined;\r\n computerNumber?: string | undefined;\r\n\r\n constructor(data?: IComputer) {\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.isServer = data[\"isServer\"];\r\n this.resourceId = data[\"resourceId\"];\r\n this.state = data[\"state\"];\r\n this.user = data[\"user\"];\r\n this.computerName = data[\"computerName\"];\r\n this.ipAddress = data[\"ipAddress\"];\r\n this.computerNumber = data[\"computerNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Computer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Computer();\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[\"isServer\"] = this.isServer;\r\n data[\"resourceId\"] = this.resourceId;\r\n data[\"state\"] = this.state;\r\n data[\"user\"] = this.user;\r\n data[\"computerName\"] = this.computerName;\r\n data[\"ipAddress\"] = this.ipAddress;\r\n data[\"computerNumber\"] = this.computerNumber;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IComputer {\r\n isServer: boolean;\r\n resourceId?: string | undefined;\r\n state?: string | undefined;\r\n user?: string | undefined;\r\n computerName?: string | undefined;\r\n ipAddress?: string | undefined;\r\n computerNumber?: string | undefined;\r\n}\r\n\r\nexport class StartEvaluationParameters implements IStartEvaluationParameters {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: IStartEvaluationParameters) {\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.userName = data[\"userName\"];\r\n this.password = data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StartEvaluationParameters {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StartEvaluationParameters();\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[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IStartEvaluationParameters {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class User implements IUser {\r\n email?: string | undefined;\r\n isAdmin: boolean;\r\n isBetaUser: boolean;\r\n isArchiveUser: boolean;\r\n\r\n constructor(data?: IUser) {\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.email = data[\"email\"];\r\n this.isAdmin = data[\"isAdmin\"];\r\n this.isBetaUser = data[\"isBetaUser\"];\r\n this.isArchiveUser = data[\"isArchiveUser\"];\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[\"email\"] = this.email;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"isBetaUser\"] = this.isBetaUser;\r\n data[\"isArchiveUser\"] = this.isArchiveUser;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IUser {\r\n email?: string | undefined;\r\n isAdmin: boolean;\r\n isBetaUser: boolean;\r\n isArchiveUser: boolean;\r\n}\r\n\r\nexport class QaSession extends EntityBase implements IQaSession {\r\n name: string;\r\n paradiseVersion: string;\r\n resourceGroupName?: string | undefined;\r\n\r\n constructor(data?: IQaSession) {\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.name = data[\"name\"];\r\n this.paradiseVersion = data[\"paradiseVersion\"];\r\n this.resourceGroupName = data[\"resourceGroupName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QaSession {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QaSession();\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[\"paradiseVersion\"] = this.paradiseVersion;\r\n data[\"resourceGroupName\"] = this.resourceGroupName;\r\n super.toJSON(data);\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQaSession extends IEntityBase {\r\n name: string;\r\n paradiseVersion: string;\r\n resourceGroupName?: string | undefined;\r\n}\r\n\r\nexport class OptionList implements IOptionList {\r\n options?: ListOption[] | undefined;\r\n\r\n constructor(data?: IOptionList) {\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 if (data[\"options\"] && data[\"options\"].constructor === Array) {\r\n this.options = [];\r\n for (let item of data[\"options\"])\r\n this.options.push(ListOption.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): OptionList {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OptionList();\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 (this.options && this.options.constructor === Array) {\r\n data[\"options\"] = [];\r\n for (let item of this.options)\r\n data[\"options\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IOptionList {\r\n options?: ListOption[] | undefined;\r\n}\r\n\r\nexport class ListOption implements IListOption {\r\n key?: string | undefined;\r\n displayName?: string | undefined;\r\n\r\n constructor(data?: IListOption) {\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.key = data[\"key\"];\r\n this.displayName = data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListOption {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListOption();\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[\"key\"] = this.key;\r\n data[\"displayName\"] = this.displayName;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IListOption {\r\n key?: string | undefined;\r\n displayName?: string | undefined;\r\n}\r\n\r\nexport enum ResourceDeploymentState {\r\n Unknown = 0, \r\n Accepted = 1, \r\n Canceled = 2, \r\n Created = 3, \r\n Creating = 4, \r\n Deleted = 5, \r\n Deleting = 6, \r\n Failed = 7, \r\n NotSpecified = 8, \r\n Registering = 9, \r\n Running = 10, \r\n Succeeded = 11, \r\n}\r\n\r\nexport class TrainingSession extends EntityBase implements ITrainingSession {\r\n instructor?: string | undefined;\r\n eventName: string;\r\n trainingStudents?: TrainingStudent[] | undefined;\r\n startDate: Date;\r\n endDate: Date;\r\n location?: string | undefined;\r\n courseName: string;\r\n notes?: string | undefined;\r\n enableCloudResources: boolean;\r\n isDeployed: boolean;\r\n isCloudDeleted: boolean;\r\n cloudResourceGroupName?: string | undefined;\r\n cloudResourcesUserName?: string | undefined;\r\n cloudResourcesPasswordPrefix?: string | undefined;\r\n cloudRegionName?: string | undefined;\r\n cloudParadiseVersion?: string | undefined;\r\n cloudDeploymentName?: string | undefined;\r\n\r\n constructor(data?: ITrainingSession) {\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.instructor = data[\"instructor\"];\r\n this.eventName = data[\"eventName\"];\r\n if (data[\"trainingStudents\"] && data[\"trainingStudents\"].constructor === Array) {\r\n this.trainingStudents = [];\r\n for (let item of data[\"trainingStudents\"])\r\n this.trainingStudents.push(TrainingStudent.fromJS(item));\r\n }\r\n this.startDate = data[\"startDate\"] ? new Date(data[\"startDate\"].toString()) : undefined;\r\n this.endDate = data[\"endDate\"] ? new Date(data[\"endDate\"].toString()) : undefined;\r\n this.location = data[\"location\"];\r\n this.courseName = data[\"courseName\"];\r\n this.notes = data[\"notes\"];\r\n this.enableCloudResources = data[\"enableCloudResources\"];\r\n this.isDeployed = data[\"isDeployed\"];\r\n this.isCloudDeleted = data[\"isCloudDeleted\"];\r\n this.cloudResourceGroupName = data[\"cloudResourceGroupName\"];\r\n this.cloudResourcesUserName = data[\"cloudResourcesUserName\"];\r\n this.cloudResourcesPasswordPrefix = data[\"cloudResourcesPasswordPrefix\"];\r\n this.cloudRegionName = data[\"cloudRegionName\"];\r\n this.cloudParadiseVersion = data[\"cloudParadiseVersion\"];\r\n this.cloudDeploymentName = data[\"cloudDeploymentName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrainingSession {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrainingSession();\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[\"instructor\"] = this.instructor;\r\n data[\"eventName\"] = this.eventName;\r\n if (this.trainingStudents && this.trainingStudents.constructor === Array) {\r\n data[\"trainingStudents\"] = [];\r\n for (let item of this.trainingStudents)\r\n data[\"trainingStudents\"].push(item.toJSON());\r\n }\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"location\"] = this.location;\r\n data[\"courseName\"] = this.courseName;\r\n data[\"notes\"] = this.notes;\r\n data[\"enableCloudResources\"] = this.enableCloudResources;\r\n data[\"isDeployed\"] = this.isDeployed;\r\n data[\"isCloudDeleted\"] = this.isCloudDeleted;\r\n data[\"cloudResourceGroupName\"] = this.cloudResourceGroupName;\r\n data[\"cloudResourcesUserName\"] = this.cloudResourcesUserName;\r\n data[\"cloudResourcesPasswordPrefix\"] = this.cloudResourcesPasswordPrefix;\r\n data[\"cloudRegionName\"] = this.cloudRegionName;\r\n data[\"cloudParadiseVersion\"] = this.cloudParadiseVersion;\r\n data[\"cloudDeploymentName\"] = this.cloudDeploymentName;\r\n super.toJSON(data);\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ITrainingSession extends IEntityBase {\r\n instructor?: string | undefined;\r\n eventName: string;\r\n trainingStudents?: TrainingStudent[] | undefined;\r\n startDate: Date;\r\n endDate: Date;\r\n location?: string | undefined;\r\n courseName: string;\r\n notes?: string | undefined;\r\n enableCloudResources: boolean;\r\n isDeployed: boolean;\r\n isCloudDeleted: boolean;\r\n cloudResourceGroupName?: string | undefined;\r\n cloudResourcesUserName?: string | undefined;\r\n cloudResourcesPasswordPrefix?: string | undefined;\r\n cloudRegionName?: string | undefined;\r\n cloudParadiseVersion?: string | undefined;\r\n cloudDeploymentName?: string | undefined;\r\n}\r\n\r\nexport class TrainingStudent implements ITrainingStudent {\r\n studentId?: string | undefined;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n number?: string | undefined;\r\n\r\n constructor(data?: ITrainingStudent) {\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.studentId = data[\"studentId\"];\r\n this.name = data[\"name\"];\r\n this.email = data[\"email\"];\r\n this.number = data[\"number\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrainingStudent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrainingStudent();\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[\"studentId\"] = this.studentId;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"number\"] = this.number;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ITrainingStudent {\r\n studentId?: string | undefined;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n number?: string | undefined;\r\n}\r\n\r\nexport class TrainingSessionUser implements ITrainingSessionUser {\r\n instructor?: string | undefined;\r\n eventName?: string | undefined;\r\n targetStudent?: TrainingStudent | undefined;\r\n startDate: Date;\r\n endDate: Date;\r\n location?: string | undefined;\r\n courseName?: string | undefined;\r\n notes?: string | undefined;\r\n cloudEnabled: boolean;\r\n trainingSessionId?: string | undefined;\r\n trainingSessionDeploymentName?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n targetComputer?: Computer | undefined;\r\n\r\n constructor(data?: ITrainingSessionUser) {\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.instructor = data[\"instructor\"];\r\n this.eventName = data[\"eventName\"];\r\n this.targetStudent = data[\"targetStudent\"] ? TrainingStudent.fromJS(data[\"targetStudent\"]) : undefined;\r\n this.startDate = data[\"startDate\"] ? new Date(data[\"startDate\"].toString()) : undefined;\r\n this.endDate = data[\"endDate\"] ? new Date(data[\"endDate\"].toString()) : undefined;\r\n this.location = data[\"location\"];\r\n this.courseName = data[\"courseName\"];\r\n this.notes = data[\"notes\"];\r\n this.cloudEnabled = data[\"cloudEnabled\"];\r\n this.trainingSessionId = data[\"trainingSessionId\"];\r\n this.trainingSessionDeploymentName = data[\"trainingSessionDeploymentName\"];\r\n this.userName = data[\"userName\"];\r\n this.password = data[\"password\"];\r\n this.targetComputer = data[\"targetComputer\"] ? Computer.fromJS(data[\"targetComputer\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrainingSessionUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrainingSessionUser();\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[\"instructor\"] = this.instructor;\r\n data[\"eventName\"] = this.eventName;\r\n data[\"targetStudent\"] = this.targetStudent ? this.targetStudent.toJSON() : undefined;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"location\"] = this.location;\r\n data[\"courseName\"] = this.courseName;\r\n data[\"notes\"] = this.notes;\r\n data[\"cloudEnabled\"] = this.cloudEnabled;\r\n data[\"trainingSessionId\"] = this.trainingSessionId;\r\n data[\"trainingSessionDeploymentName\"] = this.trainingSessionDeploymentName;\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n data[\"targetComputer\"] = this.targetComputer ? this.targetComputer.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ITrainingSessionUser {\r\n instructor?: string | undefined;\r\n eventName?: string | undefined;\r\n targetStudent?: TrainingStudent | undefined;\r\n startDate: Date;\r\n endDate: Date;\r\n location?: string | undefined;\r\n courseName?: string | undefined;\r\n notes?: string | undefined;\r\n cloudEnabled: boolean;\r\n trainingSessionId?: string | undefined;\r\n trainingSessionDeploymentName?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n targetComputer?: Computer | undefined;\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 Observable.throw(result);\r\n else\r\n return Observable.throw(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).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob); \r\n }\r\n });\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/GI.Web.Services.g.ts","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { User, FilesService } from './GI.Web.Services.g';\r\n\r\n/** Gets and caches the current user */\r\n@Injectable()\r\nexport class CurrentUserService {\r\n\r\n constructor(private _filesService: FilesService) { }\r\n\r\n private _user: User;\r\n private _getUserRequest: Observable;\r\n\r\n public getUser(): Observable {\r\n\r\n // let testUser:any;\r\n // testUser = new Object()\r\n // testUser.betaUser = true;\r\n // testUser.isArchiveUser = true;\r\n // testUser.isAdmin = true;\r\n // return Observable.from([testUser]);\r\n\r\n if (this._user == null) {\r\n if (this._getUserRequest == null) {\r\n const setFreshdeskProperties = true;\r\n this._getUserRequest = this._filesService.getUser(setFreshdeskProperties).share();\r\n }\r\n this._getUserRequest.subscribe(r => {\r\n this._user = r;\r\n });\r\n return this._getUserRequest.map(r => r);\r\n } else {\r\n\r\n return Observable.from([this._user]);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/current-user.service.ts","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Evaluation, EvaluationService } from './GI.Web.Services.g';\r\nimport { EvaluationModel } from '../models/evaluation-model';\r\n\r\n@Injectable()\r\nexport class EvaluationSystemService {\r\n constructor(private _evaluationService: EvaluationService) { }\r\n\r\n public getAllEvaluations(): Observable {\r\n return this._evaluationService.getAll()\r\n .map(responses => responses.map(this.toEvaluationModel));\r\n }\r\n\r\n public getEvaluation(name: string): Observable {\r\n return this._evaluationService.get(name)\r\n .map(response => this.toEvaluationModel(response));\r\n }\r\n\r\n public getUserEvaluation(): Observable {\r\n return this._evaluationService.getUserEvaluation()\r\n .map(response => this.toEvaluationModel(response));\r\n }\r\n\r\n public createEvaluation(evaluation: EvaluationModel): Observable {\r\n return this._evaluationService.post(evaluation)\r\n .map(response => this.toEvaluationModel(response));\r\n }\r\n\r\n private toEvaluationModel(response: Evaluation): EvaluationModel {\r\n return new EvaluationModel(response);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/evaluation-system.service.ts","import { Injectable, NgZone } from '@angular/core';\r\nimport { FileNode, FileInfo } from '../models/filenode';\r\nimport { Http, Response, RequestOptions, RequestMethod, Headers } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport \"rxjs/add/operator/expand\";\r\nimport \"rxjs/Rx\";\r\nimport { FilesService } from './GI.Web.Services.g';\r\nimport { HttpClient } from '@angular/common/http';\r\ndeclare var AzureStorage: any;\r\n@Injectable()\r\nexport class FileService {\r\n\r\n constructor(\r\n private _zone: NgZone,\r\n private _filesService: FilesService,\r\n private _httpClient:HttpClient\r\n ) {\r\n\r\n // 'https://gidownloadportal.blob.core.windows.net/installers?st=2017-09-11T16%3A51%3A00Z&se=2020-09-25T16%3A51%3A00Z&sp=rl&sv=2016-05-31&sr=c&sig=FvaXGgVS4WlQnYmGyeFLv58XGNcPTUHEaCbNkJKMGyA%3D'\r\n // this._blobService = AzureStorage.createBlobServiceWithSas(blobUri, FileService._sasToken);\r\n\r\n }\r\n // private _blobService: any;\r\n // //private static _sasToken = 'st=2017-09-11T16%3A51%3A00Z&se=2020-09-25T16%3A51%3A00Z&sp=rl&sv=2016-05-31&sr=c&sig=FvaXGgVS4WlQnYmGyeFLv58XGNcPTUHEaCbNkJKMGyA%3D';\r\n // public getFiles(): Observable {\r\n\r\n // return this.GetDirectories(null);\r\n\r\n\r\n // }\r\n\r\n private getBlobService(writeAccess :boolean = false): Observable {\r\n // TODO: This code had 2 code paths depending on write access, but that seems to be handled on the server side now. There's only one endpoint\r\n const blobUri = 'https://' + 'gidownloadportal' + '.blob.core.windows.net';\r\n // if (writeAccess) {\r\n return this._filesService.getContainerSAS()\r\n .map(t => AzureStorage.createBlobServiceWithSas(blobUri, t));\r\n // }\r\n // else {\r\n // return this._fileAccess.getContainerWriteAccessToken()\r\n // .map(t => AzureStorage.createBlobServiceWithSas(blobUri, t));\r\n // }\r\n\r\n }\r\n\r\n private getTableService(): Observable {\r\n // TODO: This code had 2 code paths depending on write access, but that seems to be handled on the server side now. There's only one endpoint\r\n const blobUri = 'https://' + 'gidownloadportal' + '.table.core.windows.net';\r\n // if (writeAccess) {\r\n return this._filesService.getTableSAS()\r\n .map(t => AzureStorage.createTableServiceWithSas(blobUri, t));\r\n // } else {\r\n // return this._fileAccess.getTableWriteAccessToken()\r\n // .map(t => AzureStorage.createTableServiceWithSas(blobUri, t));\r\n // }\r\n\r\n }\r\n\r\n // public setRelease(file:string, release:boolean) : Observable{\r\n // return this.getBlobService(true)\r\n // .switchMap(blobService => {\r\n // return Observable.create((observer) => {\r\n // let this_ = this;\r\n // let metadata: any = {\r\n // 'Release' : release ? 'True' : 'False'\r\n // };\r\n \r\n // blobService.setBlobMetadata('installers', file, metadata, function (error, result) {\r\n // observer.next(true);\r\n // observer.complete();\r\n // });\r\n // });\r\n // });\r\n \r\n // }\r\n\r\n public setProperties(file:FileInfo) : Observable{\r\n return this.getBlobService(true)\r\n .switchMap(blobService => {\r\n return Observable.create((observer) => {\r\n let this_ = this;\r\n let metadata: any = {\r\n 'archive' : file.archive ? 'true' : 'false',\r\n 'release' : file.release ? 'true' : 'false',\r\n 'beta' : file.beta ? 'true' : 'false',\r\n };\r\n blobService.setBlobMetadata('installers', file.name, metadata, function (error, result) {\r\n observer.next(true);\r\n observer.complete();\r\n });\r\n });\r\n });\r\n \r\n }\r\n\r\n\r\n public getFilesTree(includeArchive: boolean, includeBeta:boolean, includeNonReleased:boolean,): Observable {\r\n let r = this.getFilesFull(includeArchive, includeBeta, includeNonReleased, null)\r\n .expand(o => {\r\n let [token, files] = o;\r\n if (token != null) {\r\n return this.getFilesFull(includeArchive, includeBeta, includeNonReleased, token);\r\n } else {\r\n return Observable.empty();\r\n }\r\n });\r\n return r.map(f => { let [token, files] = f; return files; })\r\n .reduce((acc, x) => acc.concat(x), [])\r\n .map(f => FileService.parseTree(f))\r\n // .reduce((acc, x) => acc.concat(x), [])\r\n //.flatMap(f=>{\r\n // return f});\r\n //\r\n // return r.map(f => FileService.parseTree(f));\r\n }\r\n\r\n // public getAllFiles(includePreRelease:boolean, token:any){\r\n // return Observable.create((observer) => {\r\n // let allFiles : FileInfo[] = [];\r\n // this.getFilesFull(includePreRelease, null).subscribe(o=>{\r\n // let [token, files] = o;\r\n // files.forEach(f=>allFiles.push(f));\r\n // if (token != null){\r\n // this.getAllFiles(includePreRelease, token)\r\n // }else{\r\n // observer.next(allFiles);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public getFilesFull(includeArchive: boolean, includeBeta: boolean, includeNonReleased:boolean, token: any): Observable<[any, FileInfo[]]> {\r\n\r\n return this.getBlobService()\r\n .switchMap(blobService => {\r\n return Observable.create((observer) => {\r\n let this_ = this;\r\n let options: any = {};\r\n options.include = 'metadata';\r\n //options.maxResults = 10;\r\n blobService.listBlobsSegmented('installers', token, options, function (error, files) {\r\n if (error) {\r\n console.error(error);\r\n } else {\r\n let fileResults: FileInfo[] = [];\r\n // console.info(files.continuationToken);\r\n for (let i = 0, blob; blob = files.entries[i]; i++) {\r\n let file = new FileInfo();\r\n file.name = blob.name;\r\n file.contentLength = blob.contentLength;\r\n file.date = blob.lastModified;\r\n \r\n if (blob.metadata.release && blob.metadata.release.toLowerCase() == \"true\") {\r\n file.release = true;\r\n }\r\n\r\n if (blob.metadata.beta && blob.metadata.beta.toLowerCase() == \"true\") {\r\n file.beta = true;\r\n }\r\n\r\n if (blob.metadata.archive && blob.metadata.archive.toLowerCase() == \"true\") {\r\n file.archive = true;\r\n }\r\n //sorry they made is so complicated.....\r\n if (file.release || includeNonReleased) {\r\n if (!file.beta && !file.archive) {\r\n fileResults.push(file);\r\n }\r\n if (file.beta && includeBeta) {\r\n fileResults.push(file);\r\n } else if (file.archive && includeArchive) {\r\n fileResults.push(file);\r\n }\r\n }\r\n }\r\n this_._zone.run(() => {\r\n observer.next([files.continuationToken, fileResults]);\r\n observer.complete();\r\n });\r\n\r\n }\r\n }\r\n );\r\n });\r\n });\r\n }\r\n\r\n\r\n public getDownloadList(): Observable {\r\n return this.getTableService()\r\n .switchMap(t => {\r\n return Observable.create((observer) => {\r\n var query = new AzureStorage.TableQuery();\r\n // .top(5000);\r\n t.queryEntities('downloads', query, null, function (error, result, response) {\r\n if (!error) {\r\n observer.next(result.entries);\r\n observer.complete();\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n public getUrl(blobName: string): Observable {\r\n blobName = blobName.replace(/\\//g, '\"', );\r\n let request = this._httpClient.get('api/Files/GetUrl/' + encodeURIComponent(blobName),{responseType:'text'});\r\n return request;\r\n\r\n //doesn't work in production\r\n // let encodedblobName = encodeURIComponent(blobName.replace(/\\//g, '\"', ));\r\n // return this._filesService.getUrl(encodedblobName);\r\n }\r\n\r\n private static parseTree(files: FileInfo[]): FileNode[] {\r\n let map = new Map()\r\n\r\n files.forEach(file => {\r\n let fileNode: FileNode = map.get(file.name);\r\n if (fileNode == null) {\r\n fileNode = new FileNode();\r\n fileNode.data = file;\r\n fileNode.leaf = true;\r\n map.set(file.name, fileNode);\r\n }\r\n let parentName = FileService.getParentName(fileNode.data.name);\r\n let childNode = fileNode;\r\n let count = 0;\r\n while (parentName != '' && count++ < 100) {\r\n let parentNode: FileNode = map.get(parentName);\r\n if (parentNode == null) {\r\n parentNode = new FileNode();\r\n parentNode.children = [];\r\n let directoryInfo = new FileInfo();\r\n directoryInfo.name = parentName;\r\n parentNode.data = directoryInfo;\r\n map.set(parentName, parentNode);\r\n }\r\n childNode.parent = parentNode;\r\n if (parentNode.children.find(n => n.data.name == childNode.data.name) == null) {\r\n parentNode.children.push(childNode);\r\n }\r\n parentName = FileService.getParentName(parentNode.data.name);\r\n childNode = parentNode;\r\n\r\n }\r\n });\r\n let results = Array.from(map.values());\r\n results.forEach(f => {\r\n f.children = f.children.sort((a, b) => a.data.order > b.data.order ? -1 : 1);\r\n\r\n });\r\n return results.filter(f => f.parent == null);\r\n }\r\n\r\n private static getParentName(fileName: string) {\r\n let processingName = fileName;\r\n if (processingName.endsWith('/')) {\r\n processingName = processingName.substring(0, processingName.length - 1);\r\n }\r\n let parts = processingName.split('/');\r\n return processingName.replace(parts[parts.length - 1], '');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/file.service.ts","import { Injectable } from '@angular/core';\r\nimport { Computer } from './GI.Web.Services.g';\r\n\r\n@Injectable()\r\nexport class RdpService {\r\n constructor() {}\r\n\r\n public buildRdpFileAsString(computer:Computer, userName:string):string {\r\n return \"full address:s:\" + computer.ipAddress + \":3389\\r\\n\" +\r\n \"username:s:\" + computer.computerName + \"\\\\\" + userName + \"\\r\\n\" +\r\n \"prompt for credentials:i:0\\r\\n\" +\r\n \"drivestoredirect:s:*\\r\\n\" +\r\n \"administrative session:i:1\";\r\n }\r\n\r\n public setRdpFileName(computer:Computer): string {\r\n var ipAddessparts = computer.ipAddress.split(\".\");\r\n if (ipAddessparts[0].length>3){ //dns ipaddress\r\n return ipAddessparts[0] + \".rdp\";\r\n } else {\r\n return computer.computerName + \".rdp\";\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/rdp.service.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class ValidationService {\r\n constructor() {}\r\n\r\n validatePassword(password:string):boolean {\r\n if((password != null) &&\r\n ((password.length < 8 ) || (password.length > 123))\r\n ){\r\n return false;\r\n }\r\n else {\r\n //Passwords must pass 3 out of the 4 complex requirements:\r\n var complexRequirementsCount = 0;\r\n if(/[A-Z]/.test(password)) complexRequirementsCount++;\r\n if(/[a-z]/.test(password)) complexRequirementsCount++;\r\n if(/[0-9]/.test(password)) complexRequirementsCount++;\r\n if(/[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/.test(password)) complexRequirementsCount++;\r\n\r\n if(complexRequirementsCount >= 3){\r\n //password cannot contain control characters\r\n if((/[\\t\\n\\v\\f\\r]/.test(password))){\r\n return false;\r\n }\r\n else return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/validation.service.ts","import { IEnvironment } from './ienvironment';\r\n\r\nexport const environment: IEnvironment = {\r\n production: true,\r\n applicationInsights: {\r\n instrumentationKey: '9424e62d-ba59-404c-bd21-f6da319e105d',\r\n enableDebug: false,\r\n maxAjaxCallsPerView: 10\r\n }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.prod.ts","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\nimport { IEnvironment } from './ienvironment';\r\n\r\nexport const environment: IEnvironment = {\r\n production: false,\r\n applicationInsights: {\r\n instrumentationKey: 'b67fc025-c6d7-42bf-81cb-d252200285d3',\r\n enableDebug: true,\r\n maxAjaxCallsPerView: 10\r\n },\r\n pollTime: 15000,\r\n defaultParadiseVersion: '3.1.76',\r\n defaultParadiseServerVmSize: 'Standard_D3_v2',\r\n defaultTrainingVmSize: 'Standard_NV6', // 'Standard_D3_v2',\r\n defaultVmUserName: 'ParadiseUser',\r\n defaultVmPassword: 'Geophysical!'\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","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.log(err));\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts"],"sourceRoot":"webpack:///"}