fix(ws): support latest changes to start/stop API

Signed-off-by: Guilherme Caponetto <638737+caponetto@users.noreply.github.com>
This commit is contained in:
Guilherme Caponetto 2025-07-15 11:18:14 -03:00
parent 843e5c3c48
commit f1fc29aa55
9 changed files with 14 additions and 42 deletions

View File

@ -179,7 +179,9 @@ export const WorkspaceActionsContextProvider: React.FC<WorkspaceActionsContextPr
onClose={onCloseActionAlertDialog} onClose={onCloseActionAlertDialog}
workspace={activeWsAction.workspace} workspace={activeWsAction.workspace}
onStart={async () => onStart={async () =>
api.startWorkspace({}, selectedNamespace, activeWsAction.workspace.name) api.pauseWorkspace({}, selectedNamespace, activeWsAction.workspace.name, {
data: { paused: false },
})
} }
onActionDone={activeWsAction.onActionDone} onActionDone={activeWsAction.onActionDone}
onUpdateAndStart={async () => { onUpdateAndStart={async () => {
@ -200,7 +202,9 @@ export const WorkspaceActionsContextProvider: React.FC<WorkspaceActionsContextPr
onClose={onCloseActionAlertDialog} onClose={onCloseActionAlertDialog}
workspace={activeWsAction.workspace} workspace={activeWsAction.workspace}
onStop={async () => onStop={async () =>
api.pauseWorkspace({}, selectedNamespace, activeWsAction.workspace.name) api.pauseWorkspace({}, selectedNamespace, activeWsAction.workspace.name, {
data: { paused: true },
})
} }
onActionDone={activeWsAction.onActionDone} onActionDone={activeWsAction.onActionDone}
onUpdateAndStop={async () => { onUpdateAndStop={async () => {

View File

@ -15,7 +15,6 @@ import {
patchWorkspace, patchWorkspace,
patchWorkspaceKind, patchWorkspaceKind,
pauseWorkspace, pauseWorkspace,
startWorkspace,
updateWorkspace, updateWorkspace,
updateWorkspaceKind, updateWorkspaceKind,
} from '~/shared/api/notebookService'; } from '~/shared/api/notebookService';
@ -36,7 +35,6 @@ import {
mockPatchWorkspace, mockPatchWorkspace,
mockPatchWorkspaceKind, mockPatchWorkspaceKind,
mockPauseWorkspace, mockPauseWorkspace,
mockStartWorkspace,
mockUpdateWorkspace, mockUpdateWorkspace,
mockUpdateWorkspaceKind, mockUpdateWorkspaceKind,
} from '~/shared/mock/mockNotebookService'; } from '~/shared/mock/mockNotebookService';
@ -63,7 +61,6 @@ const useNotebookAPIState = (
patchWorkspace: patchWorkspace(path), patchWorkspace: patchWorkspace(path),
deleteWorkspace: deleteWorkspace(path), deleteWorkspace: deleteWorkspace(path),
pauseWorkspace: pauseWorkspace(path), pauseWorkspace: pauseWorkspace(path),
startWorkspace: startWorkspace(path),
// WorkspaceKind // WorkspaceKind
listWorkspaceKinds: listWorkspaceKinds(path), listWorkspaceKinds: listWorkspaceKinds(path),
createWorkspaceKind: createWorkspaceKind(path), createWorkspaceKind: createWorkspaceKind(path),
@ -90,7 +87,6 @@ const useNotebookAPIState = (
patchWorkspace: mockPatchWorkspace(path), patchWorkspace: mockPatchWorkspace(path),
deleteWorkspace: mockDeleteWorkspace(path), deleteWorkspace: mockDeleteWorkspace(path),
pauseWorkspace: mockPauseWorkspace(path), pauseWorkspace: mockPauseWorkspace(path),
startWorkspace: mockStartWorkspace(path),
// WorkspaceKind // WorkspaceKind
listWorkspaceKinds: mockListWorkspaceKinds(path), listWorkspaceKinds: mockListWorkspaceKinds(path),
createWorkspaceKind: mockCreateWorkspaceKind(path), createWorkspaceKind: mockCreateWorkspaceKind(path),

View File

@ -278,8 +278,6 @@ export interface WorkspaceUpdate extends WorkspaceCreate {}
export interface WorkspacePatch {} export interface WorkspacePatch {}
export interface WorkspacePauseState { export interface WorkspacePauseState {
namespace: string;
workspaceName: string;
paused: boolean; paused: boolean;
} }

View File

@ -13,7 +13,6 @@ import {
PatchWorkspace, PatchWorkspace,
PatchWorkspaceKind, PatchWorkspaceKind,
PauseWorkspace, PauseWorkspace,
StartWorkspace,
UpdateWorkspace, UpdateWorkspace,
UpdateWorkspaceKind, UpdateWorkspaceKind,
} from '~/shared/api/notebookApi'; } from '~/shared/api/notebookApi';
@ -38,7 +37,6 @@ export type UpdateWorkspaceAPI = KubeflowAPICall<UpdateWorkspace>;
export type PatchWorkspaceAPI = KubeflowAPICall<PatchWorkspace>; export type PatchWorkspaceAPI = KubeflowAPICall<PatchWorkspace>;
export type DeleteWorkspaceAPI = KubeflowAPICall<DeleteWorkspace>; export type DeleteWorkspaceAPI = KubeflowAPICall<DeleteWorkspace>;
export type PauseWorkspaceAPI = KubeflowAPICall<PauseWorkspace>; export type PauseWorkspaceAPI = KubeflowAPICall<PauseWorkspace>;
export type StartWorkspaceAPI = KubeflowAPICall<StartWorkspace>;
// WorkspaceKind // WorkspaceKind
export type ListWorkspaceKindsAPI = KubeflowAPICall<ListWorkspaceKinds>; export type ListWorkspaceKindsAPI = KubeflowAPICall<ListWorkspaceKinds>;

View File

@ -52,11 +52,7 @@ export type PauseWorkspace = (
opts: APIOptions, opts: APIOptions,
namespace: string, namespace: string,
workspace: string, workspace: string,
) => Promise<WorkspacePauseState>; data: RequestData<WorkspacePauseState>,
export type StartWorkspace = (
opts: APIOptions,
namespace: string,
workspace: string,
) => Promise<WorkspacePauseState>; ) => Promise<WorkspacePauseState>;
// WorkspaceKind // WorkspaceKind
@ -89,7 +85,6 @@ export type NotebookAPIs = {
patchWorkspace: PatchWorkspace; patchWorkspace: PatchWorkspace;
deleteWorkspace: DeleteWorkspace; deleteWorkspace: DeleteWorkspace;
pauseWorkspace: PauseWorkspace; pauseWorkspace: PauseWorkspace;
startWorkspace: StartWorkspace;
// WorkspaceKind // WorkspaceKind
listWorkspaceKinds: ListWorkspaceKinds; listWorkspaceKinds: ListWorkspaceKinds;
getWorkspaceKind: GetWorkspaceKind; getWorkspaceKind: GetWorkspaceKind;

View File

@ -22,7 +22,6 @@ import {
PatchWorkspaceAPI, PatchWorkspaceAPI,
PatchWorkspaceKindAPI, PatchWorkspaceKindAPI,
PauseWorkspaceAPI, PauseWorkspaceAPI,
StartWorkspaceAPI,
UpdateWorkspaceAPI, UpdateWorkspaceAPI,
UpdateWorkspaceKindAPI, UpdateWorkspaceKindAPI,
} from '~/shared/api/callTypes'; } from '~/shared/api/callTypes';
@ -55,14 +54,9 @@ export const patchWorkspace: PatchWorkspaceAPI = (hostPath) => (opts, namespace,
export const deleteWorkspace: DeleteWorkspaceAPI = (hostPath) => (opts, namespace, workspace) => export const deleteWorkspace: DeleteWorkspaceAPI = (hostPath) => (opts, namespace, workspace) =>
wrapRequest(restDELETE(hostPath, `/workspaces/${namespace}/${workspace}`, {}, {}, opts), false); wrapRequest(restDELETE(hostPath, `/workspaces/${namespace}/${workspace}`, {}, {}, opts), false);
export const pauseWorkspace: PauseWorkspaceAPI = (hostPath) => (opts, namespace, workspace) => export const pauseWorkspace: PauseWorkspaceAPI = (hostPath) => (opts, namespace, workspace, data) =>
wrapRequest( wrapRequest(
restCREATE(hostPath, `/workspaces/${namespace}/${workspace}/actions/pause`, {}, opts), restCREATE(hostPath, `/workspaces/${namespace}/${workspace}/actions/pause`, data, {}, opts),
);
export const startWorkspace: StartWorkspaceAPI = (hostPath) => (opts, namespace, workspace) =>
wrapRequest(
restCREATE(hostPath, `/workspaces/${namespace}/${workspace}/actions/start`, {}, opts),
); );
export const listWorkspaceKinds: ListWorkspaceKindsAPI = (hostPath) => (opts) => export const listWorkspaceKinds: ListWorkspaceKindsAPI = (hostPath) => (opts) =>

View File

@ -281,8 +281,6 @@ export const buildMockWorkspaceKind = (workspaceKind?: Partial<WorkspaceKind>):
export const buildMockPauseStateResponse = ( export const buildMockPauseStateResponse = (
pauseState?: Partial<WorkspacePauseState>, pauseState?: Partial<WorkspacePauseState>,
): WorkspacePauseState => ({ ): WorkspacePauseState => ({
namespace: 'default',
workspaceName: 'My First Jupyter Notebook',
paused: true, paused: true,
...pauseState, ...pauseState,
}); });

View File

@ -15,7 +15,6 @@ import {
PatchWorkspaceAPI, PatchWorkspaceAPI,
PatchWorkspaceKindAPI, PatchWorkspaceKindAPI,
PauseWorkspaceAPI, PauseWorkspaceAPI,
StartWorkspaceAPI,
UpdateWorkspaceAPI, UpdateWorkspaceAPI,
UpdateWorkspaceKindAPI, UpdateWorkspaceKindAPI,
} from '~/shared/api/callTypes'; } from '~/shared/api/callTypes';
@ -23,8 +22,6 @@ import {
mockAllWorkspaces, mockAllWorkspaces,
mockedHealthCheckResponse, mockedHealthCheckResponse,
mockNamespaces, mockNamespaces,
mockPausedStateResponse,
mockStartedStateResponse,
mockWorkspace1, mockWorkspace1,
mockWorkspaceKind1, mockWorkspaceKind1,
mockWorkspaceKinds, mockWorkspaceKinds,
@ -58,15 +55,11 @@ export const mockDeleteWorkspace: DeleteWorkspaceAPI = () => async () => {
await delay(1500); await delay(1500);
}; };
export const mockPauseWorkspace: PauseWorkspaceAPI = () => async (_opts, namespace, workspace) => { export const mockPauseWorkspace: PauseWorkspaceAPI =
await delay(1500); () => async (_opts, _namespace, _workspace, requestData) => {
return { ...mockPausedStateResponse, namespace, workspaceName: workspace }; await delay(1500);
}; return { paused: requestData.data.paused };
};
export const mockStartWorkspace: StartWorkspaceAPI = () => async (_opts, namespace, workspace) => {
await delay(1500);
return { ...mockStartedStateResponse, namespace, workspaceName: workspace };
};
export const mockListWorkspaceKinds: ListWorkspaceKindsAPI = () => async () => mockWorkspaceKinds; export const mockListWorkspaceKinds: ListWorkspaceKindsAPI = () => async () => mockWorkspaceKinds;

View File

@ -7,7 +7,6 @@ import {
import { import {
buildMockHealthCheckResponse, buildMockHealthCheckResponse,
buildMockNamespace, buildMockNamespace,
buildMockPauseStateResponse,
buildMockWorkspace, buildMockWorkspace,
buildMockWorkspaceKind, buildMockWorkspaceKind,
buildMockWorkspaceKindInfo, buildMockWorkspaceKindInfo,
@ -163,6 +162,3 @@ export const mockAllWorkspaces = [
kind: mockWorkspaceKindInfo1, kind: mockWorkspaceKindInfo1,
}), }),
]; ];
export const mockPausedStateResponse = buildMockPauseStateResponse({ paused: true });
export const mockStartedStateResponse = buildMockPauseStateResponse({ paused: false });