Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions eventsub.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,13 @@ type EventSubSubscriptionsResponse struct {
Data ManyEventSubSubscriptions
}

// Parameter for filtering subscriptions, currently only the status is filterable
// Parameter for filtering subscriptions. The filters are mutually exclusive; the request fails if you specify more than one filter (except After).
type EventSubSubscriptionsParams struct {
Status string `query:"status"`
Type string `query:"type"`
UserID string `query:"user_id"`
After string `query:"after"`
Status string `query:"status"`
Type string `query:"type"`
UserID string `query:"user_id"`
SubscriptionID string `query:"subscription_id"`
After string `query:"after"`
}

// Parameter for removing a subscription.
Expand Down Expand Up @@ -956,7 +957,6 @@ func (c *Client) GetEventSubSubscriptions(params *EventSubSubscriptionsParams) (

// Remove an EventSub Subscription
func (c *Client) RemoveEventSubSubscription(id string) (*RemoveEventSubSubscriptionParamsResponse, error) {

resp, err := c.delete("/eventsub/subscriptions", nil, &RemoveEventSubSubscriptionParams{ID: id})
if err != nil {
return nil, err
Expand Down
14 changes: 14 additions & 0 deletions eventsub_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ func TestGetEventSubSubscriptions(t *testing.T) {
0,
`{"error":"Unauthorized","status":401,"message":"OAuth token is missing"}`,
},
{
http.StatusBadRequest,
&Options{ClientID: "my-client-id"},
&EventSubSubscriptionsParams{Status: "event-sub-status", Type: "event-sub-type", SubscriptionID: "event-sub-id", UserID: "user-id"},
0,
`{"error":"Bad Request","status":400,"message":"The request may specify only one filter query parameter. For example, either type or status or user_id."}`,
},
{
http.StatusOK,
&Options{ClientID: "my-client-id"},
Expand All @@ -37,6 +44,13 @@ func TestGetEventSubSubscriptions(t *testing.T) {
0,
`{"total":1,"data":[],"limit":100000000,"max_total_cost":10000,"total_cost":1,"pagination":{}}`,
},
{
http.StatusOK,
&Options{ClientID: "my-client-id"},
&EventSubSubscriptionsParams{SubscriptionID: "832389eb-0d0b-41f8-b564-da039f6c4c75"},
1,
`{"total":1,"data":[{"id":"832389eb-0d0b-41f8-b564-da039f6c4c75","status":"enabled","type":"channel.follow","version":"1","condition":{"broadcaster_user_id":"12345678"},"created_at":"2021-03-09T10:37:32.308415339Z","transport":{"method":"webhook","callback":"https://example.com/eventsub/follow"},"cost":1}],"limit":100000000,"max_total_cost":10000,"total_cost":1,"pagination":{}}`,
},
}

for _, testCase := range testCases {
Expand Down
Loading