{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.module.ts","./src/app/components/core/base-room/enumerations/RunState.ts","./src/app/components/core/project/service/project.service.ts","./src/app/components/core/room/service/room.service.ts","./src/app/components/core/template/service/template.service.ts","./src/app/components/core/users/service/user.service.ts","./src/app/components/layout/banner/banner.component.ts","./src/app/components/layout/banner/banner.component.html","./src/app/components/layout/error/error.component.ts","./src/app/components/layout/error/error.component.html","./src/app/components/layout/error/error.route.ts","./src/app/components/layout/header/header.component.ts","./src/app/components/layout/header/header.component.html","./src/app/components/layout/header/header.route.ts","./src/app/components/layout/layouts-components.module.ts","./src/app/components/layout/main/main.component.ts","./src/app/components/layout/main/main.component.html","./src/app/components/layout/sidebar/sidebar.component.ts","./src/app/components/layout/sidebar/sidebar.component.html","./src/app/components/layout/sidebar/sidebar.route.ts","./src/app/components/shared/card/card.component.ts","./src/app/components/shared/card/card.component.html","./src/app/components/shared/feature/feature-flags.service.ts","./src/app/components/shared/language/find-language-from-key.pipe.ts","./src/app/components/shared/language/translate.directive.ts","./src/app/components/shared/overlay/OverlayRef.ts","./src/app/components/shared/overlay/overlay.component.ts","./src/app/components/shared/overlay/overlay.component.html","./src/app/components/shared/overlay/overlay.service.ts","./src/app/components/shared/permissions/has-role.directive.ts","./src/app/components/shared/pipes/duration.pipe.ts","./src/app/components/shared/pipes/truncate.pipe.ts","./src/app/components/shared/popover/container/popover-container.component.ts","./src/app/components/shared/popover/container/popover-container.component.html","./src/app/components/shared/popover/popover.directive.ts","./src/app/components/shared/shared-components.module.ts","./src/app/components/shared/signalr/service/signalr.service.ts","./src/app/components/shared/toast/toast.component.ts","./src/app/components/shared/toast/toast.component.html","./src/app/components/shared/toast/toast.module.ts","./src/app/components/shared/user-card/UserPictureSize.ts","./src/app/components/shared/user-card/user-card.component.ts","./src/app/components/shared/user-card/user-card.component.html","./src/app/components/shared/user-card/user-card.module.ts","./src/app/config/language.constants.ts","./src/app/config/translation.config.ts","./src/app/core/directives/feature-directive.module.ts","./src/app/core/directives/feature-flag.directive.ts","./src/app/core/guards/auth/auth.guard.ts","./src/app/core/guards/feature/feature.guard.ts","./src/app/core/guards/permissions/role-utils.ts","./src/app/core/request-util.ts","./src/app/enumerations/GlobalRole.ts","./src/app/enumerations/TaskStatus.ts","./src/app/enumerations/VmInstanceOperation.ts","./src/app/models/GetBackgroundTask.ts","./src/app/models/health/GetHealth.ts","./src/app/models/members/GetProjectMember.ts","./src/app/models/participants/GetRoomParticipant.ts","./src/app/models/projects/GetProject.ts","./src/app/models/projects/GetProjectDeploymentTask.ts","./src/app/models/rooms/DeploymentSchedule.ts","./src/app/models/rooms/GetRoom.ts","./src/app/models/rooms/GetRoomDeploymentTask.ts","./src/app/models/vm-instances/GetVmInstance.ts","./src/app/models/vm-instances/GetVmInstanceTask.ts","./src/app/models/vm-template-versions/GetVmTemplateVersion.ts","./src/app/models/vm-template-versions/GetVmTemplateVersionTask.ts","./src/environments/environment.dev.ts","./src/main.ts"],"sourcesContent":["import { AuthGuard } from './core/guards/auth/auth.guard';\nimport { errorRoutes } from './components/layout/error/error.route';\nimport { FeatureGuard } from \"./core/guards/feature/feature.guard\";\nimport { headerRoute } from './components/layout/header/header.route';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { sidebarRoute } from './components/layout/sidebar/sidebar.route';\n\nconst layoutRoutes = [sidebarRoute, headerRoute];\n\nconst routes: Routes = [\n { \n path: 'login',\n loadChildren: () => import('./components/core/login/login.module').then(m => m.CloudLabLoginModule) },\n {\n path: 'room',\n canActivate: [AuthGuard],\n canLoad: [FeatureGuard],\n data: { \n pageTitle: 'cloudlab.room.title',\n feature: 'rooms'\n },\n loadChildren: () => import('./components/core/room/room.module').then(m => m.RoomModule),\n },\n {\n path: 'project',\n canActivate: [AuthGuard],\n canLoad: [FeatureGuard],\n data: { \n pageTitle: 'cloudlab.project.title',\n feature: 'projects'\n },\n loadChildren: () => import('./components/core/project/project.module').then(m => m.ProjectModule),\n },\n {\n path: 'vmtemplate',\n canActivate: [AuthGuard],\n data: { \n pageTitle: 'cloudlab.template.title',\n },\n loadChildren: () => import('./components/core/template/template.module').then(m => m.TemplateModule),\n },\n {\n path: 'report',\n canActivate: [AuthGuard],\n data: { \n pageTitle: 'cloudlab.report.title',\n },\n loadChildren: () => import('./components/core/report/report.module').then(m => m.ReportModule),\n },\n {\n path: '',\n canActivate: [AuthGuard],\n data: { pageTitle: 'cloudlab.guest.title' },\n loadChildren: () => import('./components/core/guest/guest.module').then(m => m.GuestModule),\n },\n ...layoutRoutes,\n ...errorRoutes,\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }","import { APP_INITIALIZER, LOCALE_ID, NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AuthHttpInterceptor, AuthModule } from '@auth0/auth0-angular';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BrowserModule, Title } from '@angular/platform-browser';\nimport { CloudLabToastComponent } from './components/shared/toast/toast.component';\nimport { CloudLabToastModule } from './components/shared/toast/toast.module';\nimport { environment } from 'src/environments/environment';\nimport { FeatureFlagsService } from \"./components/shared/feature/feature-flags.service\";\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { LayoutComponentsModule } from './components/layout/layouts-components.module';\nimport { MainComponent } from './components/layout/main/main.component';\nimport { MissingTranslationHandler, TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { missingTranslationHandler, translatePartialLoader } from './config/translation.config';\nimport { SharedComponentsModule as SharedComponentsModule } from './components/shared/shared-components.module';\nimport { SignalRService } from './components/shared/signalr/service/signalr.service';\nimport { ToastrModule } from 'ngx-toastr';\n\nconst featureFactory = (featureFlagsService: FeatureFlagsService) => () =>\n featureFlagsService.loadConfig();\n\n@NgModule({\n declarations: [\n MainComponent\n ],\n imports: [\n CloudLabToastModule,\n BrowserModule,\n LayoutComponentsModule,\n BrowserAnimationsModule,\n HttpClientModule,\n SharedComponentsModule,\n \n // Auth0 authentication\n // Handles token management for authentication against the backend.\n AuthModule.forRoot(\n {\n domain: environment.auth0.domain,\n clientId: environment.auth0.clientId,\n authorizationParams: {\n redirect_uri: window.location.origin,\n audience: environment.auth0.audience\n },\n\n // configure the AuthHttpIntercepter\n httpInterceptor: {\n allowedList: [\n {\n uriMatcher: (uri) => {\n // health api does not require authentication; needed for featuresets detection\n if (uri === `${environment.baseApiUrl}/health` || uri.indexOf(`/assets/`) !== -1)\n return false;\n else\n return true;\n },\n tokenOptions: {\n authorizationParams: {\n audience: environment.auth0.audience\n }\n }\n }\n ]\n }\n }\n ),\n AppRoutingModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: translatePartialLoader,\n deps: [HttpClient],\n },\n missingTranslationHandler: {\n provide: MissingTranslationHandler,\n useFactory: missingTranslationHandler,\n },\n }),\n ToastrModule.forRoot({\n toastComponent: CloudLabToastComponent,\n positionClass: 'toast-top-right',\n timeOut: 15000\n })\n ],\n providers: [\n Title,\n {\n provide: LOCALE_ID,\n useValue: 'en'\n },\n // Auth0 implementation of the HttpInterceptor\n // Handles token based authentication using the AuthModule configured above.\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHttpInterceptor,\n multi: true\n },\n SignalRService,\n \n {\n provide: APP_INITIALIZER,\n useFactory: featureFactory,\n deps: [FeatureFlagsService],\n multi: true\n }\n ],\n bootstrap: [MainComponent]\n})\nexport class AppModule {\n constructor(translateService: TranslateService) {\n translateService.setDefaultLang('en');\n translateService.use('en');\n }\n\n}","export enum RunState {\n Pending = 'Pending',\n NotDeployed = 'NotDeployed',\n Stopped = 'Stopped',\n Running = 'Running',\n Error = 'Error'\n}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IGetRunState } from 'src/app/models/GetRunState';\nimport { IGetProjectMember } from 'src/app/models/members/GetProjectMember';\nimport { IPostProjectMember } from 'src/app/models/members/PostProjectMember';\nimport { GetProject, IGetProject } from 'src/app/models/projects/GetProject';\nimport { GetProjectDeploymentTask, IGetProjectDeploymentTask } from 'src/app/models/projects/GetProjectDeploymentTask';\nimport { IPatchProject } from 'src/app/models/projects/PatchProject';\nimport { IPostProject } from 'src/app/models/projects/PostProject';\nimport * as env from 'src/environments/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class ProjectService {\n protected resourceUrl = env.environment.baseApiUrl + '/project';\n\n constructor(protected http: HttpClient) { }\n\n query(): Observable {\n return this.http.get(this.resourceUrl, { observe: 'response' })\n .pipe(\n map((res: HttpResponse) => res.body!.map(r => new GetProject(r)))\n );\n }\n\n find(projectUid: string): Observable {\n return this.http.get(`${this.resourceUrl}/${projectUid}`, { observe: 'response' })\n .pipe(\n map((res: HttpResponse) => new GetProject(res.body!))\n );\n }\n\n getRunState(projectUid: string): Observable> {\n return this.http.get(`${this.resourceUrl}/${projectUid}/runState`, { observe: 'response' });\n }\n\n create(project: IPostProject): Observable> {\n return this.http.post(this.resourceUrl, project, { observe: 'response' })\n }\n\n partialUpdate(projectUid: string, project: IPatchProject): Observable> {\n return this.http.patch(`${this.resourceUrl}/${projectUid}`, project, { observe: 'response' })\n }\n\n addMember(projectUid: string, projectMember: IPostProjectMember): Observable> {\n return this.http.post(`${this.resourceUrl}/${projectUid}/members`, projectMember, { observe: 'response' })\n }\n\n deleteMember(projectUid: string, projectMember: IPostProjectMember): Observable> {\n return this.http.delete(`${this.resourceUrl}/${projectUid}/members`, { body: projectMember, observe: 'response' });\n }\n\n deploy(projectUid: string): Observable {\n return this.http.post(`${this.resourceUrl}/${projectUid}/deploy`, { observe: 'response' })\n .pipe(\n map((task: IGetProjectDeploymentTask) => new GetProjectDeploymentTask(task))\n );\n }\n\n destroy(projectUid: string): Observable {\n return this.http.post(`${this.resourceUrl}/${projectUid}/destroy`, { observe: 'response' })\n .pipe(\n map((task: IGetProjectDeploymentTask) => new GetProjectDeploymentTask(task))\n );\n }\n\n archive(projectUid: string): Observable {\n return this.http.post(`${this.resourceUrl}/${projectUid}/archive`, { observe: 'response' })\n .pipe(\n map((res: IGetProject) => new GetProject(res))\n );\n }\n\n delete(projectUid: string): Observable> {\n return this.http.delete(`${this.resourceUrl}/${projectUid}`, { observe: 'response' })\n }\n}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IGetRunState } from 'src/app/models/GetRunState';\nimport { IGetRoomParticipant } from 'src/app/models/participants/GetRoomParticipant';\nimport { IPatchRoomParticipant } from 'src/app/models/participants/PatchRoomParticipant';\nimport { IPostRoomParticipant } from 'src/app/models/participants/PostRoomParticipant';\nimport { GetRoom, IGetRoom } from 'src/app/models/rooms/GetRoom';\nimport { GetRoomDeploymentTask, IGetRoomDeploymentTask } from 'src/app/models/rooms/GetRoomDeploymentTask';\nimport { IPatchRoom } from 'src/app/models/rooms/PatchRoom';\nimport { IPostRoom } from 'src/app/models/rooms/PostRoom';\nimport * as env from 'src/environments/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class RoomService {\n protected resourceUrl = env.environment.baseApiUrl + '/room';\n\n constructor(protected http: HttpClient) { }\n\n create(room: IPostRoom): Observable> {\n return this.http.post(this.resourceUrl, room, { observe: 'response' })\n }\n\n partialUpdate(roomUid: string, room: IPatchRoom): Observable> {\n return this.http.patch(`${this.resourceUrl}/${roomUid}`, room, { observe: 'response' })\n }\n\n find(roomUid: string): Observable {\n return this.http.get(`${this.resourceUrl}/${roomUid}`, { observe: 'response' })\n .pipe(\n map((res: HttpResponse) => new GetRoom(res.body!))\n );\n }\n\n getRunState(roomUid: string): Observable> {\n return this.http.get(`${this.resourceUrl}/${roomUid}/runState`, { observe: 'response' });\n }\n\n query(): Observable {\n return this.http.get(this.resourceUrl, { observe: 'response' })\n .pipe(\n map((res: HttpResponse) => res.body!.map(r => new GetRoom(r)))\n );\n }\n\n\n deploy(roomUid: string): Observable {\n return this.http.post(`${this.resourceUrl}/${roomUid}/deploy`, { observe: 'response' })\n .pipe(\n map((task: IGetRoomDeploymentTask) => new GetRoomDeploymentTask(task))\n );\n }\n\n destroy(roomUid: string): Observable {\n return this.http.post(`${this.resourceUrl}/${roomUid}/destroy`, { observe: 'response' })\n .pipe(\n map((task: IGetRoomDeploymentTask) => new GetRoomDeploymentTask(task))\n );\n }\n\n archive(roomUid: string): Observable {\n return this.http.post(`${this.resourceUrl}/${roomUid}/archive`, { observe: 'response' })\n .pipe(\n map((res: IGetRoom) => new GetRoom(res))\n );\n }\n\n delete(roomUid: string): Observable> {\n return this.http.delete(`${this.resourceUrl}/${roomUid}`, { observe: 'response' })\n }\n\n\n addParticipant(roomUid: string, roomParticipant: IPostRoomParticipant): Observable> {\n return this.http.post(`${this.resourceUrl}/${roomUid}/participants`, roomParticipant, { observe: 'response' })\n }\n\n deleteParticipant(roomUid: string, roomParticipant: IPostRoomParticipant): Observable> {\n return this.http.delete(`${this.resourceUrl}/${roomUid}/participants`, { body: roomParticipant, observe: 'response' });\n }\n\n updateRoomParticipant(roomUid: string, participant: IPatchRoomParticipant): Observable> {\n return this.http.patch(`${this.resourceUrl}/${roomUid}/participants`, participant, { observe: 'response' })\n }\n\n}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { createRequestOption } from 'src/app/core/request-util';\nimport { IGetConnectionTemplate } from 'src/app/models/connection-templates/GetConnectionTemplate';\nimport { IPatchConnectionTemplate } from 'src/app/models/connection-templates/PatchConnectionTemplate';\nimport { IPostConnectionTemplate } from 'src/app/models/connection-templates/PostConnectionTemplate';\nimport { GetVmInstance, IGetVmInstance } from 'src/app/models/vm-instances/GetVmInstance';\nimport { GetVmInstanceTask, IGetVmInstanceTask } from 'src/app/models/vm-instances/GetVmInstanceTask';\nimport { GetVmTemplateVersion, IGetVmTemplateVersion } from 'src/app/models/vm-template-versions/GetVmTemplateVersion';\nimport { GetVmTemplateVersionTask, IGetVmTemplateVersionTask } from 'src/app/models/vm-template-versions/GetVmTemplateVersionTask';\nimport { IPatchVmTemplateVersion } from 'src/app/models/vm-template-versions/PatchVmTemplateVersion';\nimport { ICloneVmTemplateDto } from 'src/app/models/vm-templates/CloneVmTemplateDto';\nimport { GetVmTemplate, IGetVmTemplate } from 'src/app/models/vm-templates/GetVmTemplate';\nimport { IImportAzureImage } from 'src/app/models/vm-templates/ImportAzureImage';\nimport { IPatchVmTemplate } from 'src/app/models/vm-templates/PatchVmTemplate';\nimport { IGetVmTemplatePermissionAssignment } from 'src/app/models/vm-templates/permissions/GetVmTemplatePermissionAssignment';\nimport { IPostVmTemplatePermissionAssignment } from 'src/app/models/vm-templates/permissions/PostVmTemplatePermissionAssignment';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class TemplateService {\n protected resourceUrl = environment.baseApiUrl + '/vmtemplate';\n\n constructor(protected http: HttpClient) { }\n\n import(template: IImportAzureImage): Observable> {\n return this.http.post(`${this.resourceUrl}/import`, template, { observe: 'response' });\n }\n\n cloneTemplate(cloneVmTemplateDto?: ICloneVmTemplateDto): Observable> {\n return this.http.post(`${this.resourceUrl}/clone`, cloneVmTemplateDto, { observe: 'response' });\n }\n\n partialUpdate(templateUid: string, template: IPatchVmTemplate): Observable> {\n return this.http.patch(`${this.resourceUrl}/${templateUid}`, template, { observe: 'response' });\n }\n\n find(templateUid: string): Observable> {\n return this.http.get(`${this.resourceUrl}/${templateUid}`, { observe: 'response' });\n }\n\n query(req?: any): Observable> {\n const options = createRequestOption(req);\n return this.http.get(this.resourceUrl, { params: options, observe: 'response' });\n }\n\n delete(templateUid: string): Observable> {\n return this.http.delete(`${this.resourceUrl}/${templateUid}`, { observe: 'response' });\n }\n\n\n // PermissionAssignment\n\n addPermission(templateUid: string, permissionAssignment: IPostVmTemplatePermissionAssignment): Observable> {\n return this.http.post(`${this.resourceUrl}/${templateUid}/permission`, permissionAssignment, { observe: 'response' })\n }\n\n deletePermission(templateUid: string, permissionAssignment: IPostVmTemplatePermissionAssignment): Observable> {\n return this.http.delete(`${this.resourceUrl}/${templateUid}/permission`, { body: permissionAssignment, observe: 'response' });\n }\n\n\n // VmTemplateVersion\n\n partialUpdateVersion(templateUid: string, templateVersion: number, template: IPatchVmTemplateVersion): Observable> {\n return this.http.patch(`${this.resourceUrl}/${templateUid}/version/${templateVersion}`, template, { observe: 'response' });\n }\n\n getVmTemplateVersion(templateUid: string, templateVersion: number): Observable {\n return this.http.get(`${this.resourceUrl}/${templateUid}/version/${templateVersion}`, { observe: 'response' })\n .pipe(\n map((res: HttpResponse) => new GetVmTemplateVersion(res.body!))\n );\n }\n\n retryImport(templateUid: string): Observable {\n return this.http.post(`${this.resourceUrl}/${templateUid}/retryImport`, { observe: 'response' })\n .pipe(\n map((res: IGetVmTemplateVersionTask) => new GetVmTemplateVersionTask(res))\n );\n }\n\n cloneVersion(templateUid: string, templateVersion: number): Observable {\n return this.http.post(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/clone`, { observe: 'response' })\n .pipe(\n map((res: IGetVmTemplateVersion) => new GetVmTemplateVersion(res))\n );\n }\n\n archiveVersion(templateUid: string, templateVersion: number): Observable {\n return this.http.post(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/archive`, { observe: 'response' })\n .pipe(\n map((res: IGetVmTemplateVersion) => new GetVmTemplateVersion(res))\n );\n }\n\n deleteVersion(templateUid: string, templateVersion: number): Observable {\n return this.http.delete(`${this.resourceUrl}/${templateUid}/version/${templateVersion}`, { observe: 'response' })\n .pipe(\n map((res: HttpResponse) => new GetVmTemplateVersionTask(res.body!))\n );\n }\n\n saveDraft(templateUid: string, templateVersion: number): Observable {\n return this.http.post(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/save`, { observe: 'response' })\n .pipe(\n map((res: IGetVmTemplateVersionTask) => new GetVmTemplateVersionTask(res))\n );\n }\n\n getDraftVm(templateUid: string, templateVersion: number): Observable {\n return this.http.get(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/draft/vminstance`, { observe: 'response' })\n .pipe(\n map((res: HttpResponse) => res.body ? new GetVmInstance(res.body!) : undefined)\n );\n }\n\n deployDraftVm(templateUid: string, templateVersion: number): Observable {\n return this.http.post(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/draft/deploy`, { observe: 'response' })\n .pipe(\n map((res: IGetVmInstanceTask) => new GetVmInstanceTask(res))\n );\n }\n\n destroyDraftVm(templateUid: string, templateVersion: number): Observable {\n return this.http.post(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/draft/destroy`, { observe: 'response' })\n .pipe(\n map((res: IGetVmInstanceTask) => new GetVmInstanceTask(res))\n );\n }\n\n\n // ConnectionTemplate\n\n createConnectionTemplate(templateUid: string, templateVersion: number, connectionTemplate: IPostConnectionTemplate): Observable> {\n return this.http.post(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/connections`, connectionTemplate, { observe: 'response' });\n }\n\n partialUpdateConnectionTemplate(templateUid: string, templateVersion: number, port: number, connectionTemplate: IPatchConnectionTemplate): Observable> {\n return this.http.patch(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/connections/${port}`, connectionTemplate, { observe: 'response' });\n }\n\n deleteConnectionTemplate(templateUid: string, templateVersion: number, port: number): Observable> {\n return this.http.delete(`${this.resourceUrl}/${templateUid}/version/${templateVersion}/connections/${port}`, { observe: 'response' });\n }\n}\n\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { IGetUser } from 'src/app/models/users/GetUser';\nimport { IPatchUser } from 'src/app/models/users/PatchUser';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class UserService {\n protected resourceUrl = environment.baseApiUrl + '/user';\n\n constructor(protected http: HttpClient) { }\n\n partialUpdate(userId: number, user: IPatchUser): Observable> {\n return this.http.patch(`${this.resourceUrl}/${userId}`, user, { observe: 'response' });\n }\n\n query(queryString?: any): Observable> {\n let params = queryString ? { query: queryString } : undefined;\n return this.http.get(`${this.resourceUrl}/query`, { observe: 'response', params: params });\n }\n\n identifyUser(idToken: string): Observable {\n return this.http.post(`${this.resourceUrl}/identify?identityToken=${idToken}`, { observe: 'response' });\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LANGUAGES } from 'src/app/config/language.constants';\n\n@Component({\n selector: 'cloudlab-banner',\n templateUrl: './banner.component.html',\n styleUrls: ['./banner.component.scss'],\n host: {\n class: 'cloudlab-banner'\n },\n})\nexport class BannerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n\n }\n}\n","","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'cloudlab-error',\n templateUrl: './error.component.html',\n})\nexport class ErrorComponent implements OnInit, OnDestroy {\n \n errorMessage?: string;\n errorKey?: string;\n langChangeSubscription?: Subscription;\n\n constructor(private translateService: TranslateService, private route: ActivatedRoute) {}\n\n ngOnInit(): void {\n this.route.data.subscribe(routeData => {\n if (routeData.errorMessage) {\n this.errorKey = routeData.errorMessage;\n this.getErrorMessageTranslation();\n this.langChangeSubscription = this.translateService.onLangChange.subscribe(() => this.getErrorMessageTranslation());\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.langChangeSubscription) {\n this.langChangeSubscription.unsubscribe();\n }\n }\n\n private getErrorMessageTranslation(): void {\n this.errorMessage = '';\n if (this.errorKey) {\n this.translateService.get(this.errorKey).subscribe(translatedErrorMessage => {\n this.errorMessage = translatedErrorMessage;\n });\n }\n }\n}\n","
\n
\n
\n

Error Page!

\n\n
\n
{{ errorMessage }}
\n
\n
\n
\n
","import { Routes } from '@angular/router';\nimport { ErrorComponent } from './error.component';\n\nexport const errorRoutes: Routes = [\n {\n path: 'error',\n component: ErrorComponent,\n data: {\n pageTitle: 'error.title',\n },\n },\n {\n path: '403',\n component: ErrorComponent,\n data: {\n pageTitle: 'error.title',\n errorMessage: 'error.http.403',\n },\n },\n {\n path: '404',\n component: ErrorComponent,\n data: {\n pageTitle: 'error.title',\n errorMessage: 'error.http.404',\n },\n },\n {\n path: '**',\n redirectTo: '/404',\n },\n];\n","import { AuthService, User } from '@auth0/auth0-angular';\nimport { Component, OnInit } from '@angular/core';\nimport { IGetUser } from 'src/app/models/users/GetUser';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'cloudlab-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n host: {\n class: 'cloudlab-header'\n },\n})\nexport class HeaderComponent implements OnInit {\n\n public user!: IGetUser;\n\n\n constructor(\n public auth: AuthService,\n public router: Router\n ) { }\n\n ngOnInit(): void {\n this.auth.user$.subscribe(user => {\n if (user) {\n this.user = {\n id: user.sub!,\n issuer: '',\n displayName: user.name!,\n email: user.email!,\n picture: user.picture,\n roles: []\n };\n }\n });\n }\n\n logout(): void {\n const loginUrl = window.location.origin + this.router.createUrlTree(\n ['/login'],\n { queryParams: \n { \n reason: 'logout'\n }\n });\n console.warn(\"Logging out...\")\n this.auth.logout({ logoutParams: { returnTo: loginUrl }});\n }\n\n}\n","
\n \n Tecan\n \n \n \n \n \n \n \n \n \n
\n\n\n\n\n\n
\n\n \n \n \n \n
","import { HeaderComponent } from './header.component';\nimport { Route } from \"@angular/router\";\n\nexport const headerRoute: Route = {\n path: '',\n component: HeaderComponent,\n outlet: 'header',\n };\n ","import { BannerComponent } from './banner/banner.component';\nimport { CloudLabUserCardModule } from '../shared/user-card/user-card.module';\nimport { CommonModule } from '@angular/common';\nimport { ErrorComponent } from './error/error.component';\nimport { FeatureFlagDirectiveModule } from 'src/app/core/directives/feature-directive.module';\nimport { FindLanguageFromKeyPipe } from '../shared/language/find-language-from-key.pipe';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HeaderComponent } from './header/header.component';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedComponentsModule } from '../shared/shared-components.module';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { TecIconModule } from '@tecan/ui/icon';\n\n@NgModule({\n declarations: [\n BannerComponent,\n ErrorComponent,\n FindLanguageFromKeyPipe,\n HeaderComponent,\n SidebarComponent\n ],\n imports: [\n CloudLabUserCardModule,\n CommonModule,\n FeatureFlagDirectiveModule,\n FormsModule,\n ReactiveFormsModule, \n RouterModule,\n SharedComponentsModule,\n TecIconModule\n ],\n exports: [\n BannerComponent,\n ErrorComponent,\n FindLanguageFromKeyPipe,\n HeaderComponent,\n SidebarComponent\n ]\n})\nexport class LayoutComponentsModule { }","import { AuthService } from '@auth0/auth0-angular';\nimport { CloudLabOverlayService } from '../../shared/overlay/overlay.service';\nimport { Component, OnInit, ViewContainerRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SignalRService } from '../../shared/signalr/service/signalr.service';\nimport { UserService } from '../../core/users/service/user.service';\n\n@Component({\n selector: 'cloudlab-main',\n templateUrl: './main.component.html',\n styleUrls: ['./main.component.scss'],\n host: {\n class: 'cloudlab-main'\n },\n})\nexport class MainComponent implements OnInit {\n\n public get showBanner(): boolean\n {\n return this.router.url === '/'\n }\n\n\n constructor(\n public auth: AuthService,\n private userService: UserService,\n private signalRService: SignalRService,\n private viewContainerRef: ViewContainerRef,\n private overlayDialogService: CloudLabOverlayService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n\n this.overlayDialogService.setViewContainerRef(this.viewContainerRef);\n\n this.auth.isAuthenticated$.subscribe(async (isAuthenticated) => {\n if (isAuthenticated) {\n this.signalRService.connect();\n }\n });\n\n this.auth.idTokenClaims$.subscribe(async (user) => {\n if (user?.__raw) {\n this.userService.identifyUser(user?.__raw)\n .subscribe(\n () => this.onSaveUserSuccess(),\n () => this.onSaveError()\n )\n }\n });\n }\n\n\n protected onSaveUserSuccess(): void {\n // this.previousState();\n }\n\n protected onSaveError(): void {\n // Api for inheritance.\n }\n\n protected onSaveFinalize(): void {\n //\n }\n}\n","\n\n\n\n
\n\n \n \n\n \n
\n \n \n \n
\n \n
\n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LANGUAGES } from 'src/app/config/language.constants';\n\n@Component({\n selector: 'cloudlab-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n host: {\n class: 'cloudlab-sidebar'\n },\n})\nexport class SidebarComponent implements OnInit {\n languages = LANGUAGES;\n usedLanguage: string = 'en';\n\n constructor(\n @Inject(DOCUMENT) private doc: Document,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n\n }\n\n changeLanguage(): void {\n let currentLang = this.translateService.currentLang;\n switch (currentLang) {\n case 'en':\n this.translateService.use('de');\n this.usedLanguage = 'de'\n break;\n case 'de':\n this.translateService.use('en');\n this.usedLanguage = 'en'\n break;\n default: 'en'\n this.translateService.use('en');\n this.usedLanguage = 'en'\n break;\n }\n }\n\n}\n","
\n
\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n
\n
","import { Route } from \"@angular/router\";\nimport { SidebarComponent as SidebarComponent } from \"./sidebar.component\";\n\nexport const sidebarRoute: Route = {\n path: '',\n component: SidebarComponent,\n outlet: 'sidebar',\n };\n ","import { Component, Input } from \"@angular/core\";\nimport { IndicatorStyle } from \"src/app/enumerations/IndicatorStyle\";\n\n@Component({\n selector: 'cloudlab-card',\n host: {\n class: 'cloudlab-card'\n },\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss']\n})\nexport class CloudLabCardComponent {\n\n @Input() title!: string;\n\n @Input() subline?: string;\n\n @Input() indicatorStyle?: IndicatorStyle;\n\n get indicatorStyleClass() : string | undefined {\n return this.indicatorStyle;\n }\n\n}","\n
\n\n\n
\n

{{ title }}

\n

{{ subline }}

\n
\n\n\n
\n \n
","import { HttpClient, HttpResponse } from \"@angular/common/http\";\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Injectable } from \"@angular/core\";\nimport { tap, map } from \"rxjs/operators\";\nimport { environment } from 'src/environments/environment';\nimport { Health, IHealth } from \"src/app/models/health/GetHealth\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class FeatureFlagsService {\n config: Health = new Health(\"\",{});\n\n constructor(\n private http: HttpClient, \n public auth: AuthService) {\n }\n\n /**\n * We convert it to promise so that this function can\n * be called by the APP_INITIALIZER\n */\n async loadConfig() {\n return this.http\n .get(`${environment.baseApiUrl}/health`)\n .pipe(tap(data => (this.config = data)))\n .toPromise();\n }\n\n isFeatureEnabled(key: string) {\n if (this.config && this.config.featureSets[key] !== undefined) {\n return this.config.featureSets[key];\n }\n else\n return false;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'findLanguageFromKey' })\nexport class FindLanguageFromKeyPipe implements PipeTransform {\n private languages: { [key: string]: { name: string; rtl?: boolean } } = {\n en: { name: 'English' },\n de: { name: 'Deutsch' },\n };\n\n transform(lang: string): string {\n return this.languages[lang].name;\n }\n}\n","import { Input, Directive, ElementRef, OnChanges, OnInit, OnDestroy } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { translationNotFoundMessage } from 'src/app/config/translation.config';\n\n\n@Directive({\n selector: '[tecanTranslate]',\n})\nexport class TranslateDirective implements OnChanges, OnInit, OnDestroy {\n @Input() tecanTranslate!: string;\n @Input() translateValues?: { [key: string]: unknown };\n\n private readonly directiveDestroyed = new Subject();\n\n constructor(private el: ElementRef, private translateService: TranslateService) { }\n\n ngOnInit(): void {\n this.translateService.onLangChange.pipe(takeUntil(this.directiveDestroyed)).subscribe(() => {\n this.getTranslation();\n });\n this.translateService.onTranslationChange.pipe(takeUntil(this.directiveDestroyed)).subscribe(() => {\n this.getTranslation();\n });\n }\n\n ngOnChanges(): void {\n this.getTranslation();\n }\n\n ngOnDestroy(): void {\n this.directiveDestroyed.next(null);\n this.directiveDestroyed.complete();\n }\n\n private getTranslation(): void {\n this.translateService\n .get(this.tecanTranslate, this.translateValues)\n .pipe(takeUntil(this.directiveDestroyed))\n .subscribe(\n value => {\n this.el.nativeElement.innerHTML = value;\n },\n () => `${translationNotFoundMessage}[${this.tecanTranslate}]`\n );\n }\n}","import { CloudLabOverlayService } from \"./overlay.service\";\nimport { ComponentRef } from \"@angular/core\";\n\nexport class OverlayRef {\n\n constructor(\n private overlayService: CloudLabOverlayService,\n private overlayComponent: ComponentRef\n )\n {\n\n }\n\n close(): void {\n this.overlayService.close();\n }\n}","import { Component, Input, TemplateRef } from '@angular/core';\nimport { IOverlayButtonDef } from './IOverlayButtonDef';\n\n@Component({\n selector: 'cloudlab-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n host: {\n class: 'cloudlab-overlay'\n },\n})\nexport class CloudLabOverlayComponent {\n\n @Input()\n title!: string;\n\n @Input()\n subline?: string;\n\n @Input()\n content!: TemplateRef;\n\n @Input()\n buttons!: IOverlayButtonDef[];\n\n}\n","\n\n \n \n \n
\n \n {{ button.label | translate }}\n \n
\n","import { CloudLabOverlayComponent } from \"./overlay.component\";\nimport { ComponentRef, Injectable, TemplateRef, ViewContainerRef } from \"@angular/core\";\nimport { IOverlayButtonDef } from \"./IOverlayButtonDef\";\nimport { OverlayRef } from \"./OverlayRef\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CloudLabOverlayService {\n\n private viewContainerRef!: ViewContainerRef;\n\n private overlayComponent?: ComponentRef;\n\n\n constructor(\n ) { }\n\n\n public setViewContainerRef(viewContainerRef: ViewContainerRef) {\n this.viewContainerRef = viewContainerRef;\n }\n\n\n public show(title: string, content: TemplateRef, buttons: IOverlayButtonDef[], subline?: string): OverlayRef | undefined {\n if (!this.overlayComponent) {\n return this.createOverlay(title, content, buttons, subline);\n }\n else\n {\n return undefined;\n }\n }\n\n public close() {\n if (this.overlayComponent) {\n this.overlayComponent.destroy();\n }\n }\n\n\n private createOverlay(title: string, content: TemplateRef, buttons: IOverlayButtonDef[], subline?: string): OverlayRef {\n this.overlayComponent = this.viewContainerRef.createComponent(CloudLabOverlayComponent);\n this.overlayComponent.instance.title = title;\n this.overlayComponent.instance.content = content;\n this.overlayComponent.instance.subline = subline;\n this.overlayComponent.instance.buttons = buttons;\n\n this.overlayComponent.onDestroy(() => {\n this.overlayComponent = undefined;\n });\n\n return new OverlayRef(this, this.overlayComponent);\n }\n}","import { Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from \"@angular/core\";\nimport { AuthService } from \"@auth0/auth0-angular\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { hasSomeRole } from \"src/app/core/guards/permissions/role-utils\";\nimport { GlobalRole } from \"src/app/enumerations/GlobalRole\";\n\n@Directive({\n selector: '[cloudlabHasRole]'\n})\nexport class HasRoleDirective implements OnInit, OnDestroy {\n\n @Input() cloudlabHasRole!: string[];\n\n stop$ = new Subject();\n\n isVisible = false;\n\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private templateRef: TemplateRef,\n private authService: AuthService\n ) { }\n\n\n ngOnInit(): void {\n this.authService.user$.pipe(\n takeUntil(this.stop$)\n ).subscribe(user => {\n\n let requiredRoles = this.cloudlabHasRole.map(r => r);\n if (user && hasSomeRole(user, requiredRoles)) {\n if (!this.isVisible) {\n this.isVisible = true;\n this.viewContainerRef.createEmbeddedView(this.templateRef);\n }\n }\n\n else {\n this.isVisible = false;\n this.viewContainerRef.clear();\n }\n\n });\n }\n\n ngOnDestroy(): void {\n this.stop$.next(null);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'duration',\n pure: true\n})\nexport class DurationPipe implements PipeTransform {\n\n readonly steps = [\n {\n divisor: 1,\n symbol: 's'\n },\n {\n divisor: 60,\n symbol: 'min'\n },\n {\n divisor: 3600,\n symbol: 's'\n },\n {\n divisor: 86400,\n symbol: 'd'\n }\n ];\n\n\n transform(value: any, args?: any): any {\n\n let seconds = value as number;\n let i = 0;\n for (; i < this.steps.length && this.steps[i].divisor < seconds; ++i);\n\n let rounded = Math.floor(seconds / this.steps[i].divisor);\n return `${rounded}${this.steps[i].symbol}`;\n }\n\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\n\n transform(text: any, length: number = 20, suffix: string = '...'): string {\n\n if (text?.length > length) {\n let truncated: string = text.substring(0, length).trim() + suffix;\n return truncated;\n }\n\n return text;\n }\n}","import { Component, ElementRef, HostBinding, Input, OnInit, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: 'cloudlab-popover-container',\n templateUrl: './popover-container.component.html',\n styleUrls: ['./popover-container.component.scss']\n})\nexport class PopoverContainerComponent {\n\n @Input() text!: string;\n\n @Input() content!: TemplateRef;\n\n @Input() top: number = 0;\n \n @HostBinding('style.top')\n get topStyle() : string {\n return this.top + 'px';\n }\n\n @Input() left: number = 0;\n\n @HostBinding('style.left')\n get leftStyle() : string {\n return this.left + 'px';\n }\n}","\n","import { ComponentRef, Directive, ElementRef, HostListener, Input, OnDestroy, TemplateRef, Type, ViewContainerRef } from \"@angular/core\";\nimport { PopoverContainerComponent } from \"./container/popover-container.component\";\n\n@Directive({\n selector: '[cloudlabPopover]'\n})\nexport class PopoverDirective implements OnDestroy {\n\n @Input('cloudlabPopover')\n contentTemplate!: TemplateRef;\n\n @Input('cloudlabPopoverIf')\n showPopover: boolean = true;\n\n containerComponent?: ComponentRef;\n\n\n constructor(\n private elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef\n ) {\n\n }\n\n\n ngOnDestroy(): void { \n if (this.containerComponent) {\n this.containerComponent.destroy();\n this.containerComponent = undefined;\n }\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.showPopover && !this.containerComponent) {\n let x = this.elementRef.nativeElement.getBoundingClientRect().left + this.elementRef.nativeElement.offsetWidth / 2; // Get the middle of the element\n let y = this.elementRef.nativeElement.getBoundingClientRect().top + this.elementRef.nativeElement.offsetHeight + 6; // Get the bottom of the element, plus a little extra\n this.createPopover(x, y);\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.showPopover && this.containerComponent) {\n this.containerComponent.destroy();\n this.containerComponent = undefined;\n }\n }\n\n\n private createPopover(x: number, y: number) {\n this.containerComponent = this.viewContainerRef.createComponent(PopoverContainerComponent);\n this.containerComponent.instance.content = this.contentTemplate;\n this.containerComponent.instance.left = x;\n this.containerComponent.instance.top = y;\n }\n}","import { CommonModule } from '@angular/common';\nimport { DurationPipe } from './pipes/duration.pipe';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HasRoleDirective } from './permissions/has-role.directive';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { NgModule } from '@angular/core';\nimport { PopoverContainerComponent } from './popover/container/popover-container.component';\nimport { PopoverDirective } from './popover/popover.directive';\nimport { RouterModule } from '@angular/router';\nimport { TecDateRangePickerModule } from '@tecan/ui/material/date-range-picker';\nimport { TecIconModule } from '@tecan/ui/icon';\nimport { TranslateDirective } from './language/translate.directive';\nimport { TruncatePipe } from './pipes/truncate.pipe';\n\nconst COMPONENTS: any[] = [\n DurationPipe,\n HasRoleDirective,\n PopoverContainerComponent,\n PopoverDirective,\n TranslateDirective,\n TruncatePipe\n];\n\nconst OTHER_MODULES: any[] = [\n FormsModule,\n MatAutocompleteModule,\n MatCardModule,\n MatCheckboxModule,\n MatDatepickerModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatToolbarModule,\n ReactiveFormsModule,\n TecDateRangePickerModule\n];\n\n@NgModule({\n declarations: [COMPONENTS],\n imports: [CommonModule, RouterModule, TecIconModule, OTHER_MODULES],\n exports: [CommonModule, OTHER_MODULES, COMPONENTS],\n providers: []\n})\nexport class SharedComponentsModule { }","import { HttpClient } from '@angular/common/http';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AuthService } from \"@auth0/auth0-angular\";\nimport * as signalR from '@microsoft/signalr';\nimport { ToastrService } from 'ngx-toastr';\nimport { ProjectService } from 'src/app/components/core/project/service/project.service';\nimport { RoomService } from 'src/app/components/core/room/service/room.service';\nimport { TemplateService } from 'src/app/components/core/template/service/template.service';\nimport { TaskStatus } from 'src/app/enumerations/TaskStatus';\nimport { VmInstanceOperation } from 'src/app/enumerations/VmInstanceOperation';\nimport { IGetProject } from 'src/app/models/projects/GetProject';\nimport { GetProjectDeploymentTask, IGetProjectDeploymentTask } from 'src/app/models/projects/GetProjectDeploymentTask';\nimport { IGetRoom } from 'src/app/models/rooms/GetRoom';\nimport { GetRoomDeploymentTask, IGetRoomDeploymentTask } from 'src/app/models/rooms/GetRoomDeploymentTask';\nimport { GetVmInstance, IGetVmInstance } from 'src/app/models/vm-instances/GetVmInstance';\nimport { GetVmInstanceTask, IGetVmInstanceTask } from 'src/app/models/vm-instances/GetVmInstanceTask';\nimport { IGetVmTemplateVersion } from 'src/app/models/vm-template-versions/GetVmTemplateVersion';\nimport { GetVmTemplateVersionTask, IGetVmTemplateVersionTask } from 'src/app/models/vm-template-versions/GetVmTemplateVersionTask';\nimport { environment } from 'src/environments/environment';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SignalRService {\n\n isConnected: boolean = false;\n hasFailed: boolean = true;\n\n connection!: signalR.HubConnection;\n\n roomDeploymentTaskReceived: EventEmitter = new EventEmitter();\n vmInstanceTaskReceived: EventEmitter = new EventEmitter();\n vmInstanceStateReceived: EventEmitter = new EventEmitter();\n vmTemplateVersionTaskReceived: EventEmitter = new EventEmitter();\n projectDeploymentTaskReceived: EventEmitter = new EventEmitter();\n\n constructor(\n private http: HttpClient,\n private authService: AuthService,\n public toasterService: ToastrService,\n private roomService: RoomService,\n private vmTemplateService: TemplateService,\n private projectService: ProjectService\n ) { }\n\n\n // Establish a connection to the SignalR server hub\n public connect(): void {\n this.authService.isAuthenticated$.subscribe(isAuthenticated => {\n if (isAuthenticated) {\n this.authService.getAccessTokenSilently({\n authorizationParams: {\n audience: environment.auth0.audience\n }\n }).subscribe(accessToken => this.connectPostAuthenticate(accessToken));\n }\n });\n }\n\n connectPostAuthenticate(accessToken: string): void {\n\n // create an authenticated SignalR connection\n this.connection = new signalR.HubConnectionBuilder()\n .withUrl(environment.signalrHubUrl, { accessTokenFactory: () => accessToken, transport: signalR.HttpTransportType.LongPolling + signalR.HttpTransportType.WebSockets })\n .withAutomaticReconnect()\n .build();\n\n // hook up reconnection\n this.connection.onreconnecting((error) => {\n console.error(`Lost connection to SignalR hub ${environment.signalrHubUrl}.`, error);\n this.toasterService.error('connection.live.reconnecting.message', 'connection.live.reconnecting.title');\n });\n\n this.connection.onreconnected((connectionId) => {\n console.log(`Reconnected to SignalR hub ${environment.signalrHubUrl} with connection id ${connectionId}.`);\n this.toasterService.success('connection.live.reconnected.message', 'connection.live.reconnected.title');\n });\n\n // hook up message listeners\n this.connection.on('UpdateRoomDeploymentTask', (taskString: string) => {\n let task: GetRoomDeploymentTask = new GetRoomDeploymentTask(JSON.parse(taskString));\n this.showRoomDeploymentTaskToaster(task);\n this.roomDeploymentTaskReceived.emit(task);\n });\n\n this.connection.on('UpdateProjectDeploymentTask', (taskString: string) => {\n let task: GetProjectDeploymentTask = new GetProjectDeploymentTask(JSON.parse(taskString));\n this.showProjectDeploymentTaskToaster(task);\n this.projectDeploymentTaskReceived.emit(task);\n });\n\n this.connection.on('UpdateVmInstanceTask', (taskString: string) => {\n let task: GetVmInstanceTask = new GetVmInstanceTask(JSON.parse(taskString));\n this.showVmInstanceTaskToaster(task);\n this.vmInstanceTaskReceived.emit(task);\n });\n\n this.connection.on('UpdateVmInstanceState', (powerStateString: string) => {\n let powerState: GetVmInstance = new GetVmInstance(JSON.parse(powerStateString));\n this.vmInstanceStateReceived.emit(powerState);\n });\n\n this.connection.on('UpdateVmTemplateVersionTask', (taskString: string) => {\n let task: GetVmTemplateVersionTask = new GetVmTemplateVersionTask(JSON.parse(taskString));\n this.showVmTemplateVersionTaskToaster(task);\n this.vmTemplateVersionTaskReceived.emit(task);\n });\n\n // start the connection\n this.connection\n .start()\n .then(() => {\n console.log(`Connected to SignalR hub ${environment.signalrHubUrl} with connection id ${this.connection.connectionId}.`);\n this.isConnected = true;\n })\n .catch((error) => {\n console.error(`Could not connect to SignalR hub ${environment.signalrHubUrl}: ${error}`);\n this.hasFailed = true;\n \n console.info(`Attempting to reconnect to SignalR hub ${environment.signalrHubUrl}.`);\n this.connect();\n });\n }\n\n showRoomDeploymentTaskToaster(task: IGetRoomDeploymentTask): void {\n let title = 'room.operation.' + task.operation + '.' + task.status + '.title';\n let message = 'room.operation.' + task.operation + '.' + task.status + '.message';\n\n this.roomService.find(task.roomUid)\n .subscribe((res: IGetRoom) => {\n\n let options = { payload: { room: res } };\n\n if (task.status === TaskStatus.Queued) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.InProgress) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Cancelled) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Error) {\n this.toasterService.error(message, title, options);\n } else if (task.status === TaskStatus.Success) {\n this.toasterService.success(message, title, options);\n }\n });\n }\n\n showProjectDeploymentTaskToaster(task: IGetProjectDeploymentTask): void {\n let title = 'project.operation.' + task.operation + '.' + task.status + '.title';\n let message = 'project.operation.' + task.operation + '.' + task.status + '.message';\n\n this.projectService.find(task.projectUid)\n .subscribe((res: IGetProject) => {\n\n let options = { payload: { project: res } };\n\n if (task.status === TaskStatus.Queued) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.InProgress) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Cancelled) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Error) {\n this.toasterService.error(message, title, options);\n } else if (task.status === TaskStatus.Success) {\n this.toasterService.success(message, title, options);\n }\n });\n }\n\n showVmInstanceTaskToaster(task: IGetVmInstanceTask): void {\n\n if (task.operation !== VmInstanceOperation.GetPowerState) {\n\n let title = 'vmInstance.operation.' + task.operation + '.' + task.status + '.title';\n let message = 'vmInstance.operation.' + task.operation + '.' + task.status + '.message';\n let options = { payload: { vmInstance: { uid: task.vmInstanceUid } } };\n\n if (task.status === TaskStatus.Queued) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.InProgress) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Cancelled) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Error) {\n this.toasterService.error(message, title, options);\n } else if (task.status === TaskStatus.Success) {\n this.toasterService.success(message, title, options);\n }\n }\n }\n\n showVmTemplateVersionTaskToaster(task: IGetVmTemplateVersionTask): void {\n let title = 'vmTemplateVersion.operation.' + task.operation + '.' + task.status + '.title';\n let message = 'vmTemplateVersion.operation.' + task.operation + '.' + task.status + '.message';\n\n this.vmTemplateService.getVmTemplateVersion(task.vmTemplateUid, task.vmTemplateVersion)\n .subscribe((res: IGetVmTemplateVersion) => {\n\n let options = { payload: { vmTemplateVersion: res } };\n\n if (task.status === TaskStatus.Queued) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.InProgress) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Cancelled) {\n this.toasterService.info(message, title, options);\n } else if (task.status === TaskStatus.Error) {\n this.toasterService.error(message, title, options);\n } else if (task.status === TaskStatus.Success) {\n this.toasterService.success(message, title, options);\n }\n });\n }\n}","import {\n animate,\n keyframes,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\nimport { Component } from '@angular/core';\nimport { Toast, ToastPackage, ToastrService } from 'ngx-toastr';\n\n\n@Component({\n selector: '[cloudlab-toast]',\n styleUrls: ['./toast.component.scss'],\n templateUrl: './toast.component.html',\n animations: [\n trigger('flyInOut', [\n state('inactive', style({\n opacity: 0,\n })),\n transition('inactive => active', animate('400ms ease-out', keyframes([\n style({\n transform: 'translate3d(100%, 0, 0) skewX(-30deg)',\n opacity: 0,\n }),\n style({\n transform: 'skewX(20deg)',\n opacity: 1,\n }),\n style({\n transform: 'skewX(-5deg)',\n opacity: 1,\n }),\n style({\n transform: 'none',\n opacity: 1,\n }),\n ]))),\n transition('active => removed', animate('400ms ease-out', keyframes([\n style({\n opacity: 1,\n }),\n style({\n transform: 'translate3d(100%, 0, 0) skewX(30deg)',\n opacity: 0,\n }),\n ]))),\n ]),\n ],\n preserveWhitespaces: false,\n host: {\n class: \"cloudlab-toast\"\n }\n})\nexport class CloudLabToastComponent extends Toast {\n\n constructor(\n protected toastrService: ToastrService,\n public toastPackage: ToastPackage,\n ) {\n super(toastrService, toastPackage);\n }\n\n action(event: Event) {\n event.stopPropagation();\n this.toastPackage.triggerAction();\n return false;\n }\n}","
\n
\n\n
\n \n \n \n \n \n
\n\n
\n
\n {{ options.payload ? ( title | translate : options.payload ) : ( title | translate ) }}\n
\n\n
\n
\n\n
\n {{ options.payload ? ( message | translate : options.payload ) : ( message | translate ) }}\n
\n\n
","import { CloudLabToastComponent } from './toast.component';\nimport { NgModule } from '@angular/core';\nimport { TecCoreModule } from '@tecan/ui/core';\nimport { TecIconModule } from '@tecan/ui/icon';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n CloudLabToastComponent\n ],\n imports: [\n TecCoreModule,\n TecIconModule,\n TranslateModule\n ],\n exports: [\n CloudLabToastComponent\n ],\n})\nexport class CloudLabToastModule {}\n","export enum UserPictureSize {\n small = 'small',\n large = 'large'\n}","import { Component, Input, OnInit } from \"@angular/core\";\nimport { IGetUser } from \"src/app/models/users/GetUser\";\nimport { UserPictureSize } from \"./UserPictureSize\";\n\n@Component({\n selector: 'cloudlab-user-card',\n templateUrl: './user-card.component.html',\n styleUrls: [ './user-card.component.scss' ],\n host: {\n class: 'cloudlab-user-card'\n },\n})\nexport class CloudLabUserCardComponent implements OnInit {\n\n @Input()\n user!: IGetUser;\n\n @Input()\n showEmail: boolean = true;\n\n @Input()\n pictureSize: UserPictureSize = UserPictureSize.small;\n\n\n public pictureUrl!: string;\n\n\n public ngOnInit(): void {\n\n if (this.user.picture)\n this.pictureUrl = this.user.picture;\n\n // use random avatars as fallback\n else {\n let split = this.user.displayName.split(' ');\n let initials = split.map(s => s.charAt(0)).join();\n this.pictureUrl = 'https://ui-avatars.com/api/?background=random&size=480&font-size=0.4&color=FFFFFF&name=' + initials;\n }\n }\n}","
\n
\n\n
\n
\n {{ user.displayName }}\n
\n
\n {{ user.email }}\n
\n
","import { CloudLabUserCardComponent } from './user-card.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { NgModule } from '@angular/core';\nimport { TecButtonModule } from '@tecan/ui/button';\nimport { TecCheckboxModule } from '@tecan/ui/checkbox';\nimport { TecInputModule } from '@tecan/ui/input';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n CloudLabUserCardComponent\n ],\n imports: [\n CommonModule,\n FormsModule, \n TecButtonModule,\n TecCheckboxModule,\n TecInputModule,\n TranslateModule,\n MatDialogModule,\n MatButtonModule\n ],\n exports: [\n CloudLabUserCardComponent\n ],\n})\nexport class CloudLabUserCardModule {}\n","/*\n Languages codes are ISO_639-1 codes, see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n They are written in English to avoid character encoding issues (not a perfect solution)\n*/\nexport const LANGUAGES: string[] = [\n 'de',\n 'en'\n];\n","import { HttpClient } from '@angular/common/http';\nimport { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nexport const translationNotFoundMessage = 'translation-not-found';\n\nexport class MissingTranslationHandlerImpl implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams): string {\n const key = params.key;\n return `${translationNotFoundMessage}[${key}]`;\n }\n}\n\nexport function translatePartialLoader(http: HttpClient): TranslateLoader {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\nexport function missingTranslationHandler(): MissingTranslationHandler {\n return new MissingTranslationHandlerImpl();\n}\n","import { NgModule } from \"@angular/core\";\nimport { FeatureFlagDirective } from \"./feature-flag.directive\";\n\n@NgModule({\n declarations: [FeatureFlagDirective],\n exports: [FeatureFlagDirective]\n})\nexport class FeatureFlagDirectiveModule {}\n","import {\n Directive,\n Input,\n OnInit,\n TemplateRef,\n ViewContainerRef\n} from \"@angular/core\";\nimport { FeatureFlagsService } from \"src/app/components/shared/feature/feature-flags.service\";\n\n@Directive({\n selector: \"[featureFlag]\"\n})\nexport class FeatureFlagDirective implements OnInit {\n @Input() featureFlag!: string;\n constructor(\n private tpl: TemplateRef,\n private vcr: ViewContainerRef,\n private featureFlagService: FeatureFlagsService\n ) {}\n\n ngOnInit() {\n const isEnabled =\n this.featureFlagService.isFeatureEnabled(this.featureFlag) || false;\n if (isEnabled) {\n this.vcr.createEmbeddedView(this.tpl);\n }\n }\n}\n","import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from \"@angular/router\";\nimport { AuthService } from \"@auth0/auth0-angular\";\nimport { combineLatest, Observable } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\nimport { map } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthGuard {\n\n constructor(private authService: AuthService, private router: Router) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean {\n\n return combineLatest([\n this.authService.isAuthenticated$,\n this.authService.user$\n ])\n .pipe(\n map(([isAuthenticated, user]) => {\n\n // check if the user is logged in\n if (!isAuthenticated) {\n this.router.navigate(\n ['/login'], \n { \n queryParams: { \n redirect_uri: state.url,\n reason: 'unauthenticated'\n }\n }\n );\n return false;\n }\n\n // check if the user has any of the roles\n if (!user /* temporarily disabled role checks as instructed by Beat Amrein on 2022-08-22 >> || !hasSomeRole(user, [GlobalRole.Admin, GlobalRole.RoomAdmin, GlobalRole.TemplateAdmin, GlobalRole.Host]) */) {\n\n const loginUrl = window.location.origin + this.router.createUrlTree(\n ['/login'],\n {\n queryParams: { \n redirect_uri: state.url,\n reason: 'unauthorized'\n }\n }\n );\n this.authService.logout({ logoutParams: { returnTo: loginUrl }});\n return false;\n }\n\n return true;\n })\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { Route, Router, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FeatureFlagsService } from '../../../components/shared/feature/feature-flags.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureGuard {\n constructor(\n private featureFlagsService: FeatureFlagsService,\n private router: Router\n ) {}\n canLoad(\n route: Route,\n segments: UrlSegment[]\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n\n if (route.data?.feature) {\n const isEnabled = this.featureFlagsService.isFeatureEnabled(route.data?.feature);\n if (isEnabled) {\n return true;\n }\n }\n this.router.navigate(['/404']);\n return false;\n }\n}\n","import { User } from \"@auth0/auth0-spa-js\";\nimport { GlobalRole } from \"src/app/enumerations/GlobalRole\";\nimport { environment } from \"src/environments/environment\";\n\nexport function hasSomeRole(user: User, roles: GlobalRole[]): boolean {\n \n const roleMappings = environment.auth0.roleMappings;\n const rolesClaim = environment.auth0.rolesClaim;\n\n let claimedRoles = user[rolesClaim] as string;\n \n if (claimedRoles) {\n return claimedRoles\n .split(' ')\n .some(r => r in roleMappings && roles.indexOf(roleMappings[r]) !== -1);\n } else {\n return false;\n }\n}","import { HttpParams } from '@angular/common/http';\n\nexport const createRequestOption = (req?: any): HttpParams => {\n let options: HttpParams = new HttpParams();\n\n if (req) {\n Object.keys(req).forEach(key => {\n if (key !== 'sort') {\n options = options.set(key, req[key]);\n }\n });\n\n if (req.sort) {\n req.sort.forEach((val: string) => {\n options = options.append('sort', val);\n });\n }\n }\n\n return options;\n};\n","export enum GlobalRole {\n Admin = 'Admin',\n RoomAdmin = 'RoomAdmin',\n TemplateAdmin = 'TemplateAdmin',\n Host = 'Host',\n ProjectAdmin = 'ProjectAdmin',\n ProjectOwner = 'ProjectOwner'\n}","export enum TaskStatus {\n Queued = 'Queued',\n Cancelled = 'Cancelled',\n InProgress = 'InProgress',\n Success = 'Success',\n Error = 'Error'\n }\n ","export enum VmInstanceOperation {\n GetPowerState = 'GetPowerState',\n Deploy = 'Deploy',\n Destroy = 'Destroy',\n Redeploy = 'Redeploy',\n Restart = 'Restart',\n PowerOn = 'PowerOn',\n PowerOff = 'PowerOff'\n }\n ","import { TaskStatus } from \"src/app/enumerations/TaskStatus\";\n\nexport interface IGetBackgroundTask {\n isActive: boolean;\n isDone: boolean;\n uid: string;\n status: TaskStatus;\n queuedAt: string;\n message?: string;\n executionStart?: string;\n executionEnd?: string;\n errorCode?: string;\n}\n\nexport class GetBackgroundTask implements IGetBackgroundTask {\n\n uid: string;\n status: TaskStatus;\n queuedAt: string;\n message?: string | undefined;\n executionStart?: string | undefined;\n executionEnd?: string | undefined;\n errorCode?: string;\n\n\n constructor(simpleTask: IGetBackgroundTask) {\n this.uid = simpleTask.uid;\n this.status = simpleTask.status;\n this.queuedAt = simpleTask.queuedAt;\n this.message = simpleTask.message;\n this.executionStart = simpleTask.executionStart; \n this.executionEnd = simpleTask.executionEnd;\n this.errorCode = simpleTask.errorCode;\n }\n\n\n public get isActive(): boolean {\n return this.status === TaskStatus.Queued || this.status === TaskStatus.InProgress;\n }\n\n public get isDone(): boolean {\n return this.status === TaskStatus.Cancelled || this.status === TaskStatus.Error || this.status === TaskStatus.Success;\n }\n}","import { FeatureConfig } from \"../feature/feature.interface\";\n\nexport interface IHealth {\n version: string;\n featureSets: FeatureConfig;\n}\n\nexport class Health implements IHealth {\n constructor(\n public version: string,\n public featureSets: FeatureConfig,\n ) { }\n}","import { ProjectRole } from \"src/app/enumerations/ProjectRole\";\nimport { IGetUser } from \"../users/GetUser\";\n\nexport interface IGetProjectMember {\n user: IGetUser;\n role: ProjectRole;\n}\n\nexport class GetProjectMember implements IGetProjectMember {\n user: IGetUser;\n role: ProjectRole;\n\n\n constructor(simpleMember: IGetProjectMember) {\n this.user = simpleMember.user;\n this.role = simpleMember.role;\n }\n}","import { RoomRole } from \"src/app/enumerations/RoomRole\";\nimport { IGetUser } from \"../users/GetUser\";\nimport { GetVmInstance, IGetVmInstance } from \"../vm-instances/GetVmInstance\";\n\nexport interface IGetRoomParticipant {\n user: IGetUser;\n role: RoomRole;\n vmInstance?: IGetVmInstance;\n}\n\nexport class GetRoomParticipant implements IGetRoomParticipant {\n user: IGetUser;\n role: RoomRole;\n vmInstance?: GetVmInstance;\n\n\n constructor(simpleParticipant: IGetRoomParticipant) {\n this.user = simpleParticipant.user;\n this.role = simpleParticipant.role;\n this.vmInstance = simpleParticipant.vmInstance ? new GetVmInstance(simpleParticipant.vmInstance) : undefined;\n }\n}","import { GetProjectMember, IGetProjectMember } from \"../members/GetProjectMember\";\nimport { GetVmInstance, IGetVmInstance } from \"../vm-instances/GetVmInstance\";\nimport { GetVmTemplateVersion, IGetVmTemplateVersion } from \"../vm-template-versions/GetVmTemplateVersion\";\nimport { GetProjectDeploymentTask, IGetProjectDeploymentTask } from \"./GetProjectDeploymentTask\";\nimport { IGetBaseRoom } from \"src/app/components/core/base-room/models/IGetBaseRoom\";\nimport { RunState } from \"src/app/components/core/base-room/enumerations/RunState\";\nimport { DeploymentState } from \"src/app/components/core/base-room/enumerations/DeploymentState\";\n\nexport interface IGetProject extends IGetBaseRoom {\n requiresRedeployment: boolean,\n costCenter: string,\n location: string,\n vmTemplateVersion: IGetVmTemplateVersion,\n vmSize: string,\n members: IGetProjectMember[],\n currentTask?: IGetProjectDeploymentTask,\n vmInstance?: IGetVmInstance,\n}\n\nexport class GetProject implements IGetProject {\n uid!: string;\n title!: string;\n description?: string | undefined;\n deploymentState!: DeploymentState;\n runState = RunState.Pending;\n requiresRedeployment!: boolean;\n costCenter!: string;\n location!: string;\n vmTemplateVersion!: GetVmTemplateVersion;\n vmSize!: string;\n members!: GetProjectMember[];\n guacamoleAddress?: string | undefined;\n currentTask?: GetProjectDeploymentTask;\n vmInstance?: GetVmInstance;\n\n\n\n constructor(simpleProject: IGetProject) {\n this.uid = simpleProject.uid;\n this.title = simpleProject.title;\n this.description = simpleProject.description;\n this.deploymentState = simpleProject.deploymentState;\n this.requiresRedeployment = simpleProject.requiresRedeployment;\n this.costCenter = simpleProject.costCenter;\n this.location = simpleProject.location;\n this.vmTemplateVersion = new GetVmTemplateVersion(simpleProject.vmTemplateVersion);\n this.vmSize = simpleProject.vmSize;\n this.members = simpleProject.members.map(p => new GetProjectMember(p));\n this.guacamoleAddress = simpleProject.guacamoleAddress;\n this.currentTask = simpleProject.currentTask ? new GetProjectDeploymentTask(simpleProject.currentTask) : undefined;\n this.vmInstance = simpleProject.vmInstance ? new GetVmInstance(simpleProject.vmInstance) : undefined;\n }\n\n public get hasActiveTask(): boolean {\n return this.currentTask?.isActive === true;\n }\n}\n","import { DeploymentOperation } from \"src/app/enumerations/DeploymentOperation\";\nimport { GetBackgroundTask, IGetBackgroundTask } from \"../GetBackgroundTask\";\n\nexport interface IGetProjectDeploymentTask extends IGetBackgroundTask {\n projectUid: string;\n operation: DeploymentOperation;\n}\n\nexport class GetProjectDeploymentTask extends GetBackgroundTask implements IGetProjectDeploymentTask {\n \n projectUid: string;\n operation: DeploymentOperation;\n\n\n constructor(simpleTask: IGetProjectDeploymentTask) {\n super(simpleTask);\n this.projectUid = simpleTask.projectUid;\n this.operation = simpleTask.operation;\n }\n}","import { TecDateRangePickerValue } from \"@tecan/ui/material/date-range-picker\";\n\nexport interface IDeploymentSchedule {\n start: Date;\n end: Date;\n\n toTecDateRangeValue(): TecDateRangePickerValue;\n}\n\nexport class DeploymentSchedule implements IDeploymentSchedule {\n\n constructor(\n public start: Date,\n public end: Date\n ) { }\n\n \n public static fromTecDateRangeValue(dateRange: TecDateRangePickerValue) {\n let start = new Date(dateRange.start);\n let end = new Date(dateRange.end);\n\n return new DeploymentSchedule(\n new Date(start.getFullYear(), start.getMonth(), start.getDate(), 6),\n new Date(end.getFullYear(), end.getMonth(), end.getDate(), 22)\n );\n }\n\n public toTecDateRangeValue() {\n return {\n start: DeploymentSchedule.serialize(this.start),\n end: DeploymentSchedule.serialize(this.end)\n }\n }\n\n\n private static serialize(date: Date) {\n return [\n date.getFullYear(),\n DeploymentSchedule.twoDigits(date.getMonth() + 1),\n DeploymentSchedule.twoDigits(date.getDate())\n ].join('-') + \"T00:00:00Z\";\n }\n\n private static twoDigits(n: number) {\n return String(n).padStart(2, '0');\n }\n}","import { GetRoomParticipant, IGetRoomParticipant } from \"../participants/GetRoomParticipant\";\nimport { IGetVmTemplateVersion } from \"../vm-template-versions/GetVmTemplateVersion\";\nimport { DeploymentSchedule, IDeploymentSchedule } from \"./DeploymentSchedule\";\nimport { GetRoomDeploymentTask, IGetRoomDeploymentTask } from \"./GetRoomDeploymentTask\";\nimport { IGetBaseRoom } from \"src/app/components/core/base-room/models/IGetBaseRoom\";\nimport { RunState } from \"src/app/components/core/base-room/enumerations/RunState\";\nimport { DeploymentState } from \"src/app/components/core/base-room/enumerations/DeploymentState\";\n\nexport interface IGetRoom extends IGetBaseRoom{\n deploymentSchedule?: IDeploymentSchedule,\n currentTask?: IGetRoomDeploymentTask,\n requiresRedeployment: boolean,\n costCenter: string,\n location: string,\n vmTemplateVersion: IGetVmTemplateVersion,\n vmSize: string,\n participants: IGetRoomParticipant[]\n}\n\nexport class GetRoom implements IGetRoom {\n uid!: string;\n title!: string;\n description?: string | undefined;\n deploymentSchedule?: IDeploymentSchedule;\n currentTask?: GetRoomDeploymentTask;\n deploymentState!: DeploymentState;\n runState = RunState.Pending;\n requiresRedeployment!: boolean;\n costCenter!: string;\n location!: string;\n vmTemplateVersion!: IGetVmTemplateVersion;\n vmSize!: string;\n participants!: GetRoomParticipant[];\n guacamoleAddress?: string | undefined;\n\n\n constructor(simpleRoom: IGetRoom) {\n this.uid = simpleRoom.uid;\n this.title = simpleRoom.title;\n this.description = simpleRoom.description;\n this.deploymentSchedule = simpleRoom.deploymentSchedule && simpleRoom.deploymentSchedule.start != null && simpleRoom.deploymentSchedule.end != null ? new DeploymentSchedule(new Date(simpleRoom.deploymentSchedule.start), new Date(simpleRoom.deploymentSchedule.end)) : undefined;\n this.currentTask = simpleRoom.currentTask ? new GetRoomDeploymentTask(simpleRoom.currentTask) : undefined;\n this.deploymentState = simpleRoom.deploymentState;\n this.requiresRedeployment = simpleRoom.requiresRedeployment;\n this.costCenter = simpleRoom.costCenter;\n this.location = simpleRoom.location;\n this.vmTemplateVersion = simpleRoom.vmTemplateVersion;\n this.vmSize = simpleRoom.vmSize;\n this.participants = simpleRoom.participants.map(p => new GetRoomParticipant(p));\n this.guacamoleAddress = simpleRoom.guacamoleAddress;\n }\n\n\n public get hasActiveTask(): boolean {\n return this.currentTask?.isActive === true;\n }\n}\n","import { DeploymentOperation } from \"src/app/enumerations/DeploymentOperation\";\nimport { GetBackgroundTask, IGetBackgroundTask } from \"../GetBackgroundTask\";\n\nexport interface IGetRoomDeploymentTask extends IGetBackgroundTask {\n roomUid: string;\n operation: DeploymentOperation;\n}\n\nexport class GetRoomDeploymentTask extends GetBackgroundTask implements IGetRoomDeploymentTask {\n \n roomUid: string;\n operation: DeploymentOperation;\n\n\n constructor(simpleTask: IGetRoomDeploymentTask) {\n super(simpleTask);\n this.roomUid = simpleTask.roomUid;\n this.operation = simpleTask.operation;\n }\n}","import { VmInstanceDeploymentState } from \"src/app/enumerations/VmInstanceDeploymentState\";\nimport { VmInstancePowerState } from \"src/app/enumerations/VmInstancePowerState\";\nimport { GetVmInstanceTask, IGetVmInstanceTask } from \"./GetVmInstanceTask\";\n\nexport interface IGetVmInstance {\n uid: string;\n powerState: VmInstancePowerState;\n deploymentState: VmInstanceDeploymentState;\n currentTask?: IGetVmInstanceTask;\n}\n\n\nexport class GetVmInstance implements IGetVmInstance {\n\n uid: string;\n powerState: VmInstancePowerState;\n deploymentState: VmInstanceDeploymentState;\n currentTask?: GetVmInstanceTask;\n\n\n constructor(simpleVmInstance: IGetVmInstance) {\n this.uid = simpleVmInstance.uid;\n this.powerState = simpleVmInstance.powerState;\n this.deploymentState = simpleVmInstance.deploymentState;\n this.currentTask = simpleVmInstance.currentTask ? new GetVmInstanceTask(simpleVmInstance.currentTask) : undefined;\n }\n\n\n public get hasActiveTask(): boolean {\n return this.currentTask?.isActive === true;\n }\n}","import { VmInstanceOperation } from \"src/app/enumerations/VmInstanceOperation\";\nimport { GetBackgroundTask, IGetBackgroundTask } from \"../GetBackgroundTask\";\n\nexport interface IGetVmInstanceTask extends IGetBackgroundTask {\n vmInstanceUid: string;\n operation: VmInstanceOperation;\n}\n\nexport class GetVmInstanceTask extends GetBackgroundTask implements IGetVmInstanceTask {\n \n vmInstanceUid: string;\n operation: VmInstanceOperation;\n\n\n constructor(simpleTask: IGetVmInstanceTask) {\n super(simpleTask);\n this.vmInstanceUid = simpleTask.vmInstanceUid;\n this.operation = simpleTask.operation;\n }\n}\n","import { User } from \"@auth0/auth0-spa-js\";\nimport { VmTemplateVersionState } from \"src/app/enumerations/VmTemplateVersionState\";\nimport { IGetConnectionTemplate } from \"../connection-templates/GetConnectionTemplate\";\nimport { IGetVmTemplateChild } from \"../vm-templates/GetVmTemplateChild\";\nimport { GetVmTemplateVersionTask, IGetVmTemplateVersionTask } from \"./GetVmTemplateVersionTask\";\n\nexport interface IGetVmTemplateVersion {\n vmTemplateUid: string,\n version: number,\n description?: string,\n state: VmTemplateVersionState,\n currentTask?: IGetVmTemplateVersionTask;\n isSpecialized: boolean,\n specializedComputername?: string,\n specializedUsername?: string,\n specializedPassword?: string,\n connections: IGetConnectionTemplate[],\n creationDate: Date,\n creator: User,\n vmTemplate: IGetVmTemplateChild\n}\n\nexport class GetVmTemplateVersion implements IGetVmTemplateVersion {\n\n vmTemplateUid: string;\n version: number;\n description?: string | undefined;\n state: VmTemplateVersionState;\n currentTask?: GetVmTemplateVersionTask;\n isSpecialized: boolean;\n specializedComputername?: string | undefined;\n specializedUsername?: string | undefined;\n specializedPassword?: string | undefined;\n connections: IGetConnectionTemplate[];\n creationDate: Date;\n creator: User;\n vmTemplate: IGetVmTemplateChild;\n \n constructor(simpleVmTemplateVersion: IGetVmTemplateVersion) {\n this.vmTemplateUid = simpleVmTemplateVersion.vmTemplateUid;\n this.version = simpleVmTemplateVersion.version;\n this.description = simpleVmTemplateVersion.description;\n this.state = simpleVmTemplateVersion.state;\n this.currentTask = simpleVmTemplateVersion.currentTask ? new GetVmTemplateVersionTask(simpleVmTemplateVersion.currentTask) : undefined;\n this.isSpecialized = simpleVmTemplateVersion.isSpecialized;\n this.specializedComputername = simpleVmTemplateVersion.specializedComputername;\n this.specializedUsername = simpleVmTemplateVersion.specializedUsername;\n this.specializedPassword = simpleVmTemplateVersion.specializedPassword;\n this.connections = simpleVmTemplateVersion.connections;\n this.creationDate = simpleVmTemplateVersion.creationDate;\n this.creator = simpleVmTemplateVersion.creator;\n this.vmTemplate = simpleVmTemplateVersion.vmTemplate;\n }\n \n\n public get hasActiveTask(): boolean {\n return this.currentTask?.isActive === true;\n }\n}","import { VmTemplateDraftOperation } from \"src/app/enumerations/VmTemplateDraftOperation\";\nimport { GetBackgroundTask, IGetBackgroundTask } from \"../GetBackgroundTask\";\n\nexport interface IGetVmTemplateVersionTask extends IGetBackgroundTask {\n vmTemplateUid: string;\n vmTemplateVersion: number;\n operation: VmTemplateDraftOperation;\n}\n\nexport class GetVmTemplateVersionTask extends GetBackgroundTask implements IGetVmTemplateVersionTask {\n\n vmTemplateUid: string;\n vmTemplateVersion: number;\n operation: VmTemplateDraftOperation;\n\n\n constructor(simpleTask: IGetVmTemplateVersionTask) {\n super(simpleTask);\n this.vmTemplateUid = simpleTask.vmTemplateUid;\n this.vmTemplateVersion = simpleTask.vmTemplateVersion;\n this.operation = simpleTask.operation;\n }\n}","import { Environment } from \"src/app/config/environment.type\";\nimport { GlobalRole } from \"src/app/enumerations/GlobalRole\";\n\nexport const environment: Environment = {\n production: false,\n\n baseApiUrl: 'https://api.cloudlab-dev.tecan.com/api',\n signalrHubUrl: 'https://tecan-app-cloudlab-dev-backend.azurewebsites.net/hubs/room',\n\n auth0: {\n domain: \"login-dev.tecan.com\",\n clientId: \"JJsXx9EWD95fjD9Q47WsfVNSN3EuM8CZ\",\n audience: \"https://api.cloudlab-dev.tecan.com\",\n rolesClaim: \"https://tecan.com/roles\",\n roleMappings: {\n \"Admin\": GlobalRole.Admin,\n \"RoomAdmin\": GlobalRole.RoomAdmin,\n \"ProjectAdmin\": GlobalRole.ProjectAdmin,\n \"TemplateAdmin\": GlobalRole.TemplateAdmin,\n \"Host\": GlobalRole.Host\n }\n },\n\n costEstimate: {\n hourlyBaseCost: {\n 'EUR': 20,\n 'USD': 20\n }\n }\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["AuthGuard","errorRoutes","FeatureGuard","headerRoute","RouterModule","sidebarRoute","layoutRoutes","routes","path","loadChildren","then","m","CloudLabLoginModule","canActivate","canLoad","data","pageTitle","feature","RoomModule","ProjectModule","TemplateModule","ReportModule","GuestModule","AppRoutingModule","forRoot","imports","i1","exports","APP_INITIALIZER","LOCALE_ID","AuthHttpInterceptor","AuthModule","BrowserAnimationsModule","BrowserModule","Title","CloudLabToastComponent","CloudLabToastModule","environment","FeatureFlagsService","HttpClient","HttpClientModule","HTTP_INTERCEPTORS","LayoutComponentsModule","MainComponent","MissingTranslationHandler","TranslateLoader","TranslateModule","missingTranslationHandler","translatePartialLoader","SharedComponentsModule","SignalRService","ToastrModule","featureFactory","featureFlagsService","loadConfig","AppModule","constructor","translateService","setDefaultLang","use","i0","ɵɵinject","TranslateService","bootstrap","provide","useValue","useClass","multi","useFactory","deps","domain","auth0","clientId","authorizationParams","redirect_uri","window","location","origin","audience","httpInterceptor","allowedList","uriMatcher","uri","baseApiUrl","indexOf","tokenOptions","loader","toastComponent","positionClass","timeOut","declarations","i2","i3","RunState","map","GetProject","GetProjectDeploymentTask","env","ProjectService","http","resourceUrl","query","get","observe","pipe","res","body","r","find","projectUid","getRunState","create","project","post","partialUpdate","patch","addMember","projectMember","deleteMember","delete","deploy","task","destroy","archive","factory","ɵfac","providedIn","GetRoom","GetRoomDeploymentTask","RoomService","room","roomUid","addParticipant","roomParticipant","deleteParticipant","updateRoomParticipant","participant","createRequestOption","GetVmInstance","GetVmInstanceTask","GetVmTemplateVersion","GetVmTemplateVersionTask","TemplateService","import","template","cloneTemplate","cloneVmTemplateDto","templateUid","req","options","params","addPermission","permissionAssignment","deletePermission","partialUpdateVersion","templateVersion","getVmTemplateVersion","retryImport","cloneVersion","archiveVersion","deleteVersion","saveDraft","getDraftVm","undefined","deployDraftVm","destroyDraftVm","createConnectionTemplate","connectionTemplate","partialUpdateConnectionTemplate","port","deleteConnectionTemplate","UserService","userId","user","queryString","identifyUser","idToken","BannerComponent","ngOnInit","selectors","hostAttrs","decls","vars","consts","BannerComponent_Template","rf","ctx","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","errorMessage","ErrorComponent","route","subscribe","routeData","errorKey","getErrorMessageTranslation","langChangeSubscription","onLangChange","ngOnDestroy","unsubscribe","translatedErrorMessage","ɵɵdirectiveInject","ActivatedRoute","ErrorComponent_Template","ɵɵtemplate","ErrorComponent_div_5_Template","ɵɵproperty","component","redirectTo","ɵɵlistener","HeaderComponent_div_14_Template_tec_icon_click_2_listener","ɵɵrestoreView","_r3","ctx_r2","ɵɵnextContext","ɵɵresetView","logout","HeaderComponent","auth","router","user$","id","sub","issuer","displayName","name","email","picture","roles","loginUrl","createUrlTree","queryParams","reason","console","warn","logoutParams","returnTo","AuthService","Router","HeaderComponent_Template","ɵɵnamespaceSVG","ɵɵnamespaceHTML","HeaderComponent_cloudlab_user_card_13_Template","HeaderComponent_div_14_Template","ɵɵpureFunction0","_c0","outlet","CloudLabUserCardModule","CommonModule","FeatureFlagDirectiveModule","FindLanguageFromKeyPipe","FormsModule","ReactiveFormsModule","SidebarComponent","TecIconModule","showBanner","url","userService","signalRService","viewContainerRef","overlayDialogService","_this","setViewContainerRef","isAuthenticated$","_ref","_asyncToGenerator","isAuthenticated","connect","_x","apply","arguments","idTokenClaims$","_ref2","__raw","onSaveUserSuccess","onSaveError","_x2","onSaveFinalize","ViewContainerRef","i4","CloudLabOverlayService","i5","MainComponent_Template","MainComponent_cloudlab_sidebar_2_Template","MainComponent_cloudlab_banner_4_Template","DOCUMENT","LANGUAGES","ɵɵelementContainerStart","ɵɵelementContainerEnd","doc","languages","usedLanguage","changeLanguage","currentLang","SidebarComponent_Template","SidebarComponent_ng_container_2_Template","SidebarComponent_ng_container_3_Template","indicatorStyle","ctx_r1","subline","CloudLabCardComponent","indicatorStyleClass","inputs","title","ngContentSelectors","CloudLabCardComponent_Template","CloudLabCardComponent_div_0_Template","CloudLabCardComponent_p_4_Template","ɵɵprojection","tap","Health","config","toPromise","isFeatureEnabled","key","featureSets","en","de","transform","lang","pure","Subject","takeUntil","translationNotFoundMessage","TranslateDirective","el","directiveDestroyed","getTranslation","onTranslationChange","ngOnChanges","next","complete","tecanTranslate","translateValues","value","nativeElement","innerHTML","ElementRef","features","ɵɵNgOnChangesFeature","OverlayRef","overlayService","overlayComponent","close","ɵɵelementContainer","CloudLabOverlayComponent_tec_button_3_Template_tec_button_click_0_listener","restoredCtx","_r4","button_r2","$implicit","callback","appearance","ɵɵtextInterpolate1","ɵɵpipeBind1","label","CloudLabOverlayComponent","content","buttons","CloudLabOverlayComponent_Template","CloudLabOverlayComponent_ng_container_1_Template","CloudLabOverlayComponent_tec_button_3_Template","show","createOverlay","createComponent","instance","onDestroy","hasSomeRole","HasRoleDirective","templateRef","authService","stop$","isVisible","requiredRoles","cloudlabHasRole","createEmbeddedView","clear","TemplateRef","DurationPipe","steps","divisor","symbol","args","seconds","i","length","rounded","Math","floor","TruncatePipe","text","suffix","truncated","substring","trim","PopoverContainerComponent","top","left","topStyle","leftStyle","hostVars","hostBindings","PopoverContainerComponent_HostBindings","PopoverContainerComponent_ng_container_0_Template","PopoverDirective","elementRef","showPopover","containerComponent","onMouseEnter","x","getBoundingClientRect","offsetWidth","y","offsetHeight","createPopover","onMouseLeave","contentTemplate","PopoverDirective_HostBindings","PopoverDirective_mouseleave_HostBindingHandler","MatAutocompleteModule","MatCardModule","MatCheckboxModule","MatDatepickerModule","MatFormFieldModule","MatInputModule","MatListModule","MatMenuModule","MatNativeDateModule","MatProgressSpinnerModule","MatSelectModule","MatToolbarModule","TecDateRangePickerModule","COMPONENTS","OTHER_MODULES","EventEmitter","signalR","TaskStatus","VmInstanceOperation","toasterService","roomService","vmTemplateService","projectService","isConnected","hasFailed","roomDeploymentTaskReceived","vmInstanceTaskReceived","vmInstanceStateReceived","vmTemplateVersionTaskReceived","projectDeploymentTaskReceived","getAccessTokenSilently","accessToken","connectPostAuthenticate","connection","HubConnectionBuilder","withUrl","signalrHubUrl","accessTokenFactory","transport","HttpTransportType","LongPolling","WebSockets","withAutomaticReconnect","build","onreconnecting","error","onreconnected","connectionId","log","success","on","taskString","JSON","parse","showRoomDeploymentTaskToaster","emit","showProjectDeploymentTaskToaster","showVmInstanceTaskToaster","powerStateString","powerState","showVmTemplateVersionTaskToaster","start","catch","info","operation","status","message","payload","Queued","InProgress","Cancelled","Error","Success","GetPowerState","vmInstance","uid","vmInstanceUid","vmTemplateUid","vmTemplateVersion","ToastrService","i6","animate","keyframes","state","style","transition","trigger","Toast","ɵɵclassMap","ctx_r5","titleClass","ɵɵattribute","ɵɵpipeBind2","ctx_r6","messageClass","ɵɵsanitizeHtml","ctx_r7","toastrService","toastPackage","action","event","stopPropagation","triggerAction","ToastPackage","ɵɵInheritDefinitionFeature","attrs","CloudLabToastComponent_Template","CloudLabToastComponent_tec_icon_2_Template","CloudLabToastComponent_tec_icon_3_Template","CloudLabToastComponent_tec_icon_4_Template","CloudLabToastComponent_tec_icon_5_Template","CloudLabToastComponent_tec_icon_6_Template","CloudLabToastComponent_div_8_Template","CloudLabToastComponent_div_9_Template","CloudLabToastComponent_div_10_Template","enableHtml","opacity","TecCoreModule","UserPictureSize","ɵɵstyleProp","pictureUrl","pictureSize","CloudLabUserCardComponent","showEmail","small","split","initials","s","charAt","join","CloudLabUserCardComponent_Template","CloudLabUserCardComponent_div_0_Template","CloudLabUserCardComponent_div_4_Template","MatButtonModule","MatDialogModule","TecButtonModule","TecCheckboxModule","TecInputModule","TranslateHttpLoader","MissingTranslationHandlerImpl","handle","FeatureFlagDirective","tpl","vcr","featureFlagService","isEnabled","featureFlag","combineLatest","navigate","segments","roleMappings","rolesClaim","claimedRoles","some","HttpParams","Object","keys","forEach","set","sort","val","append","GlobalRole","GetBackgroundTask","simpleTask","queuedAt","executionStart","executionEnd","errorCode","isActive","isDone","version","GetProjectMember","simpleMember","role","GetRoomParticipant","simpleParticipant","simpleProject","runState","Pending","description","deploymentState","requiresRedeployment","costCenter","vmSize","members","p","guacamoleAddress","currentTask","hasActiveTask","DeploymentSchedule","end","fromTecDateRangeValue","dateRange","Date","getFullYear","getMonth","getDate","toTecDateRangeValue","serialize","date","twoDigits","n","String","padStart","simpleRoom","deploymentSchedule","participants","simpleVmInstance","simpleVmTemplateVersion","isSpecialized","specializedComputername","specializedUsername","specializedPassword","connections","creationDate","creator","vmTemplate","production","Admin","RoomAdmin","ProjectAdmin","TemplateAdmin","Host","costEstimate","hourlyBaseCost","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}