stack.go 1.1 KB

12345678910111213141516171819202122
  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. UpdateStackRevision(revision *models.StackRevision) (*models.StackRevision, error)
  11. ReadStackRevision(stackRevisionID uint) (*models.StackRevision, error)
  12. ReadStackRevisionByNumber(stackID uint, revisionNumber uint) (*models.StackRevision, error)
  13. AppendNewRevision(revision *models.StackRevision) (*models.StackRevision, error)
  14. ReadStackResource(resourceID uint) (*models.StackResource, error)
  15. UpdateStackResource(resource *models.StackResource) (*models.StackResource, error)
  16. ReadStackEnvGroupFirstMatch(projectID, clusterID uint, namespace, name string) (*models.StackEnvGroup, error)
  17. }