Browse Source

Remove collaborators when removing and transferring repository

tags/v0.9.99
Peter Smit 9 years ago
parent
commit
b6519f78c7
1 changed files with 15 additions and 0 deletions
  1. 15
    0
      models/repo.go

+ 15
- 0
models/repo.go View File

return err return err
} }


// Remove redundant collaborators
collaborators, err := repo.GetCollaborators()
if err != nil {
return err
}
for _, c := range collaborators {
if c.Id == newUser.Id || newUser.IsOrgMember(c.Id) {
if _, err = sess.Delete(&Collaboration{RepoID: repo.Id, UserID: c.Id}); err != nil {
return err
}
}
}

// Update user repository number. // Update user repository number.
if _, err = sess.Exec("UPDATE `user` SET num_repos = num_repos + 1 WHERE id = ?", newUser.Id); err != nil { if _, err = sess.Exec("UPDATE `user` SET num_repos = num_repos + 1 WHERE id = ?", newUser.Id); err != nil {
return err return err
return err return err
} else if _, err = sess.Delete(&Release{RepoId: repoId}); err != nil { } else if _, err = sess.Delete(&Release{RepoId: repoId}); err != nil {
return err return err
} else if _, err = sess.Delete(&Collaboration{RepoID: repoId}); err != nil {
return err
} }


// Delete comments. // Delete comments.

Loading…
Cancel
Save