2
0

project.go 971 B

12345678910111213141516171819202122
  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. UpdateProject(project *models.Project) (*models.Project, error)
  12. UpdateProjectRole(projID uint, role *models.Role) (*models.Role, error)
  13. ReadProject(id uint) (*models.Project, error)
  14. ReadProjectRole(projID, userID uint) (*models.Role, error)
  15. ListProjectRoles(projID uint) ([]models.Role, error)
  16. ListProjectsByUserID(userID uint) ([]*models.Project, error)
  17. DeleteProject(project *models.Project) (*models.Project, error)
  18. DeleteProjectRole(projID, userID uint) (*models.Role, error)
  19. }