| package subscription |
|
|
| import ( |
| "context" |
|
|
| "github.com/openmeterio/openmeter/pkg/models" |
| ) |
|
|
| type QueryService interface { |
| |
| Get(ctx context.Context, subscriptionID models.NamespacedID) (Subscription, error) |
| |
| GetView(ctx context.Context, subscriptionID models.NamespacedID) (SubscriptionView, error) |
| |
| List(ctx context.Context, params ListSubscriptionsInput) (SubscriptionList, error) |
| |
| ExpandViews(ctx context.Context, subs []Subscription) ([]SubscriptionView, error) |
| } |
|
|
| type CommandService interface { |
| HookService |
|
|
| |
| Create(ctx context.Context, namespace string, spec SubscriptionSpec) (Subscription, error) |
| |
| Update(ctx context.Context, subscriptionID models.NamespacedID, target SubscriptionSpec) (Subscription, error) |
| |
| Delete(ctx context.Context, subscriptionID models.NamespacedID) error |
| |
| Cancel(ctx context.Context, subscriptionID models.NamespacedID, timing Timing) (Subscription, error) |
| |
| Continue(ctx context.Context, subscriptionID models.NamespacedID) (Subscription, error) |
| |
| UpdateAnnotations(ctx context.Context, subscriptionID models.NamespacedID, annotations models.Annotations) (*Subscription, error) |
| } |
|
|
| type Service interface { |
| QueryService |
| CommandService |
| } |
|
|
| type HookService interface { |
| RegisterHook(SubscriptionCommandHook) error |
| } |
|
|