Make sure integrations are configured before to make any HTTP requests

This commit is contained in:
Frédéric Guillot 2018-04-29 17:58:09 -07:00
parent 31da4db14f
commit 7a1653a2e9
5 changed files with 20 additions and 4 deletions

View File

@ -19,6 +19,10 @@ type Client struct {
// AddURL sends a link to Instapaper.
func (c *Client) AddURL(link, title string) error {
if c.username == "" || c.password == "" {
return fmt.Errorf("instapaper: missing credentials")
}
values := url.Values{}
values.Add("url", link)
values.Add("title", title)

View File

@ -25,14 +25,14 @@ func SendEntry(entry *model.Entry, integration *model.Integration) {
)
if err != nil {
logger.Error("[Integration] %v", err)
logger.Error("[Integration] UserID #%d: %v", integration.UserID, err)
}
}
if integration.InstapaperEnabled {
client := instapaper.NewClient(integration.InstapaperUsername, integration.InstapaperPassword)
if err := client.AddURL(entry.URL, entry.Title); err != nil {
logger.Error("[Integration] %v", err)
logger.Error("[Integration] UserID #%d: %v", integration.UserID, err)
}
}
@ -46,7 +46,7 @@ func SendEntry(entry *model.Entry, integration *model.Integration) {
)
if err := client.AddEntry(entry.URL, entry.Title); err != nil {
logger.Error("[Integration] %v", err)
logger.Error("[Integration] UserID #%d: %v", integration.UserID, err)
}
}
@ -57,7 +57,7 @@ func SendEntry(entry *model.Entry, integration *model.Integration) {
)
if err := client.AddEntry(entry.URL, entry.Title, entry.Content); err != nil {
logger.Error("[Integration] %v", err)
logger.Error("[Integration] UserID #%d: %v", integration.UserID, err)
}
}
}

View File

@ -28,6 +28,10 @@ type Client struct {
// AddEntry sends an entry to Nunux Keeper.
func (c *Client) AddEntry(link, title, content string) error {
if c.baseURL == "" || c.apiKey == "" {
return fmt.Errorf("nunux-keeper: missing credentials")
}
doc := &Document{
Title: title,
Origin: link,

View File

@ -18,6 +18,10 @@ type Client struct {
// AddBookmark sends a link to Pinboard.
func (c *Client) AddBookmark(link, title, tags string, markAsUnread bool) error {
if c.authToken == "" {
return fmt.Errorf("pinboard: missing credentials")
}
toRead := "no"
if markAsUnread {
toRead = "yes"

View File

@ -24,6 +24,10 @@ type Client struct {
// AddEntry sends a link to Wallabag.
func (c *Client) AddEntry(link, title string) error {
if c.baseURL == "" || c.clientID == "" || c.clientSecret == "" || c.username == "" || c.password == "" {
return fmt.Errorf("wallabag: missing credentials")
}
accessToken, err := c.getAccessToken()
if err != nil {
return err