project_role.go 780 B

123456789101112131415
  1. package repository
  2. import "github.com/porter-dev/porter/internal/models"
  3. // ProjectRoleRepository represents the set of queries on the ProjectRole model
  4. type ProjectRoleRepository interface {
  5. CreateProjectRole(role *models.ProjectRole) (*models.ProjectRole, error)
  6. ReadProjectRole(projectID uint, roleUID string) (*models.ProjectRole, error)
  7. ListProjectRoles(projectID uint) ([]*models.ProjectRole, error)
  8. ListAllRolesForUser(projectID, userID uint) ([]*models.ProjectRole, error)
  9. UpdateUsersInProjectRole(projectID uint, roleUID string, userIDs []uint) error
  10. ClearUsersInProjectRole(projectID uint, roleUID string) error
  11. UpdateProjectRole(role *models.ProjectRole) (*models.ProjectRole, error)
  12. DeleteProjectRole(role *models.ProjectRole) (*models.ProjectRole, error)
  13. }