1
0
mirror of https://github.com/mxpv/podsync.git synced 2024-05-11 05:55:04 +00:00

Minor improvements in pledge handler

This commit is contained in:
Maksym Pavlenko
2017-11-05 13:04:36 -08:00
parent 2e45ae3437
commit 13933571a0
2 changed files with 18 additions and 2 deletions

View File

@@ -226,7 +226,13 @@ func (h handler) webhook(c *gin.Context) {
}
if err := h.patreon.Hook(&pledge.Data, eventName); err != nil {
log.Printf("failed to process patreon event %s (%s): %v", pledge.Data.ID, eventName, err)
log.Printf(
"failed to process patreon event %s (event: %s, user: %s): %v",
pledge.Data.ID,
eventName,
pledge.Data.Relationships.Patron.Data.ID,
err)
c.JSON(internalError(err))
return
}

View File

@@ -72,7 +72,17 @@ func (h Patreon) Hook(pledge *patreon.Pledge, event string) error {
case patreon.EventCreatePledge:
return h.db.Insert(obj)
case patreon.EventUpdatePledge:
return h.db.Update(obj)
err := h.db.Update(obj)
if err == pg.ErrNoRows {
log.Printf(
"! ignoring update for not existing pledge %s for user %s",
pledge.ID,
pledge.Relationships.Patron.Data.ID)
return nil
}
return err
case patreon.EventDeletePledge:
err := h.db.Delete(obj)
if err == pg.ErrNoRows {