environment.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package models
  2. import (
  3. "github.com/porter-dev/porter/api/types"
  4. "gorm.io/gorm"
  5. )
  6. type Environment struct {
  7. gorm.Model
  8. ProjectID uint
  9. ClusterID uint
  10. GitInstallationID uint
  11. GitRepoOwner string
  12. GitRepoName string
  13. Name string
  14. }
  15. func (e *Environment) ToEnvironmentType() *types.Environment {
  16. return &types.Environment{
  17. ID: e.Model.ID,
  18. ProjectID: e.ProjectID,
  19. ClusterID: e.ClusterID,
  20. GitInstallationID: e.GitInstallationID,
  21. GitRepoOwner: e.GitRepoOwner,
  22. GitRepoName: e.GitRepoName,
  23. Name: e.Name,
  24. }
  25. }
  26. type Deployment struct {
  27. gorm.Model
  28. EnvironmentID uint
  29. Namespace string
  30. Status types.DeploymentStatus
  31. Subdomain string
  32. PullRequestID uint
  33. GHDeploymentID int64
  34. PRName string
  35. RepoName string
  36. RepoOwner string
  37. CommitSHA string
  38. }
  39. func (d *Deployment) ToDeploymentType() *types.Deployment {
  40. ghMetadata := &types.GitHubMetadata{
  41. DeploymentID: d.GHDeploymentID,
  42. PRName: d.PRName,
  43. RepoName: d.RepoName,
  44. RepoOwner: d.RepoOwner,
  45. CommitSHA: d.CommitSHA,
  46. }
  47. return &types.Deployment{
  48. CreatedAt: d.CreatedAt,
  49. UpdatedAt: d.UpdatedAt,
  50. ID: d.Model.ID,
  51. EnvironmentID: d.EnvironmentID,
  52. Namespace: d.Namespace,
  53. Status: d.Status,
  54. Subdomain: d.Subdomain,
  55. PullRequestID: d.PullRequestID,
  56. GitHubMetadata: ghMetadata,
  57. }
  58. }
  59. type DeploymentWithEnvironment struct {
  60. gorm.Model
  61. Environment *Environment
  62. Namespace string
  63. Status types.DeploymentStatus
  64. Subdomain string
  65. PullRequestID uint
  66. GHDeploymentID int64
  67. PRName string
  68. RepoName string
  69. RepoOwner string
  70. CommitSHA string
  71. }
  72. func (d *DeploymentWithEnvironment) ToDeploymentType() *types.Deployment {
  73. ghMetadata := &types.GitHubMetadata{
  74. DeploymentID: d.GHDeploymentID,
  75. PRName: d.PRName,
  76. RepoName: d.RepoName,
  77. RepoOwner: d.RepoOwner,
  78. CommitSHA: d.CommitSHA,
  79. }
  80. return &types.Deployment{
  81. CreatedAt: d.CreatedAt,
  82. UpdatedAt: d.UpdatedAt,
  83. ID: d.Model.ID,
  84. EnvironmentID: d.Environment.ID,
  85. GitInstallationID: d.Environment.GitInstallationID,
  86. Namespace: d.Namespace,
  87. Status: d.Status,
  88. Subdomain: d.Subdomain,
  89. PullRequestID: d.PullRequestID,
  90. GitHubMetadata: ghMetadata,
  91. }
  92. }