project.go 849 B

123456789101112131415161718192021222324252627282930
  1. package forms
  2. import (
  3. "github.com/porter-dev/porter/internal/models"
  4. "github.com/porter-dev/porter/internal/repository"
  5. )
  6. // WriteProjectForm is a generic form for write operations to the Project model
  7. type WriteProjectForm interface {
  8. ToProject(repo repository.ProjectRepository) (*models.Project, error)
  9. }
  10. // CreateProjectForm represents the accepted values for creating a project
  11. type CreateProjectForm struct {
  12. WriteProjectForm
  13. Name string `json:"name" form:"required"`
  14. }
  15. // ToProject converts the project to a gorm project model
  16. func (cpf *CreateProjectForm) ToProject(_ repository.ProjectRepository) (*models.Project, error) {
  17. return &models.Project{
  18. Name: cpf.Name,
  19. }, nil
  20. }
  21. // UpdateProjectRoleForm represents the accepted values for updating a project
  22. // role
  23. type UpdateProjectRoleForm struct {
  24. Kind string `json:"kind"`
  25. }