git_repo.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package client
  2. import (
  3. "context"
  4. "fmt"
  5. "github.com/porter-dev/porter/api/types"
  6. )
  7. // ListGitInstallationIDs returns a list of Git installation IDs for a user
  8. func (c *Client) ListGitInstallationIDs(
  9. ctx context.Context,
  10. projID uint,
  11. ) (*types.ListGitInstallationIDsResponse, error) {
  12. resp := &types.ListGitInstallationIDsResponse{}
  13. err := c.getRequest(
  14. fmt.Sprintf(
  15. "/projects/%d/gitrepos",
  16. projID,
  17. ),
  18. nil,
  19. resp,
  20. )
  21. return resp, err
  22. }
  23. // ListGitRepos returns a list of Git installation IDs for a user
  24. func (c *Client) ListGitRepos(
  25. ctx context.Context,
  26. projID uint,
  27. gitInstallationID int64,
  28. ) (*types.ListReposResponse, error) {
  29. resp := &types.ListReposResponse{}
  30. err := c.getRequest(
  31. fmt.Sprintf(
  32. "/projects/%d/gitrepos/%d/repos",
  33. projID,
  34. gitInstallationID,
  35. ),
  36. nil,
  37. resp,
  38. )
  39. return resp, err
  40. }
  41. func (c *Client) GetRepoZIPDownloadURL(
  42. ctx context.Context,
  43. projID uint,
  44. gitInstallationID int64,
  45. kind, owner, name, branch string,
  46. ) (*types.GetTarballURLResponse, error) {
  47. resp := &types.GetTarballURLResponse{}
  48. err := c.getRequest(
  49. fmt.Sprintf(
  50. "/projects/%d/gitrepos/%d/repos/%s/%s/%s/%s/tarball_url",
  51. projID, gitInstallationID,
  52. kind, owner, name, branch,
  53. ),
  54. nil,
  55. resp,
  56. )
  57. return resp, err
  58. }