environment.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package types
  2. type Environment struct {
  3. ID uint `json:"id"`
  4. ProjectID uint `json:"project_id"`
  5. ClusterID uint `json:"cluster_id"`
  6. GitInstallationID uint `json:"git_installation_id"`
  7. GitRepoOwner string `json:"git_repo_owner"`
  8. GitRepoName string `json:"git_repo_name"`
  9. Name string `json:"name"`
  10. }
  11. type CreateEnvironmentRequest struct {
  12. Name string `json:"name" form:"required"`
  13. }
  14. type GitHubMetadata struct {
  15. DeploymentID int64 `json:"gh_deployment_id"`
  16. PRName string `json:"gh_pr_name"`
  17. RepoName string `json:"gh_repo_name"`
  18. RepoOwner string `json:"gh_repo_owner"`
  19. CommitSHA string `json:"gh_commit_sha"`
  20. }
  21. type DeploymentStatus string
  22. const (
  23. DeploymentStatusCreated DeploymentStatus = "created"
  24. DeploymentStatusCreating DeploymentStatus = "creating"
  25. DeploymentStatusInactive DeploymentStatus = "inactive"
  26. DeploymentStatusFailed DeploymentStatus = "failed"
  27. )
  28. type Deployment struct {
  29. *GitHubMetadata
  30. ID uint `json:"id"`
  31. GitInstallationID uint `json:"git_installation_id"`
  32. EnvironmentID uint `json:"environment_id"`
  33. Namespace string `json:"namespace"`
  34. Status DeploymentStatus `json:"status"`
  35. Subdomain string `json:"subdomain"`
  36. PullRequestID uint `json:"pull_request_id"`
  37. }
  38. type CreateGHDeploymentRequest struct {
  39. Branch string `json:"branch" form:"required"`
  40. ActionID uint `json:"action_id" form:"required"`
  41. }
  42. type CreateDeploymentRequest struct {
  43. *CreateGHDeploymentRequest
  44. *GitHubMetadata
  45. Namespace string `json:"namespace" form:"required"`
  46. PullRequestID uint `json:"pull_request_id" form:"required"`
  47. }
  48. type FinalizeDeploymentRequest struct {
  49. Namespace string `json:"namespace" form:"required"`
  50. Subdomain string `json:"subdomain"`
  51. }
  52. type UpdateDeploymentRequest struct {
  53. *CreateGHDeploymentRequest
  54. CommitSHA string `json:"commit_sha" form:"required"`
  55. Namespace string `json:"namespace" form:"required"`
  56. }
  57. type ListDeploymentRequest struct {
  58. Status []string `schema:"status"`
  59. }
  60. type UpdateDeploymentStatusRequest struct {
  61. *CreateGHDeploymentRequest
  62. Status string `json:"status" form:"required,oneof=created creating inactive failed"`
  63. Namespace string `json:"namespace" form:"required"`
  64. }
  65. type DeleteDeploymentRequest struct {
  66. Namespace string `json:"namespace" form:"required"`
  67. }
  68. type GetDeploymentRequest struct {
  69. Namespace string `schema:"namespace" form:"required"`
  70. }