org_repo.go 906 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package admin
  2. import (
  3. "gitote/gitote/models"
  4. "gitote/gitote/models/errors"
  5. "gitote/gitote/pkg/context"
  6. )
  7. func GetRepositoryByParams(c *context.APIContext) *models.Repository {
  8. repo, err := models.GetRepositoryByName(c.Org.Team.OrgID, c.Params(":reponame"))
  9. if err != nil {
  10. if errors.IsRepoNotExist(err) {
  11. c.Status(404)
  12. } else {
  13. c.Error(500, "GetRepositoryByName", err)
  14. }
  15. return nil
  16. }
  17. return repo
  18. }
  19. func AddTeamRepository(c *context.APIContext) {
  20. repo := GetRepositoryByParams(c)
  21. if c.Written() {
  22. return
  23. }
  24. if err := c.Org.Team.AddRepository(repo); err != nil {
  25. c.Error(500, "AddRepository", err)
  26. return
  27. }
  28. c.Status(204)
  29. }
  30. func RemoveTeamRepository(c *context.APIContext) {
  31. repo := GetRepositoryByParams(c)
  32. if c.Written() {
  33. return
  34. }
  35. if err := c.Org.Team.RemoveRepository(repo.ID); err != nil {
  36. c.Error(500, "RemoveRepository", err)
  37. return
  38. }
  39. c.Status(204)
  40. }