Browse Source

Delete cloud brain task when deleting project

pull/2750/head
liuzx 2 years ago
parent
commit
a6475ad5c6
1 changed files with 22 additions and 1 deletions
  1. +22
    -1
      models/repo.go

+ 22
- 1
models/repo.go View File

@@ -1788,7 +1788,8 @@ func DeleteRepository(doer *User, uid, repoID int64) error {

// Delete dataset attachment record and remove related files
deleteDatasetAttachmentByRepoId(sess, repoID)

// Delete cloudbrain task record
deleteCloudbrainByRepoId(sess, repoID)
if err = deleteBeans(sess,
&Access{RepoID: repo.ID},
&Action{RepoID: repo.ID},
@@ -1988,6 +1989,26 @@ func deleteDatasetAttachmentByRepoId(sess *xorm.Session, repoId int64) error {
return err
}

func deleteCloudbrainByRepoId(sess *xorm.Session, repoId int64) error {
cloudbrains := make([]*Cloudbrain, 0)
if err := sess.
Where("repo_id = ?", repoId).
Find(&cloudbrains); err != nil {
return err
}
if len(cloudbrains) == 0 {
return nil
}
for _, cloudbrain := range cloudbrains {
err := DeleteJob(cloudbrain)
if err != nil {
return err
}
}
return nil

}

// GetRepositoryByOwnerAndName returns the repository by given ownername and reponame.
func GetRepositoryByOwnerAndName(ownerName, repoName string) (*Repository, error) {
return getRepositoryByOwnerAndName(x, ownerName, repoName)


Loading…
Cancel
Save