org_repo.go 826 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package admin
  2. import (
  3. "gogs.io/gogs/internal/context"
  4. "gogs.io/gogs/internal/database"
  5. )
  6. func GetRepositoryByParams(c *context.APIContext) *database.Repository {
  7. repo, err := database.GetRepositoryByName(c.Org.Team.OrgID, c.Params(":reponame"))
  8. if err != nil {
  9. c.NotFoundOrError(err, "get repository by name")
  10. return nil
  11. }
  12. return repo
  13. }
  14. func AddTeamRepository(c *context.APIContext) {
  15. repo := GetRepositoryByParams(c)
  16. if c.Written() {
  17. return
  18. }
  19. if err := c.Org.Team.AddRepository(repo); err != nil {
  20. c.Error(err, "add repository")
  21. return
  22. }
  23. c.NoContent()
  24. }
  25. func RemoveTeamRepository(c *context.APIContext) {
  26. repo := GetRepositoryByParams(c)
  27. if c.Written() {
  28. return
  29. }
  30. if err := c.Org.Team.RemoveRepository(repo.ID); err != nil {
  31. c.Error(err, "remove repository")
  32. return
  33. }
  34. c.NoContent()
  35. }