diff --git a/client/src/features/sessionsV2/sessionsV2.api.ts b/client/src/features/sessionsV2/sessionsV2.api.ts index 590196335..a3ce73e48 100644 --- a/client/src/features/sessionsV2/sessionsV2.api.ts +++ b/client/src/features/sessionsV2/sessionsV2.api.ts @@ -25,6 +25,7 @@ import { SessionEnvironmentList, SessionLauncher, SessionLauncherList, + SessionsV2, UpdateSessionLauncherParams, } from "./sessionsV2.types"; @@ -33,7 +34,7 @@ const sessionsV2Api = createApi({ baseQuery: fetchBaseQuery({ baseUrl: "/ui-server/api/data", }), - tagTypes: ["Environment", "Launcher"], + tagTypes: ["Environment", "Launcher", "SessionsV2"], endpoints: (builder) => ({ getSessionEnvironments: builder.query({ query: () => { @@ -110,6 +111,11 @@ const sessionsV2Api = createApi({ }, invalidatesTags: ["Launcher"], }), + getSessions: builder.query({ + query: () => ({ url: "sessions" }), + providesTags: (result) => + result ? [{ id: `${result.launcher_id}`, type: "SessionsV2" }] : [], + }), }), }); diff --git a/client/src/features/sessionsV2/sessionsV2.types.ts b/client/src/features/sessionsV2/sessionsV2.types.ts index 12f10bd97..bc7525c9e 100644 --- a/client/src/features/sessionsV2/sessionsV2.types.ts +++ b/client/src/features/sessionsV2/sessionsV2.types.ts @@ -79,3 +79,34 @@ export interface UpdateSessionLauncherParams { export interface DeleteSessionLauncherParams { launcherId: string; } + +export interface SessionResources { + cpu: number; + gpu: number; + memory: number; + storage: number; +} + +export interface SessionStatusDetail { + status: "ready" | "waiting" | "executing" | "failed"; + step: string; +} + +export interface SessionStatus { + details?: SessionStatusDetail[]; + message?: string; + state: "running" | "starting" | "stopping" | "failed" | "hibernated"; + will_hibernate_at?: string; + will_delete_at?: string; +} +export interface SessionsV2 { + image: string; + name: string; + resources: SessionResources; + started: string; + status: SessionStatus; + url: string; + project_id: string; + launcher_id: string; + resource_class_id: string; +}