This is an automated email from the ASF dual-hosted git repository.

jiadongb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/main by this push:
     new 407a91fa65 refactor(frontend): move shared computing unit types and 
services to `frontend/src/app/common` (#4358)
407a91fa65 is described below

commit 407a91fa65586e0df4bcbfe82ea29e10cae9846c
Author: Grace Chia <[email protected]>
AuthorDate: Thu Apr 16 00:53:23 2026 -0700

    refactor(frontend): move shared computing unit types and services to 
`frontend/src/app/common` (#4358)
    
    <!--
    Thanks for sending a pull request (PR)! Here are some tips for you:
    1. If this is your first time, please read our contributor guidelines:
    [Contributing to
    Texera](https://github.com/apache/texera/blob/main/CONTRIBUTING.md)
      2. Ensure you have added or run the appropriate tests for your PR
      3. If the PR is work in progress, mark it a draft on GitHub.
      4. Please write your PR title to summarize what this PR proposes, we
        are following Conventional Commits style for PR titles as well.
      5. Be sure to keep the PR description updated to reflect all changes.
    -->
    
    ### What changes were proposed in this PR?
    <!--
    Please clarify what changes you are proposing. The purpose of this
    section
    is to outline the changes. Here are some tips for you:
      1. If you propose a new API, clarify the use case for a new API.
      2. If you fix a bug, you can clarify why it is a bug.
      3. If it is a refactoring, clarify what has been changed.
      3. It would be helpful to include a before-and-after comparison using
         screenshots or GIFs.
      4. Please consider writing useful notes for better and faster reviews.
    -->
    (For readability, `...` refers to `frontend/src/app` in the codebase.)
    
    This PR moves shared computing unit types and services to `.../common`
    under `frontend/src/app`. Specifically:
    | Original location | New location |
    | ---------------- | ------------- |
    | `.../dashboard/service/user/computing-unit-actions` |
    `.../common/service/computing-unit/computing-unit-actions` |
    | `.../workspace/service/workflow-computing-unit` |
    `.../common/service/computing-unit/computing-unit-managing` |
    | `.../workspace/service/computing-unit-status` |
    `.../common/service/computing-unit/computing-unit-status` |
    | `.../workspace/types/computing-unit-connection.interface.ts` |
    `.../common/type/computing-unit-connection.interface.ts` |
    | `.../workspace/types/workflow-computing-unit.ts` |
    `.../common/type/workflow-computing-unit.ts` |
    
    ### Any related issues, documentation, discussions?
    <!--
    Please use this section to link other resources if not mentioned
    already.
    1. If this PR fixes an issue, please include `Fixes #1234`, `Resolves
    #1234`
    or `Closes #1234`. If it is only related, simply mention the issue
    number.
      2. If there is design documentation, please add the link.
      3. If there is a discussion in the mailing list, please add the link.
    -->
    Closes #4362
    
    ### How was this PR tested?
    <!--
    If tests were added, say they were added here. Or simply mention that if
    the PR
    is tested with existing test cases. Make sure to include/update test
    cases that
    check the changes thoroughly including negative and positive cases if
    possible.
    If it was tested in a way different from regular unit tests, please
    clarify how
    you tested step by step, ideally copy and paste-able, so that other
    reviewers can
    test and check, and descendants can verify in the future. If tests were
    not added,
    please describe why they were not added and/or why it was difficult to
    add.
    -->
    Locally tested
    
    ### Was this PR authored or co-authored using generative AI tooling?
    <!--
    If generative AI tooling has been used in the process of authoring this
    PR,
    please include the phrase: 'Generated-by: ' followed by the name of the
    tool
    and its version. If no, write 'No'.
    Please refer to the [ASF Generative Tooling
    Guidance](https://www.apache.org/legal/generative-tooling.html) for
    details.
    -->
    No
    
    ---------
    
    Co-authored-by: Chen Li <[email protected]>
    Co-authored-by: Kunwoo (Chris) <[email protected]>
    Co-authored-by: Jiadong Bai <[email protected]>
---
 .../computing-unit-actions.service.ts                   | 17 +++++++----------
 .../computing-unit-status.service.ts                    | 12 ++++++------
 .../mock-computing-unit-status.service.ts               |  2 +-
 .../workflow-computing-unit-managing.service.ts         |  4 ++--
 .../type}/computing-unit-connection.interface.ts        |  0
 .../types => common/type}/workflow-computing-unit.ts    |  0
 frontend/src/app/common/util/computing-unit.util.ts     |  2 +-
 .../user-computing-unit-list-item.component.ts          |  8 ++++----
 .../user-computing-unit.component.spec.ts               |  6 +++---
 .../user-computing-unit.component.ts                    |  8 ++++----
 .../dashboard/service/user/download/download.service.ts |  2 +-
 frontend/src/app/dashboard/type/dashboard-entry.ts      |  2 +-
 frontend/src/app/dashboard/type/type-predicates.ts      |  2 +-
 .../time-travel/time-travel.component.spec.ts           |  4 ++--
 .../src/app/workspace/component/menu/menu.component.ts  |  6 +++---
 .../computing-unit-selection.component.spec.ts          |  4 ++--
 .../power-button/computing-unit-selection.component.ts  | 11 +++++++----
 .../operator-property-edit-frame.component.spec.ts      |  4 ++--
 .../property-editor/property-editor.component.spec.ts   |  4 ++--
 .../result-exportation/result-exportation.component.ts  |  4 ++--
 .../console-frame/console-frame.component.spec.ts       |  4 ++--
 .../error-frame/error-frame.component.spec.ts           |  4 ++--
 .../result-panel/result-panel.component.spec.ts         |  4 ++--
 .../workflow-editor/workflow-editor.component.spec.ts   |  4 ++--
 .../execute-workflow/execute-workflow.service.spec.ts   |  4 ++--
 .../execute-workflow/execute-workflow.service.ts        |  2 +-
 .../service/operator-menu/operator-menu.service.spec.ts |  4 ++--
 .../workflow-result-export.service.ts                   |  2 +-
 28 files changed, 65 insertions(+), 65 deletions(-)

diff --git 
a/frontend/src/app/dashboard/service/user/computing-unit-actions/computing-unit-actions.service.ts
 
b/frontend/src/app/common/service/computing-unit/computing-unit-actions/computing-unit-actions.service.ts
similarity index 84%
rename from 
frontend/src/app/dashboard/service/user/computing-unit-actions/computing-unit-actions.service.ts
rename to 
frontend/src/app/common/service/computing-unit/computing-unit-actions/computing-unit-actions.service.ts
index 883c0c03ee..6ac8051dab 100644
--- 
a/frontend/src/app/dashboard/service/user/computing-unit-actions/computing-unit-actions.service.ts
+++ 
b/frontend/src/app/common/service/computing-unit/computing-unit-actions/computing-unit-actions.service.ts
@@ -20,16 +20,13 @@
 import { Injectable } from "@angular/core";
 import { Observable } from "rxjs";
 import { NzModalService } from "ng-zorro-antd/modal";
-import { ShareAccessComponent } from 
"../../../component/user/share-access/share-access.component";
-import { WorkflowComputingUnitManagingService } from 
"../../../../workspace/service/workflow-computing-unit/workflow-computing-unit-managing.service";
-import {
-  DashboardWorkflowComputingUnit,
-  WorkflowComputingUnitType,
-} from "../../../../workspace/types/workflow-computing-unit";
-import { NotificationService } from 
"../../../../common/service/notification/notification.service";
-import { unitTypeMessageTemplate } from 
"../../../../common/util/computing-unit.util";
-import { ComputingUnitStatusService } from 
"../../../../workspace/service/computing-unit-status/computing-unit-status.service";
-import { extractErrorMessage } from "../../../../common/util/error";
+import { ShareAccessComponent } from 
"../../../../dashboard/component/user/share-access/share-access.component";
+import { WorkflowComputingUnitManagingService } from 
"../workflow-computing-unit/workflow-computing-unit-managing.service";
+import { DashboardWorkflowComputingUnit, WorkflowComputingUnitType } from 
"../../../type/workflow-computing-unit";
+import { NotificationService } from "../../notification/notification.service";
+import { unitTypeMessageTemplate } from "../../../util/computing-unit.util";
+import { ComputingUnitStatusService } from 
"../computing-unit-status/computing-unit-status.service";
+import { extractErrorMessage } from "../../../util/error";
 
 export interface StartComputingUnitRequest {
   type: WorkflowComputingUnitType;
diff --git 
a/frontend/src/app/workspace/service/computing-unit-status/computing-unit-status.service.ts
 
b/frontend/src/app/common/service/computing-unit/computing-unit-status/computing-unit-status.service.ts
similarity index 94%
rename from 
frontend/src/app/workspace/service/computing-unit-status/computing-unit-status.service.ts
rename to 
frontend/src/app/common/service/computing-unit/computing-unit-status/computing-unit-status.service.ts
index 06bd0d4071..831263183b 100644
--- 
a/frontend/src/app/workspace/service/computing-unit-status/computing-unit-status.service.ts
+++ 
b/frontend/src/app/common/service/computing-unit/computing-unit-status/computing-unit-status.service.ts
@@ -20,14 +20,14 @@
 import { Injectable, OnDestroy } from "@angular/core";
 import { BehaviorSubject, interval, Observable, of, Subject, Subscription } 
from "rxjs";
 import { catchError, distinctUntilChanged, filter, map, switchMap, take, tap } 
from "rxjs/operators";
-import { DashboardWorkflowComputingUnit } from 
"../../types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../../../type/workflow-computing-unit";
 import { WorkflowComputingUnitManagingService } from 
"../workflow-computing-unit/workflow-computing-unit-managing.service";
-import { WorkflowWebsocketService } from 
"../workflow-websocket/workflow-websocket.service";
+import { WorkflowWebsocketService } from 
"../../../../workspace/service/workflow-websocket/workflow-websocket.service";
 import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
-import { ComputingUnitState } from 
"../../types/computing-unit-connection.interface";
-import { isDefined } from "../../../common/util/predicate";
-import { WorkflowStatusService } from 
"../workflow-status/workflow-status.service";
-import { UserService } from "../../../common/service/user/user.service";
+import { ComputingUnitState } from 
"../../../type/computing-unit-connection.interface";
+import { isDefined } from "../../../util/predicate";
+import { WorkflowStatusService } from 
"../../../../workspace/service/workflow-status/workflow-status.service";
+import { UserService } from "../../user/user.service";
 
 /**
  * Service that manages and provides access to computing unit status 
information
diff --git 
a/frontend/src/app/workspace/service/computing-unit-status/mock-computing-unit-status.service.ts
 
b/frontend/src/app/common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service.ts
similarity index 94%
rename from 
frontend/src/app/workspace/service/computing-unit-status/mock-computing-unit-status.service.ts
rename to 
frontend/src/app/common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service.ts
index 26be199ebd..d6b47dd308 100644
--- 
a/frontend/src/app/workspace/service/computing-unit-status/mock-computing-unit-status.service.ts
+++ 
b/frontend/src/app/common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service.ts
@@ -18,7 +18,7 @@
  */
 
 import { Injectable } from "@angular/core";
-import { DashboardWorkflowComputingUnit } from 
"../../types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../../../type/workflow-computing-unit";
 import { Observable, of } from "rxjs";
 
 @Injectable()
diff --git 
a/frontend/src/app/workspace/service/workflow-computing-unit/workflow-computing-unit-managing.service.ts
 
b/frontend/src/app/common/service/computing-unit/workflow-computing-unit/workflow-computing-unit-managing.service.ts
similarity index 98%
rename from 
frontend/src/app/workspace/service/workflow-computing-unit/workflow-computing-unit-managing.service.ts
rename to 
frontend/src/app/common/service/computing-unit/workflow-computing-unit/workflow-computing-unit-managing.service.ts
index a1dbb0c97c..58768bb346 100644
--- 
a/frontend/src/app/workspace/service/workflow-computing-unit/workflow-computing-unit-managing.service.ts
+++ 
b/frontend/src/app/common/service/computing-unit/workflow-computing-unit/workflow-computing-unit-managing.service.ts
@@ -20,13 +20,13 @@
 import { Injectable } from "@angular/core";
 import { HttpClient } from "@angular/common/http";
 import { Observable } from "rxjs";
-import { AppSettings } from "../../../common/app-setting";
+import { AppSettings } from "../../../app-setting";
 import {
   DashboardWorkflowComputingUnit,
   WorkflowComputingUnit,
   WorkflowComputingUnitResourceLimit,
   WorkflowComputingUnitType,
-} from "../../types/workflow-computing-unit";
+} from "../../../type/workflow-computing-unit";
 import { map } from "rxjs/operators";
 
 export const COMPUTING_UNIT_BASE_URL = "computing-unit";
diff --git 
a/frontend/src/app/workspace/types/computing-unit-connection.interface.ts 
b/frontend/src/app/common/type/computing-unit-connection.interface.ts
similarity index 100%
rename from 
frontend/src/app/workspace/types/computing-unit-connection.interface.ts
rename to frontend/src/app/common/type/computing-unit-connection.interface.ts
diff --git a/frontend/src/app/workspace/types/workflow-computing-unit.ts 
b/frontend/src/app/common/type/workflow-computing-unit.ts
similarity index 100%
rename from frontend/src/app/workspace/types/workflow-computing-unit.ts
rename to frontend/src/app/common/type/workflow-computing-unit.ts
diff --git a/frontend/src/app/common/util/computing-unit.util.ts 
b/frontend/src/app/common/util/computing-unit.util.ts
index 3edc0c5638..9f3890594a 100644
--- a/frontend/src/app/common/util/computing-unit.util.ts
+++ b/frontend/src/app/common/util/computing-unit.util.ts
@@ -19,7 +19,7 @@
 
 import { Component, inject } from "@angular/core";
 import { NZ_MODAL_DATA } from "ng-zorro-antd/modal";
-import { DashboardWorkflowComputingUnit } from 
"../../workspace/types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../type/workflow-computing-unit";
 
 @Component({
   template: `
diff --git 
a/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit-list-item/user-computing-unit-list-item.component.ts
 
b/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit-list-item/user-computing-unit-list-item.component.ts
index 46ba5dc085..9b08905cc3 100644
--- 
a/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit-list-item/user-computing-unit-list-item.component.ts
+++ 
b/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit-list-item/user-computing-unit-list-item.component.ts
@@ -27,7 +27,7 @@ import {
   ViewChild,
   ElementRef,
 } from "@angular/core";
-import { ComputingUnitStatusService } from 
"../../../../../workspace/service/computing-unit-status/computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
 import { extractErrorMessage } from "../../../../../common/util/error";
 import { NotificationService } from 
"../../../../../common/service/notification/notification.service";
 import { NzModalService } from "ng-zorro-antd/modal";
@@ -35,8 +35,8 @@ import { UntilDestroy, untilDestroyed } from 
"@ngneat/until-destroy";
 import {
   DashboardWorkflowComputingUnit,
   WorkflowComputingUnit,
-} from "../../../../../workspace/types/workflow-computing-unit";
-import { WorkflowComputingUnitManagingService } from 
"../../../../../workspace/service/workflow-computing-unit/workflow-computing-unit-managing.service";
+} from "../../../../../common/type/workflow-computing-unit";
+import { WorkflowComputingUnitManagingService } from 
"../../../../../common/service/computing-unit/workflow-computing-unit/workflow-computing-unit-managing.service";
 import {
   ComputingUnitMetadataComponent,
   parseResourceUnit,
@@ -53,7 +53,7 @@ import {
   getComputingUnitCpuLimitUnit,
 } from "../../../../../common/util/computing-unit.util";
 import { GuiConfigService } from 
"../../../../../common/service/gui-config.service";
-import { ComputingUnitActionsService } from 
"../../../../service/user/computing-unit-actions/computing-unit-actions.service";
+import { ComputingUnitActionsService } from 
"../../../../../common/service/computing-unit/computing-unit-actions/computing-unit-actions.service";
 
 @UntilDestroy()
 @Component({
diff --git 
a/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.spec.ts
 
b/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.spec.ts
index 53b6ecca1c..59eddde6ee 100644
--- 
a/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.spec.ts
+++ 
b/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.spec.ts
@@ -25,9 +25,9 @@ import { HttpClient } from "@angular/common/http";
 import { UserService } from "../../../../common/service/user/user.service";
 import { StubUserService } from 
"../../../../common/service/user/stub-user.service";
 import { commonTestProviders } from "../../../../common/testing/test-utils";
-import { WorkflowComputingUnitManagingService } from 
"../../../../workspace/service/workflow-computing-unit/workflow-computing-unit-managing.service";
-import { ComputingUnitStatusService } from 
"../../../../workspace/service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../../../workspace/service/computing-unit-status/mock-computing-unit-status.service";
+import { WorkflowComputingUnitManagingService } from 
"../../../../common/service/computing-unit/workflow-computing-unit/workflow-computing-unit-managing.service";
+import { ComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 
 describe("UserComputingUnitComponent", () => {
   let component: UserComputingUnitComponent;
diff --git 
a/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.ts
 
b/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.ts
index d96f33ca41..5e962b5712 100644
--- 
a/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.ts
+++ 
b/frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.ts
@@ -18,18 +18,18 @@
  */
 
 import { Component, Input, OnInit } from "@angular/core";
-import { ComputingUnitStatusService } from 
"../../../../workspace/service/computing-unit-status/computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
 import { DashboardEntry } from "../../../type/dashboard-entry";
 import {
   DashboardWorkflowComputingUnit,
   WorkflowComputingUnitType,
-} from "../../../../workspace/types/workflow-computing-unit";
+} from "../../../../common/type/workflow-computing-unit";
 import { extractErrorMessage } from "../../../../common/util/error";
 import { NotificationService } from 
"../../../../common/service/notification/notification.service";
 import { NzModalService } from "ng-zorro-antd/modal";
 import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
 import { UserService } from "../../../../common/service/user/user.service";
-import { WorkflowComputingUnitManagingService } from 
"../../../../workspace/service/workflow-computing-unit/workflow-computing-unit-managing.service";
+import { WorkflowComputingUnitManagingService } from 
"../../../../common/service/computing-unit/workflow-computing-unit/workflow-computing-unit-managing.service";
 import {
   parseResourceUnit,
   parseResourceNumber,
@@ -38,7 +38,7 @@ import {
   isComputingUnitShmTooLarge,
   getJvmMemorySliderConfig,
 } from "../../../../common/util/computing-unit.util";
-import { ComputingUnitActionsService } from 
"../../../service/user/computing-unit-actions/computing-unit-actions.service";
+import { ComputingUnitActionsService } from 
"../../../../common/service/computing-unit/computing-unit-actions/computing-unit-actions.service";
 
 @UntilDestroy()
 @Component({
diff --git 
a/frontend/src/app/dashboard/service/user/download/download.service.ts 
b/frontend/src/app/dashboard/service/user/download/download.service.ts
index 53333e744d..0e202e0c26 100644
--- a/frontend/src/app/dashboard/service/user/download/download.service.ts
+++ b/frontend/src/app/dashboard/service/user/download/download.service.ts
@@ -28,7 +28,7 @@ import * as JSZip from "jszip";
 import { Workflow } from "../../../../common/type/workflow";
 import { HttpClient, HttpResponse } from "@angular/common/http";
 import { WORKFLOW_EXECUTIONS_API_BASE_URL } from 
"../workflow-executions/workflow-executions.service";
-import { DashboardWorkflowComputingUnit } from 
"../../../../workspace/types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../../../../common/type/workflow-computing-unit";
 import { TOKEN_KEY } from "../../../../common/service/user/auth.service";
 
 var contentDisposition = require("content-disposition");
diff --git a/frontend/src/app/dashboard/type/dashboard-entry.ts 
b/frontend/src/app/dashboard/type/dashboard-entry.ts
index 735249d64c..b2949b080d 100644
--- a/frontend/src/app/dashboard/type/dashboard-entry.ts
+++ b/frontend/src/app/dashboard/type/dashboard-entry.ts
@@ -21,7 +21,7 @@ import { DashboardFile } from "./dashboard-file.interface";
 import { DashboardWorkflow } from "./dashboard-workflow.interface";
 import { DashboardProject } from "./dashboard-project.interface";
 import { DashboardDataset } from "./dashboard-dataset.interface";
-import { DashboardWorkflowComputingUnit } from 
"../../workspace/types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../../common/type/workflow-computing-unit";
 import {
   isDashboardDataset,
   isDashboardFile,
diff --git a/frontend/src/app/dashboard/type/type-predicates.ts 
b/frontend/src/app/dashboard/type/type-predicates.ts
index 0ed825feb4..ae4217d79e 100644
--- a/frontend/src/app/dashboard/type/type-predicates.ts
+++ b/frontend/src/app/dashboard/type/type-predicates.ts
@@ -21,7 +21,7 @@ import { DashboardWorkflow } from 
"./dashboard-workflow.interface";
 import { DashboardProject } from "./dashboard-project.interface";
 import { DashboardFile } from "./dashboard-file.interface";
 import { DashboardDataset } from "./dashboard-dataset.interface";
-import { DashboardWorkflowComputingUnit } from 
"../../workspace/types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../../common/type/workflow-computing-unit";
 
 export function isDashboardWorkflow(value: any): value is DashboardWorkflow {
   return value && typeof value.workflow === "object";
diff --git 
a/frontend/src/app/workspace/component/left-panel/time-travel/time-travel.component.spec.ts
 
b/frontend/src/app/workspace/component/left-panel/time-travel/time-travel.component.spec.ts
index 1dd517ddf4..f9b7eb0ba7 100644
--- 
a/frontend/src/app/workspace/component/left-panel/time-travel/time-travel.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/left-panel/time-travel/time-travel.component.spec.ts
@@ -25,8 +25,8 @@ import { FormlyModule } from "@ngx-formly/core";
 import { TEXERA_FORMLY_CONFIG } from "../../../../common/formly/formly-config";
 import { HttpClientTestingModule } from "@angular/common/http/testing";
 import { TimeTravelComponent } from "./time-travel.component";
-import { ComputingUnitStatusService } from 
"../../../service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../../service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../../common/testing/test-utils";
 
 describe("VersionsListDisplayComponent", () => {
diff --git a/frontend/src/app/workspace/component/menu/menu.component.ts 
b/frontend/src/app/workspace/component/menu/menu.component.ts
index 2a13a28613..492b315cfb 100644
--- a/frontend/src/app/workspace/component/menu/menu.component.ts
+++ b/frontend/src/app/workspace/component/menu/menu.component.ts
@@ -51,11 +51,11 @@ import { ReportGenerationService } from 
"../../service/report-generation/report-
 import { ShareAccessComponent } from 
"src/app/dashboard/component/user/share-access/share-access.component";
 import { PanelService } from "../../service/panel/panel.service";
 import { DASHBOARD_USER_WORKFLOW } from "../../../app-routing.constant";
-import { ComputingUnitStatusService } from 
"../../service/computing-unit-status/computing-unit-status.service";
-import { ComputingUnitState } from 
"../../types/computing-unit-connection.interface";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { ComputingUnitState } from 
"../../../common/type/computing-unit-connection.interface";
 import { ComputingUnitSelectionComponent } from 
"../power-button/computing-unit-selection.component";
 import { GuiConfigService } from "../../../common/service/gui-config.service";
-import { DashboardWorkflowComputingUnit } from 
"../../types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../../../common/type/workflow-computing-unit";
 import { Privilege } from "../../../dashboard/type/share-access.interface";
 import { MarkdownDescriptionComponent } from 
"../../../dashboard/component/user/markdown-description/markdown-description.component";
 
diff --git 
a/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.spec.ts
 
b/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.spec.ts
index 47567edb28..0b22b72065 100644
--- 
a/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.spec.ts
@@ -26,8 +26,8 @@ import { NzIconModule } from "ng-zorro-antd/icon";
 import { ActivatedRoute, ActivatedRouteSnapshot, convertToParamMap, Data, 
Params, UrlSegment } from "@angular/router";
 import { NzDropDownModule } from "ng-zorro-antd/dropdown";
 import { NzModalModule, NzModalService } from "ng-zorro-antd/modal";
-import { ComputingUnitStatusService } from 
"../../service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../common/testing/test-utils";
 
 describe("PowerButtonComponent", () => {
diff --git 
a/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.ts
 
b/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.ts
index c868cac284..38ac0ee008 100644
--- 
a/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.ts
+++ 
b/frontend/src/app/workspace/component/power-button/computing-unit-selection.component.ts
@@ -19,21 +19,24 @@
 
 import { ChangeDetectorRef, Component, OnInit } from "@angular/core";
 import { take } from "rxjs/operators";
-import { WorkflowComputingUnitManagingService } from 
"../../service/workflow-computing-unit/workflow-computing-unit-managing.service";
-import { DashboardWorkflowComputingUnit, WorkflowComputingUnitType } from 
"../../types/workflow-computing-unit";
+import { WorkflowComputingUnitManagingService } from 
"../../../common/service/computing-unit/workflow-computing-unit/workflow-computing-unit-managing.service";
+import {
+  DashboardWorkflowComputingUnit,
+  WorkflowComputingUnitType,
+} from "../../../common/type/workflow-computing-unit";
 import { NotificationService } from 
"../../../common/service/notification/notification.service";
 import { DEFAULT_WORKFLOW, WorkflowActionService } from 
"../../service/workflow-graph/model/workflow-action.service";
 import { isDefined } from "../../../common/util/predicate";
 import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
 import { extractErrorMessage } from "../../../common/util/error";
-import { ComputingUnitStatusService } from 
"../../service/computing-unit-status/computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
 import { NzModalService } from "ng-zorro-antd/modal";
 import { WorkflowExecutionsService } from 
"../../../dashboard/service/user/workflow-executions/workflow-executions.service";
 import { WorkflowExecutionsEntry } from 
"../../../dashboard/type/workflow-executions-entry";
 import { ExecutionState } from "../../types/execute-workflow.interface";
 import { ShareAccessComponent } from 
"../../../dashboard/component/user/share-access/share-access.component";
 import { GuiConfigService } from "../../../common/service/gui-config.service";
-import { ComputingUnitActionsService } from 
"../../../dashboard/service/user/computing-unit-actions/computing-unit-actions.service";
+import { ComputingUnitActionsService } from 
"../../../common/service/computing-unit/computing-unit-actions/computing-unit-actions.service";
 import {
   ComputingUnitMetadataComponent,
   parseResourceUnit,
diff --git 
a/frontend/src/app/workspace/component/property-editor/operator-property-edit-frame/operator-property-edit-frame.component.spec.ts
 
b/frontend/src/app/workspace/component/property-editor/operator-property-edit-frame/operator-property-edit-frame.component.spec.ts
index 01ffc78e2d..16d6a1c3f1 100644
--- 
a/frontend/src/app/workspace/component/property-editor/operator-property-edit-frame/operator-property-edit-frame.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/property-editor/operator-property-edit-frame/operator-property-edit-frame.component.spec.ts
@@ -47,8 +47,8 @@ import { cloneDeep } from "lodash-es";
 import Ajv from "ajv";
 import { COLLAB_DEBOUNCE_TIME_MS } from 
"../../../../common/formly/collab-wrapper/collab-wrapper/collab-wrapper.component";
 import { FormlyNgZorroAntdModule } from "@ngx-formly/ng-zorro-antd";
-import { ComputingUnitStatusService } from 
"../../../service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../../service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../../common/testing/test-utils";
 
 const { marbles } = configure({ run: false });
diff --git 
a/frontend/src/app/workspace/component/property-editor/property-editor.component.spec.ts
 
b/frontend/src/app/workspace/component/property-editor/property-editor.component.spec.ts
index f2a9a414aa..04032f619b 100644
--- 
a/frontend/src/app/workspace/component/property-editor/property-editor.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/property-editor/property-editor.component.spec.ts
@@ -29,8 +29,8 @@ import { OperatorPropertyEditFrameComponent } from 
"./operator-property-edit-fra
 import { HttpClientTestingModule } from "@angular/common/http/testing";
 import { OperatorMetadataService } from 
"../../service/operator-metadata/operator-metadata.service";
 import { StubOperatorMetadataService } from 
"../../service/operator-metadata/stub-operator-metadata.service";
-import { ComputingUnitStatusService } from 
"../../service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../common/testing/test-utils";
 
 describe("PropertyEditorComponent", () => {
diff --git 
a/frontend/src/app/workspace/component/result-exportation/result-exportation.component.ts
 
b/frontend/src/app/workspace/component/result-exportation/result-exportation.component.ts
index 2f75c8788f..36ce3b1042 100644
--- 
a/frontend/src/app/workspace/component/result-exportation/result-exportation.component.ts
+++ 
b/frontend/src/app/workspace/component/result-exportation/result-exportation.component.ts
@@ -28,8 +28,8 @@ import { DatasetService } from 
"../../../dashboard/service/user/dataset/dataset.
 import { NZ_MODAL_DATA, NzModalRef, NzModalService } from 
"ng-zorro-antd/modal";
 import { WorkflowActionService } from 
"../../service/workflow-graph/model/workflow-action.service";
 import { WorkflowResultService } from 
"../../service/workflow-result/workflow-result.service";
-import { ComputingUnitStatusService } from 
"../../service/computing-unit-status/computing-unit-status.service";
-import { DashboardWorkflowComputingUnit } from 
"../../types/workflow-computing-unit";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { DashboardWorkflowComputingUnit } from 
"../../../common/type/workflow-computing-unit";
 import { UserDatasetVersionCreatorComponent } from 
"../../../dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-creator/user-dataset-version-creator.component";
 
 @UntilDestroy()
diff --git 
a/frontend/src/app/workspace/component/result-panel/console-frame/console-frame.component.spec.ts
 
b/frontend/src/app/workspace/component/result-panel/console-frame/console-frame.component.spec.ts
index e16a737d9f..72363eeaaa 100644
--- 
a/frontend/src/app/workspace/component/result-panel/console-frame/console-frame.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/result-panel/console-frame/console-frame.component.spec.ts
@@ -24,8 +24,8 @@ import { OperatorMetadataService } from 
"../../../service/operator-metadata/oper
 import { StubOperatorMetadataService } from 
"../../../service/operator-metadata/stub-operator-metadata.service";
 import { HttpClientTestingModule } from "@angular/common/http/testing";
 import { NzDropDownModule } from "ng-zorro-antd/dropdown";
-import { ComputingUnitStatusService } from 
"../../../service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../../service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../../common/testing/test-utils";
 
 describe("ConsoleFrameComponent", () => {
diff --git 
a/frontend/src/app/workspace/component/result-panel/error-frame/error-frame.component.spec.ts
 
b/frontend/src/app/workspace/component/result-panel/error-frame/error-frame.component.spec.ts
index 3499d0c22c..b85ff8722b 100644
--- 
a/frontend/src/app/workspace/component/result-panel/error-frame/error-frame.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/result-panel/error-frame/error-frame.component.spec.ts
@@ -24,8 +24,8 @@ import { OperatorMetadataService } from 
"../../../service/operator-metadata/oper
 import { StubOperatorMetadataService } from 
"../../../service/operator-metadata/stub-operator-metadata.service";
 import { HttpClientTestingModule } from "@angular/common/http/testing";
 import { NzDropDownModule } from "ng-zorro-antd/dropdown";
-import { ComputingUnitStatusService } from 
"src/app/workspace/service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"src/app/workspace/service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../../common/testing/test-utils";
 
 describe("ConsoleFrameComponent", () => {
diff --git 
a/frontend/src/app/workspace/component/result-panel/result-panel.component.spec.ts
 
b/frontend/src/app/workspace/component/result-panel/result-panel.component.spec.ts
index e2ffd9dffe..18487a265b 100644
--- 
a/frontend/src/app/workspace/component/result-panel/result-panel.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/result-panel/result-panel.component.spec.ts
@@ -29,8 +29,8 @@ import { HttpClientTestingModule } from 
"@angular/common/http/testing";
 import { NzModalModule } from "ng-zorro-antd/modal";
 import { ExecutionState } from "../../types/execute-workflow.interface";
 import { mockPoint, mockResultPredicate } from 
"../../service/workflow-graph/model/mock-workflow-data";
-import { ComputingUnitStatusService } from 
"../../service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../common/testing/test-utils";
 
 describe("ResultPanelComponent", () => {
diff --git 
a/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
 
b/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
index 8048d3a487..e012dfa97d 100644
--- 
a/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
+++ 
b/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
@@ -56,8 +56,8 @@ import { RouterTestingModule } from "@angular/router/testing";
 import { createYTypeFromObject } from "../../types/shared-editing.interface";
 import * as jQuery from "jquery";
 import { ContextMenuComponent } from 
"./context-menu/context-menu/context-menu.component";
-import { ComputingUnitStatusService } from 
"../../service/computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../../service/computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../common/testing/test-utils";
 
 describe("WorkflowEditorComponent", () => {
diff --git 
a/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.spec.ts
 
b/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.spec.ts
index 469d19c610..90848cc17b 100644
--- 
a/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.spec.ts
+++ 
b/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.spec.ts
@@ -35,12 +35,12 @@ import { WorkflowUtilService } from 
"../workflow-graph/util/workflow-util.servic
 import { WorkflowSnapshotService } from 
"../../../dashboard/service/user/workflow-snapshot/workflow-snapshot.service";
 import { DOCUMENT } from "@angular/common";
 import { WorkflowSettings } from "src/app/common/type/workflow";
-import { ComputingUnitStatusService } from 
"../computing-unit-status/computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
 import { AuthService } from "src/app/common/service/user/auth.service";
 import { StubAuthService } from 
"src/app/common/service/user/stub-auth.service";
 import { UserService } from "src/app/common/service/user/user.service";
 import { StubUserService } from 
"src/app/common/service/user/stub-user.service";
-import { MockComputingUnitStatusService } from 
"../computing-unit-status/mock-computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../common/testing/test-utils";
 
 class StubHttpClient {
diff --git 
a/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.ts
 
b/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.ts
index cbddc01a66..4c2eb0ebbc 100644
--- 
a/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.ts
+++ 
b/frontend/src/app/workspace/service/execute-workflow/execute-workflow.service.ts
@@ -47,7 +47,7 @@ import { WorkflowStatusService } from 
"../workflow-status/workflow-status.servic
 import { intersection } from "../../../common/util/set";
 import { WorkflowSettings } from "../../../common/type/workflow";
 import { DOCUMENT } from "@angular/common";
-import { ComputingUnitStatusService } from 
"../computing-unit-status/computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
 
 // TODO: change this declaration
 export const FORM_DEBOUNCE_TIME_MS = 150;
diff --git 
a/frontend/src/app/workspace/service/operator-menu/operator-menu.service.spec.ts
 
b/frontend/src/app/workspace/service/operator-menu/operator-menu.service.spec.ts
index c791c6fb71..8b4f3c9b5a 100644
--- 
a/frontend/src/app/workspace/service/operator-menu/operator-menu.service.spec.ts
+++ 
b/frontend/src/app/workspace/service/operator-menu/operator-menu.service.spec.ts
@@ -23,8 +23,8 @@ import { StubOperatorMetadataService } from 
"../operator-metadata/stub-operator-
 
 import { OperatorMenuService } from "./operator-menu.service";
 import { HttpClientModule } from "@angular/common/http";
-import { ComputingUnitStatusService } from 
"../computing-unit-status/computing-unit-status.service";
-import { MockComputingUnitStatusService } from 
"../computing-unit-status/mock-computing-unit-status.service";
+import { ComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/computing-unit-status.service";
+import { MockComputingUnitStatusService } from 
"../../../common/service/computing-unit/computing-unit-status/mock-computing-unit-status.service";
 import { commonTestProviders } from "../../../common/testing/test-utils";
 
 describe("OperatorMenuService", () => {
diff --git 
a/frontend/src/app/workspace/service/workflow-result-export/workflow-result-export.service.ts
 
b/frontend/src/app/workspace/service/workflow-result-export/workflow-result-export.service.ts
index 3fde39774f..ce3a6db6d9 100644
--- 
a/frontend/src/app/workspace/service/workflow-result-export/workflow-result-export.service.ts
+++ 
b/frontend/src/app/workspace/service/workflow-result-export/workflow-result-export.service.ts
@@ -28,7 +28,7 @@ import { catchError, filter, map, take } from 
"rxjs/operators";
 import { WorkflowResultService } from 
"../workflow-result/workflow-result.service";
 import { DownloadService, ExportWorkflowJsonResponse } from 
"../../../dashboard/service/user/download/download.service";
 import { HttpResponse } from "@angular/common/http";
-import { DashboardWorkflowComputingUnit } from 
"../../types/workflow-computing-unit";
+import { DashboardWorkflowComputingUnit } from 
"../../../common/type/workflow-computing-unit";
 import { GuiConfigService } from "../../../common/service/gui-config.service";
 
 /**


Reply via email to