| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package repository
- import (
- "context"
- "github.com/google/uuid"
- "github.com/porter-dev/porter/internal/models"
- )
- // APIContractRevisionFilter is used to filter the APIContractRevisions
- type APIContractRevisionFilter struct {
- ClusterID uint
- Latest bool
- }
- // APIContractRevisionFilters is a function that applies filters to the APIContractRevisions
- type APIContractRevisionFilters func(*APIContractRevisionFilter)
- // WithClusterID filters the APIContractRevisions by clusterID
- func WithClusterID(clusterID uint) APIContractRevisionFilters {
- return func(f *APIContractRevisionFilter) {
- f.ClusterID = clusterID
- }
- }
- // WithLatest filters the APIContractRevisions by the latest revision
- func WithLatest(latest bool) APIContractRevisionFilters {
- return func(f *APIContractRevisionFilter) {
- f.Latest = latest
- }
- }
- // APIContractRevisioner represents queries on the api_contracts table, which stores the all the versions of an applied API contract
- type APIContractRevisioner interface {
- Insert(ctx context.Context, conf models.APIContractRevision) (models.APIContractRevision, error)
- // List returns a slice of APIContractRevision, sorted by created_at descending
- List(ctx context.Context, projectID uint, opts ...APIContractRevisionFilters) ([]*models.APIContractRevision, error)
- Get(ctx context.Context, revisionID uuid.UUID) (models.APIContractRevision, error)
- Delete(ctx context.Context, projectID uint, clusterID uint, revisionID uuid.UUID) error
- }
|