diff --git a/console/src/components/Alias.tsx b/console/src/components/Alias.tsx index 796ecbcdcd..5ef2bc8371 100644 --- a/console/src/components/Alias.tsx +++ b/console/src/components/Alias.tsx @@ -21,6 +21,7 @@ export function Alias({ alias = '' }: { alias?: string }) { border: '1px solid #CFD7E6 ', padding: '2px 8px', color: '#02102B', + whiteSpace: 'nowrap', }} > {item} @@ -49,6 +50,7 @@ const tagOverrides = { Text: { style: { fontSize: '14px', + maxWidth: null, }, }, } diff --git a/console/src/domain/dataset/schemas/datasetVersion.tsx b/console/src/domain/dataset/schemas/datasetVersion.tsx index d824506598..864db430df 100644 --- a/console/src/domain/dataset/schemas/datasetVersion.tsx +++ b/console/src/domain/dataset/schemas/datasetVersion.tsx @@ -9,6 +9,7 @@ export interface IDatasetVersionSchema extends IResourceSchema, IHasTagSchema { meta: string owner?: IUserSchema shared?: number + indexTable?: string } export interface IDatasetTreeVersionSchema extends IDatasetVersionSchema { @@ -19,14 +20,8 @@ export interface IDatasetTreeVersionSchema extends IDatasetVersionSchema { export interface IDatasetVersionDetailSchema { id?: string name?: string - createdTime?: number - versionMeta?: string - versionName?: string - versionTag?: string - versionAlias?: string files?: Array - indexTable?: string - shared?: number + versionInfo: IDatasetVersionSchema } export interface IUpdateDatasetVersionSchema { diff --git a/console/src/domain/model/schemas/modelVersion.tsx b/console/src/domain/model/schemas/modelVersion.tsx index e77940b027..f469cd6153 100644 --- a/console/src/domain/model/schemas/modelVersion.tsx +++ b/console/src/domain/model/schemas/modelVersion.tsx @@ -16,19 +16,14 @@ export interface IModelTreeVersionSchema extends IModelVersionSchema { createdTime?: number } -export interface IModelVersionListSchema extends IResourceSchema, IFileSchema { - name: string - versionName: string - versionMeta: string - versionTag: string - versionAlias: string - manifest: string - createdTime?: number - shared?: number +export interface IModelVersionDetailSchema extends IResourceSchema { + versionInfo: IModelVersionSchema } -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface IModelVersionDetailSchema extends IModelVersionListSchema {} +export interface IModelVersionDiffSchema { + baseVersion: IFileSchema + compareVersion: IFileSchema +} export interface IUpdateModelVersionSchema { tag: string diff --git a/console/src/domain/model/services/modelVersion.ts b/console/src/domain/model/services/modelVersion.ts index 3eef2686d8..83f0216c52 100644 --- a/console/src/domain/model/services/modelVersion.ts +++ b/console/src/domain/model/services/modelVersion.ts @@ -5,6 +5,7 @@ import { IModelVersionSchema, IUpdateModelVersionSchema, IModelVersionDetailSchema, + IModelVersionDiffSchema, } from '../schemas/modelVersion' import { IFileSchema } from '@/domain/base/schemas/file' @@ -33,7 +34,11 @@ export async function listModelVersionFiles( return resp.data } -export async function fetchModelVersion(projectId: string, modelId: string, modelVersionId: string): Promise { +export async function fetchModelVersion( + projectId: string, + modelId: string, + modelVersionId: string +): Promise { const resp = await axios.get( `/api/v1/project/${projectId}/model/${modelId}?versionUrl=${modelVersionId}` ) @@ -45,8 +50,8 @@ export async function fetchModelVersionDiff( modelId: string, modelVersionId: string, compareVersion: string -): Promise { - const resp = await axios.get( +): Promise { + const resp = await axios.get( `/api/v1/project/${projectId}/model/${modelId}/diff?baseVersion=${modelVersionId}&compareVersion=${compareVersion}` ) return resp.data diff --git a/console/src/domain/runtime/schemas/runtime.tsx b/console/src/domain/runtime/schemas/runtime.tsx index eb15be0b31..59344552a4 100644 --- a/console/src/domain/runtime/schemas/runtime.tsx +++ b/console/src/domain/runtime/schemas/runtime.tsx @@ -1,5 +1,5 @@ import { IResourceSchema } from '@/domain/base/schemas/resource' -import { IUserSchema } from '../../user/schemas/user' +import { IUserSchema } from '@user/schemas/user' import { IRuntimeTreeVersionSchema, IRuntimeVersionSchema } from './runtimeVersion' export interface IRuntimeSchema extends IResourceSchema { @@ -9,15 +9,10 @@ export interface IRuntimeSchema extends IResourceSchema { } export interface IRuntimeDetailSchema { + id?: string name?: string - versionMeta?: string - versionName?: string - versionTag?: string - versionAlias?: string - createdTime?: number files?: Array - id?: string - shared?: number + versionInfo: IRuntimeVersionSchema } export interface IRuntimeFileSchema { @@ -25,15 +20,6 @@ export interface IRuntimeFileSchema { size: string } -export interface IUpdateRuntimeSchema { - description?: string -} - -export interface ICreateRuntimeSchema { - modelName: string - zipFile?: FileList -} - export interface IRuntimeTreeSchema { ownerName: string projectName: string diff --git a/console/src/domain/runtime/schemas/runtimeVersion.tsx b/console/src/domain/runtime/schemas/runtimeVersion.tsx index af834ec700..af7f3c93a5 100644 --- a/console/src/domain/runtime/schemas/runtimeVersion.tsx +++ b/console/src/domain/runtime/schemas/runtimeVersion.tsx @@ -9,6 +9,7 @@ export interface IRuntimeVersionSchema extends IResourceSchema, IHasTagSchema { builtImage: string runtimeId: string shared?: number + meta: string } export interface IRuntimeTreeVersionSchema extends IRuntimeVersionSchema { @@ -16,15 +17,6 @@ export interface IRuntimeTreeVersionSchema extends IRuntimeVersionSchema { createdTime?: number } -export interface IRuntimeVersionListSchema extends IResourceSchema { - name: string - versionName: string - versionMeta: string - versionTag: string - versionAlias: string - manifest: string -} - export interface IRuntimeVersionDetailSchema extends IRuntimeVersionSchema { modelName?: string } @@ -33,10 +25,6 @@ export interface IUpdateRuntimeVersionSchema { tag: string } -export interface ICreateRuntimeVersionSchema { - file?: File -} - export interface IRuntimeVersionListQuerySchema extends IListQuerySchema { vName?: string vTag?: string diff --git a/console/src/domain/runtime/services/runtime.ts b/console/src/domain/runtime/services/runtime.ts index 6e91aad694..83ab4338f0 100644 --- a/console/src/domain/runtime/services/runtime.ts +++ b/console/src/domain/runtime/services/runtime.ts @@ -9,7 +9,11 @@ export async function listRuntimes(projectId: string, query: IListQuerySchema): return resp.data } -export async function fetchRuntime(projectId: string, runtimeId: string, versionUrl?: string): Promise { +export async function fetchRuntime( + projectId: string, + runtimeId: string, + versionUrl?: string +): Promise { const config = { params: versionUrl ? { versionUrl } : {} } const resp = await axios.get(`/api/v1/project/${projectId}/runtime/${runtimeId}`, config) return resp.data diff --git a/console/src/pages/Dataset/DatasetOverviewLayout.tsx b/console/src/pages/Dataset/DatasetOverviewLayout.tsx index f395b23004..8d58163c51 100644 --- a/console/src/pages/Dataset/DatasetOverviewLayout.tsx +++ b/console/src/pages/Dataset/DatasetOverviewLayout.tsx @@ -63,7 +63,7 @@ export default function DatasetOverviewLayout({ children }: IDatasetLayoutProps) pageNum: 1, pageSize: 1, }) - const { columnTypes } = useFetchDatastoreByTable(getQueryParams(datasetVersion?.indexTable), true) + const { columnTypes } = useFetchDatastoreByTable(getQueryParams(datasetVersion?.versionInfo.indexTable), true) const breadcrumbItems: INavItem[] = useMemo(() => { const items = [ diff --git a/console/src/pages/Dataset/DatasetVersionOverview.tsx b/console/src/pages/Dataset/DatasetVersionOverview.tsx index 8c2c0e758a..ccf76dd59b 100644 --- a/console/src/pages/Dataset/DatasetVersionOverview.tsx +++ b/console/src/pages/Dataset/DatasetVersionOverview.tsx @@ -10,6 +10,7 @@ import Shared from '@/components/Shared' import { Alias } from '@/components/Alias' import { MonoText } from '@/components/Text' import { useProject } from '@project/hooks/useProject' +import { getAliasStr } from '@base/utils/alias' export default function DatasetVersionOverview() { const { projectId, datasetId, datasetVersionId } = useParams<{ @@ -29,11 +30,11 @@ export default function DatasetVersionOverview() { }, { label: t('Version Name'), - value: {dataset?.versionName ?? '-'} , + value: {dataset?.versionInfo.name ?? '-'} , }, { label: t('Aliases'), - value: , + value: dataset ? : null, }, { label: t('dataset.overview.shared'), @@ -46,9 +47,9 @@ export default function DatasetVersionOverview() { gap: '4px', }} > - + { try { await updateDatasetVersionShared(projectId, datasetId, datasetVersionId, v) @@ -65,7 +66,7 @@ export default function DatasetVersionOverview() { }, { label: t('Created At'), - value: dataset?.createdTime && formatTimestampDateTime(dataset.createdTime), + value: dataset?.versionInfo.createdTime && formatTimestampDateTime(dataset.versionInfo.createdTime), }, ].filter((item) => { // hide shared if project is private diff --git a/console/src/pages/Dataset/DatasetVersionOverviewFiles.tsx b/console/src/pages/Dataset/DatasetVersionOverviewFiles.tsx index 4f0f4f362a..d613cd084d 100644 --- a/console/src/pages/Dataset/DatasetVersionOverviewFiles.tsx +++ b/console/src/pages/Dataset/DatasetVersionOverviewFiles.tsx @@ -94,8 +94,8 @@ export default function DatasetVersionFiles() { const styles = useCardStyles() const { datasetVersion } = useDatasetVersion() const { revision } = React.useMemo(() => { - return getMeta(datasetVersion?.versionMeta as string) - }, [datasetVersion?.versionMeta]) + return getMeta(datasetVersion?.versionInfo.meta as string) + }, [datasetVersion?.versionInfo.meta]) const { query } = useQueryArgs() const extra = React.useMemo(() => { return { @@ -118,8 +118,8 @@ export default function DatasetVersionFiles() { }) const { records, columnTypes } = useFetchDatastoreByTable( - getQueryParams(datasetVersion?.indexTable, extra), - !!datasetVersion?.indexTable + getQueryParams(datasetVersion?.versionInfo.indexTable, extra), + !!datasetVersion?.versionInfo.indexTable ) const options = React.useMemo( @@ -127,7 +127,7 @@ export default function DatasetVersionFiles() { parseLink: parseDataSrc( projectId, datasetVersion?.name as string, - datasetVersion?.versionName as string, + datasetVersion?.versionInfo.name as string, token as string ), showPrivate: false, diff --git a/console/src/pages/Dataset/DatasetVersionOverviewMeta.tsx b/console/src/pages/Dataset/DatasetVersionOverviewMeta.tsx index 38d0059789..5d1d6fe316 100644 --- a/console/src/pages/Dataset/DatasetVersionOverviewMeta.tsx +++ b/console/src/pages/Dataset/DatasetVersionOverviewMeta.tsx @@ -8,9 +8,9 @@ export default function DatasetVersionMeta() { const { datasetVersion: dataset } = useDatasetVersion() const jsonData = useMemo(() => { - if (!dataset?.versionMeta) return {} - return yaml.load(dataset?.versionMeta) - }, [dataset?.versionMeta]) + if (!dataset?.versionInfo.meta) return {} + return yaml.load(dataset?.versionInfo.meta) + }, [dataset?.versionInfo.meta]) return ( { return [ @@ -46,6 +56,8 @@ export default function ModelListCard() { > {model.name} , + {model.version?.name ?? '-'}, + model.version && , model.owner && , model.createdTime && formatTimestampDateTime(model.createdTime),
diff --git a/console/src/pages/Model/ModelVersionOverview.tsx b/console/src/pages/Model/ModelVersionOverview.tsx index f004128160..6b2ac80a39 100644 --- a/console/src/pages/Model/ModelVersionOverview.tsx +++ b/console/src/pages/Model/ModelVersionOverview.tsx @@ -10,6 +10,7 @@ import { toaster } from 'baseui/toast' import { useParams } from 'react-router-dom' import { fetchModelVersion, updateModelVersionShared } from '@/domain/model/services/modelVersion' import { useProject } from '@project/hooks/useProject' +import { getAliasStr } from '@base/utils/alias' export default function ModelVersionOverview() { const { projectId, modelId, modelVersionId } = useParams<{ @@ -28,11 +29,11 @@ export default function ModelVersionOverview() { }, { label: t('Version Name'), - value: {modelVersion?.versionName ?? '-'} , + value: {modelVersion?.versionInfo.name ?? '-'} , }, { label: t('Aliases'), - value: , + value: modelVersion ? : null, }, { label: t('Shared'), @@ -45,9 +46,9 @@ export default function ModelVersionOverview() { gap: '4px', }} > - + { try { await updateModelVersionShared(projectId, modelId, modelVersionId, v) @@ -64,7 +65,8 @@ export default function ModelVersionOverview() { }, { label: t('Created At'), - value: modelVersion?.createdTime && formatTimestampDateTime(modelVersion.createdTime), + value: + modelVersion?.versionInfo.createdTime && formatTimestampDateTime(modelVersion?.versionInfo.createdTime), }, ].filter((item) => { return project?.privacy === 'PUBLIC' || item.label !== t('Shared') diff --git a/console/src/pages/Model/ModelVersionOverviewFiles.tsx b/console/src/pages/Model/ModelVersionOverviewFiles.tsx index 6858bb7d30..f5ec858946 100644 --- a/console/src/pages/Model/ModelVersionOverviewFiles.tsx +++ b/console/src/pages/Model/ModelVersionOverviewFiles.tsx @@ -160,7 +160,7 @@ export default function ModelVersionFiles() { if (!isText(sourceFile) || isTooBig(sourceFile)) return // console.log(sourceFile) if (sourceFile.flag !== 'added') { - loadFileData(sourceFile, modelVersion?.versionName) + loadFileData(sourceFile, modelVersion?.versionInfo.name) .then((text: string) => { setContent(text || ' ') }) @@ -172,7 +172,7 @@ export default function ModelVersionFiles() { } if (!query.compare) return if (sourceFile.flag !== 'deleted') { - loadFileData(sourceFile, compareVersionInfo.data?.versionName) + loadFileData(sourceFile, compareVersionInfo.data?.versionInfo.name) .then((text: string) => { setTargetContent(text ?? ' ') }) @@ -183,7 +183,13 @@ export default function ModelVersionFiles() { setTargetContent(' ') } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [sourceFile, project?.name, modelVersion?.versionName, compareVersionInfo.data?.versionName, query.compare]) + }, [ + sourceFile, + project?.name, + modelVersion?.versionInfo.name, + compareVersionInfo.data?.versionInfo.name, + query.compare, + ]) return (
diff --git a/console/src/pages/Project/OnlineEval.tsx b/console/src/pages/Project/OnlineEval.tsx index 11a15a86bf..c9969f318a 100644 --- a/console/src/pages/Project/OnlineEval.tsx +++ b/console/src/pages/Project/OnlineEval.tsx @@ -142,7 +142,7 @@ export default function OnlineEval() { useEffect(() => { if (modelInfo.isSuccess || modelVersionInfo.isSuccess) { - const versionName = modelVersionId ? modelVersionInfo?.data?.versionName : modelInfo?.data?.versionName + const versionName = modelVersionId ? modelVersionInfo?.data?.versionInfo.name : modelInfo?.data?.versionName const modelName = modelInfo?.data?.name if (!modelName || !versionName) { return @@ -233,7 +233,7 @@ export default function OnlineEval() { modelVersionInfo.isSuccess, modelInfo?.data?.name, modelInfo?.data?.versionName, - modelVersionInfo?.data?.versionName, + modelVersionInfo?.data?.versionInfo.name, ]) return ( diff --git a/console/src/pages/Runtime/RuntimeLayout.tsx b/console/src/pages/Runtime/RuntimeLayout.tsx deleted file mode 100644 index ea60c8877e..0000000000 --- a/console/src/pages/Runtime/RuntimeLayout.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import { useRuntime, useRuntimeLoading } from '@/domain/runtime/hooks/useRuntime' -import useTranslation from '@/hooks/useTranslation' -import React, { useEffect, useMemo } from 'react' -import { useQuery } from 'react-query' -import { useParams } from 'react-router-dom' -import { INavItem } from '@/components/BaseSidebar' -import { fetchRuntime } from '@/domain/runtime/services/runtime' -import BaseSubLayout from '@/pages/BaseSubLayout' -import { formatTimestampDateTime } from '@/utils/datetime' -import Accordion from '@starwhale/ui/Accordion' -import { Panel } from 'baseui/accordion' - -export interface IRuntimeLayoutProps { - children: React.ReactNode -} - -export default function RuntimeLayout({ children }: IRuntimeLayoutProps) { - const { projectId, runtimeId } = useParams<{ runtimeId: string; projectId: string }>() - const runtimeInfo = useQuery(`fetchRuntime:${projectId}:${runtimeId}`, () => fetchRuntime(projectId, runtimeId)) - const { runtime, setRuntime } = useRuntime() - const { setRuntimeLoading } = useRuntimeLoading() - useEffect(() => { - setRuntimeLoading(runtimeInfo.isLoading) - if (runtimeInfo.isSuccess) { - if (runtimeInfo.data.versionMeta !== runtime?.versionMeta) { - setRuntime(runtimeInfo.data) - } - } else if (runtimeInfo.isLoading) { - setRuntime(undefined) - } - }, [ - runtime?.versionMeta, - runtimeInfo.data, - runtimeInfo.isLoading, - runtimeInfo.isSuccess, - setRuntime, - setRuntimeLoading, - ]) - - const [t] = useTranslation() - - const breadcrumbItems: INavItem[] = useMemo(() => { - const items = [ - { - title: t('Runtimes'), - path: `/projects/${projectId}/runtimes`, - }, - { - title: runtime?.versionMeta ?? '-', - path: `/projects/${projectId}/runtimes/${runtimeId}`, - }, - ] - return items - }, [projectId, runtimeId, t, runtime]) - - const header = React.useMemo(() => { - const items = [ - { - label: t('Runtime Name'), - value: runtime?.name ?? '', - }, - { - label: t('Version Name'), - value: runtime?.versionName ?? '', - }, - { - label: t('Version Tag'), - value: runtime?.versionTag ?? '', - }, - { - label: t('Created'), - value: runtime?.createdTime && formatTimestampDateTime(runtime.createdTime), - }, - ] - - const info = ( -
- {items.map((v) => ( -
-
- {v?.label}: -
-
{v?.value}
-
- ))} -
- ) - return ( -
- - {info} - -
- ) - }, [runtime, t]) - - return ( - - {children} - - ) -} diff --git a/console/src/pages/Runtime/RuntimeOverviewLayout.tsx b/console/src/pages/Runtime/RuntimeOverviewLayout.tsx index 57a65d9efb..114a1bc901 100644 --- a/console/src/pages/Runtime/RuntimeOverviewLayout.tsx +++ b/console/src/pages/Runtime/RuntimeOverviewLayout.tsx @@ -33,14 +33,14 @@ export default function RuntimeOverviewLayout({ children }: IRuntimeLayoutProps) useEffect(() => { setRuntimeLoading(runtimeInfo.isLoading) if (runtimeInfo.isSuccess) { - if (runtimeInfo.data.versionMeta !== runtime?.versionMeta) { + if (runtimeInfo.data.versionInfo.meta !== runtime?.versionInfo.meta) { setRuntime(runtimeInfo.data) } } else if (runtimeInfo.isLoading) { setRuntime(undefined) } }, [ - runtime?.versionMeta, + runtime?.versionInfo.meta, runtimeInfo.data, runtimeInfo.isLoading, runtimeInfo.isSuccess, diff --git a/console/src/pages/Runtime/RuntimeVersionLayout.tsx b/console/src/pages/Runtime/RuntimeVersionLayout.tsx deleted file mode 100644 index 060fbacc22..0000000000 --- a/console/src/pages/Runtime/RuntimeVersionLayout.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { useRuntime, useRuntimeLoading } from '@/domain/runtime/hooks/useRuntime' -import useTranslation from '@/hooks/useTranslation' -import React, { useEffect, useMemo } from 'react' -import { useQuery } from 'react-query' -import { useParams } from 'react-router-dom' -import { INavItem } from '@/components/BaseSidebar' -import { fetchRuntime } from '@/domain/runtime/services/runtime' -import BaseSubLayout from '@/pages/BaseSubLayout' - -export interface IRuntimeLayoutProps { - children: React.ReactNode -} - -export default function RuntimeVersionLayout({ children }: IRuntimeLayoutProps) { - const { projectId, runtimeId } = useParams<{ runtimeId: string; projectId: string }>() - const runtimeInfo = useQuery(`fetchRuntime:${projectId}:${runtimeId}`, () => fetchRuntime(projectId, runtimeId)) - const { runtime, setRuntime } = useRuntime() - const { setRuntimeLoading } = useRuntimeLoading() - useEffect(() => { - setRuntimeLoading(runtimeInfo.isLoading) - if (runtimeInfo.isSuccess) { - if (runtimeInfo.data.versionMeta !== runtime?.versionMeta) { - setRuntime(runtimeInfo.data) - } - } else if (runtimeInfo.isLoading) { - setRuntime(undefined) - } - }, [ - runtime?.versionMeta, - runtimeInfo.data, - runtimeInfo.isLoading, - runtimeInfo.isSuccess, - setRuntime, - setRuntimeLoading, - ]) - - const [t] = useTranslation() - - const breadcrumbItems: INavItem[] = useMemo(() => { - const items = [ - { - title: t('Runtimes'), - path: `/projects/${projectId}/runtimes`, - }, - { - title: runtime?.name ?? '-', - path: `/projects/${projectId}/runtimes/${runtimeId}`, - }, - { - title: t('runtime versions'), - path: `/projects/${projectId}/runtimes/${runtimeId}/versions`, - }, - ] - return items - }, [t, projectId, runtimeId, runtime]) - - return {children} -} diff --git a/console/src/pages/Runtime/RuntimeVersionListCard.tsx b/console/src/pages/Runtime/RuntimeVersionListCard.tsx index 74f6b948f5..0db98b24ee 100644 --- a/console/src/pages/Runtime/RuntimeVersionListCard.tsx +++ b/console/src/pages/Runtime/RuntimeVersionListCard.tsx @@ -7,7 +7,6 @@ import Table from '@/components/Table' import { useParams } from 'react-router-dom' import { useFetchRuntimeVersions } from '@/domain/runtime/hooks/useFetchRuntimeVersions' import Button from '@starwhale/ui/Button' -import { IRuntimeDetailSchema } from '@/domain/runtime/schemas/runtime' import { addRuntimeVersionTag, buildImageForRuntimeVersion, @@ -22,6 +21,7 @@ import { EditableAlias } from '@/components/Alias' import Shared from '@/components/Shared' import { MonoText } from '@/components/Text' import useCliMate from '@/hooks/useCliMate' +import { IRuntimeVersionSchema } from '@runtime/schemas/runtimeVersion' export default function RuntimeVersionListCard() { const [page] = usePage() @@ -29,8 +29,8 @@ export default function RuntimeVersionListCard() { const runtimesInfo = useFetchRuntimeVersions(projectId, runtimeId, page) const [t] = useTranslation() const handleRevert = React.useCallback( - async (data: IRuntimeDetailSchema) => { - await revertRuntimeVersion(projectId, runtimeId, data.id as string) + async (data: IRuntimeVersionSchema) => { + await revertRuntimeVersion(projectId, runtimeId, data.id) toaster.positive(t('runtime version reverted'), { autoHideDuration: 2000 }) await runtimesInfo.refetch() }, diff --git a/console/src/pages/Runtime/RuntimeVersionOverview.tsx b/console/src/pages/Runtime/RuntimeVersionOverview.tsx index b12b3cce15..4bc81f9747 100644 --- a/console/src/pages/Runtime/RuntimeVersionOverview.tsx +++ b/console/src/pages/Runtime/RuntimeVersionOverview.tsx @@ -10,6 +10,7 @@ import { fetchRuntimeVersion, updateRuntimeVersionShared } from '@/domain/runtim import { useParams } from 'react-router-dom' import { MonoText } from '@/components/Text' import { useProject } from '@project/hooks/useProject' +import { getAliasStr } from '@base/utils/alias' export default function RuntimeVersionOverview() { const { projectId, runtimeId, runtimeVersionId } = useParams<{ @@ -29,11 +30,11 @@ export default function RuntimeVersionOverview() { }, { label: t('Version Name'), - value: {runtimeVersion?.versionName ?? '-'} , + value: {runtimeVersion?.versionInfo.name ?? '-'} , }, { label: t('Aliases'), - value: , + value: runtimeVersion ? : null, }, { label: t('Shared'), @@ -46,9 +47,9 @@ export default function RuntimeVersionOverview() { gap: '4px', }} > - + { try { await updateRuntimeVersionShared(projectId, runtimeId, runtimeVersionId, v) @@ -65,7 +66,9 @@ export default function RuntimeVersionOverview() { }, { label: t('Created At'), - value: runtimeVersion?.createdTime && formatTimestampDateTime(runtimeVersion.createdTime), + value: + runtimeVersion?.versionInfo.createdTime && + formatTimestampDateTime(runtimeVersion.versionInfo.createdTime), }, ].filter((item) => { return project?.privacy === 'PUBLIC' || item.label !== t('Shared') diff --git a/console/src/pages/Runtime/RuntimeVersionOverviewMeta.tsx b/console/src/pages/Runtime/RuntimeVersionOverviewMeta.tsx index b98dbbfd36..3eff168579 100644 --- a/console/src/pages/Runtime/RuntimeVersionOverviewMeta.tsx +++ b/console/src/pages/Runtime/RuntimeVersionOverviewMeta.tsx @@ -8,9 +8,9 @@ export default function RuntimeVersionOverviewMeta() { const { runtimeVersion } = useRuntimeVersion() const jsonData = useMemo(() => { - if (!runtimeVersion?.versionMeta) return {} - return yaml.load(runtimeVersion?.versionMeta) - }, [runtimeVersion?.versionMeta]) + if (!runtimeVersion?.versionInfo.meta) return {} + return yaml.load(runtimeVersion?.versionInfo.meta) + }, [runtimeVersion?.versionInfo.meta]) return (