refactor: gpu service API alignment
This commit is contained in:
@@ -1,9 +1,5 @@
|
||||
import { currentClusterAtom } from '@/atoms/gpuservice';
|
||||
import { getCurrentOrgNamespace } from '@/atoms/user';
|
||||
import { useQueryData } from '@gpustack/core-ui';
|
||||
import { useAtomValue } from 'jotai';
|
||||
import { useCallback } from 'react';
|
||||
import { apiVersion, KindMapping } from '../../constants';
|
||||
import { createGPUServiceInstance } from '../apis';
|
||||
import { FormData, ListItem } from '../config/types';
|
||||
|
||||
@@ -12,31 +8,10 @@ interface CreateInstanceParams {
|
||||
}
|
||||
|
||||
export default function useCreateInstance() {
|
||||
const currentCluster = useAtomValue(currentClusterAtom);
|
||||
const clusterID = currentCluster?.id;
|
||||
// Admin "All" view has no Org context — fall back to the
|
||||
// selected cluster's owner Org name for the K8s namespace.
|
||||
const namespace = getCurrentOrgNamespace(currentCluster?.owner_principal_id);
|
||||
|
||||
const fetchDetail = useCallback(
|
||||
(params: CreateInstanceParams, option?: any) =>
|
||||
createGPUServiceInstance(
|
||||
{
|
||||
namespace,
|
||||
clusterID,
|
||||
data: {
|
||||
apiVersion,
|
||||
kind: KindMapping.instance,
|
||||
metadata: {
|
||||
name: params.data.metadata.name,
|
||||
namespace
|
||||
},
|
||||
spec: params.data.spec
|
||||
}
|
||||
},
|
||||
option
|
||||
),
|
||||
[namespace, clusterID]
|
||||
(params: CreateInstanceParams) =>
|
||||
createGPUServiceInstance({ data: params.data }),
|
||||
[]
|
||||
);
|
||||
|
||||
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
|
||||
|
||||
@@ -1,33 +1,20 @@
|
||||
import { currentClusterAtom } from '@/atoms/gpuservice';
|
||||
import { getCurrentOrgNamespace } from '@/atoms/user';
|
||||
import { useQueryData } from '@gpustack/core-ui';
|
||||
import { useAtomValue } from 'jotai';
|
||||
import { useCallback } from 'react';
|
||||
import { queryGPUServiceInstanceEvents } from '../apis';
|
||||
import { InstanceEvents } from '../config/types';
|
||||
|
||||
interface QueryInstanceEventsParams {
|
||||
name: string;
|
||||
namespace: string;
|
||||
clusterID?: number;
|
||||
pretty?: string;
|
||||
}
|
||||
|
||||
export default function useQueryInstanceEvents() {
|
||||
const currentCluster = useAtomValue(currentClusterAtom);
|
||||
const clusterID = currentCluster?.id;
|
||||
const namespace = getCurrentOrgNamespace(currentCluster?.owner_principal_id);
|
||||
|
||||
const fetchDetail = useCallback(
|
||||
(params: QueryInstanceEventsParams, options?: any) =>
|
||||
queryGPUServiceInstanceEvents(
|
||||
{
|
||||
namespace,
|
||||
clusterID,
|
||||
name: params.name,
|
||||
pretty: params.pretty
|
||||
},
|
||||
options
|
||||
),
|
||||
[namespace, clusterID]
|
||||
queryGPUServiceInstanceEvents(params, options),
|
||||
[]
|
||||
);
|
||||
|
||||
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
|
||||
|
||||
@@ -1,31 +1,19 @@
|
||||
import { currentClusterAtom } from '@/atoms/gpuservice';
|
||||
import { getCurrentOrgNamespace } from '@/atoms/user';
|
||||
import { useQueryData } from '@gpustack/core-ui';
|
||||
import { useAtomValue } from 'jotai';
|
||||
import { useCallback } from 'react';
|
||||
import { queryGPUServiceInstanceLog } from '../apis';
|
||||
import { InstanceLog, InstanceLogQueryParams } from '../config/types';
|
||||
|
||||
interface QueryInstanceLogParams extends InstanceLogQueryParams {
|
||||
name: string;
|
||||
namespace: string;
|
||||
clusterID?: number;
|
||||
}
|
||||
|
||||
export default function useQueryInstanceLog() {
|
||||
const currentCluster = useAtomValue(currentClusterAtom);
|
||||
const namespace = getCurrentOrgNamespace(currentCluster?.owner_principal_id);
|
||||
const clusterID = currentCluster?.id;
|
||||
|
||||
const fetchDetail = useCallback(
|
||||
(params: QueryInstanceLogParams, options?: any) =>
|
||||
queryGPUServiceInstanceLog(
|
||||
{
|
||||
...params,
|
||||
namespace,
|
||||
clusterID
|
||||
},
|
||||
options
|
||||
),
|
||||
[namespace, clusterID]
|
||||
queryGPUServiceInstanceLog(params, options),
|
||||
[]
|
||||
);
|
||||
|
||||
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
|
||||
|
||||
@@ -1,32 +1,18 @@
|
||||
import { currentClusterAtom } from '@/atoms/gpuservice';
|
||||
import { useQueryData } from '@gpustack/core-ui';
|
||||
import { useAtomValue } from 'jotai';
|
||||
import { useCallback } from 'react';
|
||||
import { queryGPUServiceInstanceTypes } from '../apis';
|
||||
import { transformInstanceType } from '../config';
|
||||
import { InstanceTypeItem } from '../config/types';
|
||||
|
||||
export default function useQueryInstanceTypes() {
|
||||
const currentCluster = useAtomValue(currentClusterAtom);
|
||||
const clusterID = currentCluster?.id;
|
||||
|
||||
const fetchDetail = useCallback(
|
||||
async (params: Global.K8sSearchParams = {}, options?: any) => {
|
||||
const res = await queryGPUServiceInstanceTypes(
|
||||
{ ...params, clusterID },
|
||||
options
|
||||
);
|
||||
return {
|
||||
...res,
|
||||
items: (res?.items || []).map(transformInstanceType)
|
||||
};
|
||||
},
|
||||
[clusterID]
|
||||
(params: Global.SearchParams = { page: 1, perPage: 100 }, options?: any) =>
|
||||
queryGPUServiceInstanceTypes(params, options),
|
||||
[]
|
||||
);
|
||||
|
||||
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
|
||||
Global.K8sPageResponse<InstanceTypeItem>,
|
||||
Global.K8sSearchParams
|
||||
Global.PageResponse<InstanceTypeItem>,
|
||||
Global.SearchParams
|
||||
>({
|
||||
fetchDetail,
|
||||
key: 'instanceTypes'
|
||||
|
||||
@@ -1,32 +1,19 @@
|
||||
import { currentClusterAtom } from '@/atoms/gpuservice';
|
||||
import { getCurrentOrgNamespace } from '@/atoms/user';
|
||||
import { useQueryData } from '@gpustack/core-ui';
|
||||
import { useAtomValue } from 'jotai';
|
||||
import { useCallback } from 'react';
|
||||
import { queryGPUServiceInstancePVEvents } from '../apis';
|
||||
import { InstanceEvents } from '../config/types';
|
||||
|
||||
interface QueryVolumeEventsParams {
|
||||
name: string;
|
||||
pretty?: string;
|
||||
namespace: string;
|
||||
clusterID?: number;
|
||||
}
|
||||
|
||||
export default function useQueryVolumeEvents() {
|
||||
const currentCluster = useAtomValue(currentClusterAtom);
|
||||
const clusterID = currentCluster?.id;
|
||||
const namespace = getCurrentOrgNamespace(currentCluster?.owner_principal_id);
|
||||
|
||||
const fetchDetail = useCallback(
|
||||
(params: QueryVolumeEventsParams, options?: any) =>
|
||||
queryGPUServiceInstancePVEvents(
|
||||
{
|
||||
namespace,
|
||||
clusterID,
|
||||
name: params.name
|
||||
},
|
||||
options
|
||||
),
|
||||
[namespace, clusterID]
|
||||
queryGPUServiceInstancePVEvents(params, options),
|
||||
[]
|
||||
);
|
||||
|
||||
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
|
||||
|
||||
@@ -1,44 +1,18 @@
|
||||
import { currentClusterAtom } from '@/atoms/gpuservice';
|
||||
import { getCurrentOrgNamespace } from '@/atoms/user';
|
||||
import { useQueryData } from '@gpustack/core-ui';
|
||||
import { useAtomValue } from 'jotai';
|
||||
import { useCallback } from 'react';
|
||||
import { apiVersion, KindMapping } from '../../constants';
|
||||
import { updateGPUServiceInstance } from '../apis';
|
||||
import { FormData, ListItem } from '../config/types';
|
||||
|
||||
interface UpdateInstanceParams {
|
||||
id: number;
|
||||
data: FormData;
|
||||
data: Partial<FormData>;
|
||||
}
|
||||
|
||||
export default function useUpdateInstance() {
|
||||
const currentCluster = useAtomValue(currentClusterAtom);
|
||||
const clusterID = currentCluster?.id;
|
||||
// Admin "All" view has no Org context — fall back to the
|
||||
// selected cluster's owner Org name for the K8s namespace.
|
||||
const namespace = getCurrentOrgNamespace(currentCluster?.owner_principal_id);
|
||||
|
||||
const fetchDetail = useCallback(
|
||||
(params: UpdateInstanceParams, option?: any) =>
|
||||
updateGPUServiceInstance(
|
||||
{
|
||||
namespace,
|
||||
clusterID,
|
||||
id: params.id,
|
||||
data: {
|
||||
apiVersion,
|
||||
kind: KindMapping.instance,
|
||||
metadata: {
|
||||
name: params.data.metadata.name,
|
||||
namespace
|
||||
},
|
||||
spec: params.data.spec
|
||||
}
|
||||
},
|
||||
option
|
||||
),
|
||||
[namespace, clusterID]
|
||||
(params: UpdateInstanceParams) =>
|
||||
updateGPUServiceInstance({ id: params.id, data: params.data }),
|
||||
[]
|
||||
);
|
||||
|
||||
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
|
||||
|
||||
Reference in New Issue
Block a user