project.go 657 B

1234567891011121314151617
  1. package repository
  2. import (
  3. "github.com/porter-dev/porter/internal/models"
  4. )
  5. // WriteProject is the function type for all Project write operations
  6. type WriteProject func(project *models.Project) (*models.Project, error)
  7. // ProjectRepository represents the set of queries on the Project model
  8. type ProjectRepository interface {
  9. CreateProject(project *models.Project) (*models.Project, error)
  10. CreateProjectRole(project *models.Project, role *models.Role) (*models.Role, error)
  11. ReadProject(id uint) (*models.Project, error)
  12. ListProjectsByUserID(userID uint) ([]*models.Project, error)
  13. DeleteProject(project *models.Project) (*models.Project, error)
  14. }