project.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package types
  2. type Project struct {
  3. ID uint `json:"id"`
  4. Name string `json:"name"`
  5. Roles []*Role `json:"roles"`
  6. PreviewEnvsEnabled bool `json:"preview_envs_enabled"`
  7. RDSDatabasesEnabled bool `json:"enable_rds_databases"`
  8. }
  9. type CreateProjectRequest struct {
  10. Name string `json:"name" form:"required"`
  11. }
  12. type CreateProjectResponse Project
  13. type CreateProjectRoleRequest struct {
  14. Kind string `json:"kind" form:"required"`
  15. UserID uint `json:"user_id" form:"required"`
  16. }
  17. type ReadProjectResponse Project
  18. type ListProjectsRequest struct{}
  19. type ListProjectsResponse []Project
  20. type DeleteProjectRequest struct {
  21. Name string `json:"name" form:"required"`
  22. }
  23. type DeleteProjectResponse Project
  24. type ListProjectInfraResponse []*Infra
  25. type GetProjectPolicyResponse []*PolicyDocument
  26. type ListProjectRolesResponse []RoleKind
  27. type Collaborator struct {
  28. ID uint `json:"id"`
  29. Kind string `json:"kind"`
  30. UserID uint `json:"user_id"`
  31. Email string `json:"email"`
  32. ProjectID uint `json:"project_id"`
  33. }
  34. type ListCollaboratorsResponse []*Collaborator
  35. type UpdateRoleRequest struct {
  36. UserID uint `json:"user_id,required"`
  37. Kind string `json:"kind,required"`
  38. }
  39. type UpdateRoleResponse struct {
  40. *Role
  41. }
  42. type DeleteRoleRequest struct {
  43. UserID uint `schema:"user_id,required"`
  44. }
  45. type DeleteRoleResponse struct {
  46. *Role
  47. }
  48. type GetBillingTokenResponse struct {
  49. Token string `json:"token"`
  50. TeamID string `json:"team_id"`
  51. }
  52. type GetProjectBillingResponse struct {
  53. HasBilling bool `json:"has_billing"`
  54. }
  55. type StepEnum string
  56. const (
  57. StepConnectSource StepEnum = "connect_source"
  58. StepGithub StepEnum = "github"
  59. )
  60. type ConnectedSourceType string
  61. const (
  62. ConnectedSourceTypeGithub = "github"
  63. ConnectedSourceTypeDocker = "docker"
  64. )
  65. type OnboardingData struct {
  66. CurrentStep StepEnum `json:"current_step"`
  67. ConnectedSource ConnectedSourceType `json:"connected_source"`
  68. SkipRegistryConnection bool `json:"skip_registry_connection"`
  69. SkipResourceProvision bool `json:"skip_resource_provision"`
  70. RegistryConnectionID uint `json:"registry_connection_id"`
  71. RegistryConnectionCredentialID uint `json:"registry_connection_credential_id"`
  72. RegistryConnectionProvider string `json:"registry_connection_provider"`
  73. RegistryInfraID uint `json:"registry_infra_id"`
  74. RegistryInfraCredentialID uint `json:"registry_infra_credential_id"`
  75. RegistryInfraProvider string `json:"registry_infra_provider"`
  76. ClusterInfraID uint `json:"cluster_infra_id"`
  77. ClusterInfraCredentialID uint `json:"cluster_infra_credential_id"`
  78. ClusterInfraProvider string `json:"cluster_infra_provider"`
  79. }
  80. type UpdateOnboardingRequest OnboardingData