project.go 3.1 KB

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