Add Category ID to webhooks

My use case for this is I want to ignore some webhooks based on the category the feed is in
This commit is contained in:
James Loh 2023-10-30 22:00:55 +11:00 committed by Frédéric Guillot
parent 25f9ca2eeb
commit ef53bf14ae
1 changed files with 21 additions and 18 deletions

View File

@ -54,12 +54,13 @@ func (c *Client) SendSaveEntryWebhookEvent(entry *model.Entry) error {
Enclosures: entry.Enclosures, Enclosures: entry.Enclosures,
Tags: entry.Tags, Tags: entry.Tags,
Feed: &WebhookFeed{ Feed: &WebhookFeed{
ID: entry.Feed.ID, ID: entry.Feed.ID,
UserID: entry.Feed.UserID, UserID: entry.Feed.UserID,
FeedURL: entry.Feed.FeedURL, CategoryID: entry.Feed.Category.ID,
SiteURL: entry.Feed.SiteURL, FeedURL: entry.Feed.FeedURL,
Title: entry.Feed.Title, SiteURL: entry.Feed.SiteURL,
CheckedAt: entry.Feed.CheckedAt, Title: entry.Feed.Title,
CheckedAt: entry.Feed.CheckedAt,
}, },
}, },
}) })
@ -97,12 +98,13 @@ func (c *Client) SendNewEntriesWebhookEvent(feed *model.Feed, entries model.Entr
return c.makeRequest(NewEntriesEventType, &WebhookNewEntriesEvent{ return c.makeRequest(NewEntriesEventType, &WebhookNewEntriesEvent{
EventType: NewEntriesEventType, EventType: NewEntriesEventType,
Feed: &WebhookFeed{ Feed: &WebhookFeed{
ID: feed.ID, ID: feed.ID,
UserID: feed.UserID, UserID: feed.UserID,
FeedURL: feed.FeedURL, CategoryID: feed.Category.ID,
SiteURL: feed.SiteURL, FeedURL: feed.FeedURL,
Title: feed.Title, SiteURL: feed.SiteURL,
CheckedAt: feed.CheckedAt, Title: feed.Title,
CheckedAt: feed.CheckedAt,
}, },
Entries: webhookEntries, Entries: webhookEntries,
}) })
@ -143,12 +145,13 @@ func (c *Client) makeRequest(eventType string, payload any) error {
} }
type WebhookFeed struct { type WebhookFeed struct {
ID int64 `json:"id"` ID int64 `json:"id"`
UserID int64 `json:"user_id"` UserID int64 `json:"user_id"`
FeedURL string `json:"feed_url"` CategoryID int64 `json:"category_id"`
SiteURL string `json:"site_url"` FeedURL string `json:"feed_url"`
Title string `json:"title"` SiteURL string `json:"site_url"`
CheckedAt time.Time `json:"checked_at"` Title string `json:"title"`
CheckedAt time.Time `json:"checked_at"`
} }
type WebhookEntry struct { type WebhookEntry struct {