Browse Source

update

tags/v1.22.6.1^2
liuzx 3 years ago
parent
commit
1eef408ad0
1 changed files with 29 additions and 3 deletions
  1. +29
    -3
      routers/repo/dataset.go

+ 29
- 3
routers/repo/dataset.go View File

@@ -469,6 +469,7 @@ func MyFavoriteDataset(ctx *context.Context) {
return
}
for _, datasetStar := range datasetStars {
DatasetIsCollaborator := DatasetIsCollaborator(ctx, datasetStar.DatasetID)
dataset, err := models.GetDatasetByID(datasetStar.DatasetID)
if err != nil {
return
@@ -477,9 +478,7 @@ func MyFavoriteDataset(ctx *context.Context) {
if err != nil {
return
}
isCollaborator, _ := repo.IsCollaborator(ctx.User.ID)

if repo.OwnerID == ctx.User.ID || isCollaborator || repo.Owner.IsUserPartOfOrg(ctx.User.ID) {
if repo.OwnerID == ctx.User.ID || DatasetIsCollaborator {
IsColDatasetIDs = append(IsColDatasetIDs, datasetStar.DatasetID)
} else {
NotColDatasetIDs = append(NotColDatasetIDs, datasetStar.DatasetID)
@@ -611,3 +610,30 @@ func GetDatasetStatus(ctx *context.Context) {
"AttachmentStatus": fmt.Sprint(attachment.DecompressState),
})
}
func DatasetIsCollaborator(ctx *context.Context, DatasetID int64) bool {
dataset, err := models.GetDatasetByID(DatasetID)
if err != nil {
log.Info("query dataset error")
} else {
repo, err := models.GetRepositoryByID(dataset.RepoID)
if err != nil {
log.Info("query repo error.")
} else {
repo.GetOwner()
if ctx.User != nil {
if repo.Owner.IsOrganization() {
if repo.Owner.IsUserPartOfOrg(ctx.User.ID) {
log.Info("org user may visit the attach.")
return true
}
}
isCollaborator, _ := repo.IsCollaborator(ctx.User.ID)
if isCollaborator {
log.Info("Collaborator user may visit the attach.")
return true
}
}
}
}
return false
}

Loading…
Cancel
Save