diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 2d064b53e..85338d2bc 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1008,6 +1008,7 @@ type Datasurl struct { type DatasetDownload struct { DatasetName string `json:"dataset_name"` DatasetDownloadLink string `json:"dataset_download_link"` + RepositoryLink string `json:"repository_link"` } type DataSource struct { diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 6a2974294..8501de3ad 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -291,12 +291,26 @@ func NotebookShow(ctx *context.Context) { uuidList := strings.Split(task.Uuid, ";") for _, uuidStr := range uuidList { attachment, err := models.GetAttachmentByUUID(uuidStr) - if err == nil { - datasetDownload = append(datasetDownload, models.DatasetDownload{ - DatasetName: attachment.Name, - DatasetDownloadLink: attachment.S3DownloadURL(), - }) + if err != nil { + log.Error("GetAttachmentByUUID failed:%v", err.Error()) + return + } + dataset, err := models.GetDatasetByID(attachment.DatasetID) + if err != nil { + log.Error("GetDatasetByID failed:%v", err.Error()) + return } + repo, err := models.GetRepositoryByID(dataset.RepoID) + if err != nil { + log.Error("GetRepositoryByID failed:%v", err.Error()) + return + } + datasetDownload = append(datasetDownload, models.DatasetDownload{ + DatasetName: attachment.Name, + DatasetDownloadLink: attachment.S3DownloadURL(), + RepositoryLink: repo.Link() + "/datasets", + }) + } // datasetName, err := GetDatasetNameByUUID(task.Uuid) // if err == nil {