deployment_target.go 1.2 KB

1234567891011121314151617181920
  1. package repository
  2. import (
  3. "github.com/google/uuid"
  4. "github.com/porter-dev/porter/internal/models"
  5. )
  6. // DeploymentTargetRepository represents the set of queries on the DeploymentTarget model
  7. type DeploymentTargetRepository interface {
  8. // DeploymentTargetBySelectorAndSelectorType finds a deployment target for a projectID and clusterID by its selector and selector type
  9. DeploymentTargetBySelectorAndSelectorType(projectID uint, clusterID uint, selector, selectorType string) (*models.DeploymentTarget, error)
  10. // DeploymentTargetByID does not scope by projectID and should only be used for internal queries when project id cannot be known. This should never be exposed to the user.
  11. DeploymentTargetByID(id uuid.UUID) (*models.DeploymentTarget, error)
  12. // DefaultDeploymentTarget finds the deployment target marked as default for the project id and cluster id
  13. DefaultDeploymentTarget(projectID uint, clusterID uint) (*models.DeploymentTarget, error)
  14. // List returns all deployment targets for a project
  15. List(projectID uint, clusterID uint, preview bool) ([]*models.DeploymentTarget, error)
  16. // CreateDeploymentTarget creates a new deployment target
  17. CreateDeploymentTarget(deploymentTarget *models.DeploymentTarget) (*models.DeploymentTarget, error)
  18. }