project.go 3.0 KB

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