feat: expose result subscription HTTP and WebSocket APIs

This commit is contained in:
2026-09-17 19:57:55 +08:00
parent 1c3300cc5b
commit 8485a662b2
38 changed files with 3462 additions and 26 deletions

View File

@@ -99,6 +99,7 @@ type ControlInput struct {
}
type Delivery struct {
CreatedAt time.Time `json:"created_at,omitzero"`
ID core.ID `json:"id"`
SubscriptionID core.ID `json:"subscription_id"`
EventID core.ID `json:"event_id"`
@@ -152,6 +153,11 @@ type RetryResult struct {
}
type Store interface {
AuthorizeEvents(context.Context, auth.Token) error
BindConsumer(context.Context, auth.Token, core.ID) (ConsumerBinding, error)
ListSubscriptions(context.Context, auth.Token, core.ID, PageInput) (SubscriptionPage, error)
ListDeliveries(context.Context, auth.Token, core.ID, PageInput) (DeliveryPage, error)
GetDeliveryDetail(context.Context, auth.Token, core.ID, core.ID) (DeliveryDetail, error)
CreateSubscription(context.Context, auth.Token, string, CreateInput) (SubscriptionResult, error)
GetSubscription(context.Context, auth.Token, core.ID) (Subscription, error)
ControlSubscription(context.Context, auth.Token, core.ID, string, ControlInput) (SubscriptionResult, error)