project.go 705 B

123456789101112131415161718
  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. UpdateProject(project *models.Project) (*models.Project, error)
  11. ReadProject(id uint) (*models.Project, error)
  12. ListProjectsByUserID(userID uint) ([]*models.Project, error)
  13. DeleteProject(project *models.Project) (*models.Project, error)
  14. DeleteLegacyProjectRole(projID, userID uint) (*models.Role, error)
  15. }