stack.go 1.1 KB

1234567891011121314151617181920212223
  1. package repository
  2. import "github.com/porter-dev/porter/internal/models"
  3. // StackRepository represents the set of queries on the Stack model
  4. type StackRepository interface {
  5. CreateStack(stack *models.Stack) (*models.Stack, error)
  6. ReadStackByID(projectID, stackID uint) (*models.Stack, error)
  7. ReadStackByStringID(projectID uint, stackID string) (*models.Stack, error)
  8. ListStacks(projectID uint, clusterID uint, namespace string) ([]*models.Stack, error)
  9. DeleteStack(stack *models.Stack) (*models.Stack, error)
  10. UpdateStack(stack *models.Stack) (*models.Stack, error)
  11. UpdateStackRevision(revision *models.StackRevision) (*models.StackRevision, error)
  12. ReadStackRevision(stackRevisionID uint) (*models.StackRevision, error)
  13. ReadStackRevisionByNumber(stackID uint, revisionNumber uint) (*models.StackRevision, error)
  14. AppendNewRevision(revision *models.StackRevision) (*models.StackRevision, error)
  15. ReadStackResource(resourceID uint) (*models.StackResource, error)
  16. UpdateStackResource(resource *models.StackResource) (*models.StackResource, error)
  17. ReadStackEnvGroupFirstMatch(projectID, clusterID uint, namespace, name string) (*models.StackEnvGroup, error)
  18. }