Skip to content

Commit

Permalink
Fix broken public link redirect.
Browse files Browse the repository at this point in the history
  • Loading branch information
knadh committed May 5, 2022
1 parent 5fd4d7b commit b94da62
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
4 changes: 2 additions & 2 deletions cmd/public.go
Original file line number Diff line number Diff line change
Expand Up @@ -353,8 +353,8 @@ func handleLinkRedirect(c echo.Context) error {
subUUID = ""
}

var url string
if err := app.core.RegisterCampaignLinkClick(linkUUID, campUUID, subUUID); err != nil {
url, err := app.core.RegisterCampaignLinkClick(linkUUID, campUUID, subUUID)
if err != nil {
e := err.(*echo.HTTPError)
return c.Render(e.Code, tplMessage, makeMsgTpl(app.i18n.T("public.errorTitle"), "", e.Error()))
}
Expand Down
12 changes: 7 additions & 5 deletions internal/core/campaigns.go
Original file line number Diff line number Diff line change
Expand Up @@ -329,14 +329,16 @@ func (c *Core) RegisterCampaignView(campUUID, subUUID string) error {
}

// RegisterCampaignLinkClick registers a subscriber's link click on a campaign.
func (c *Core) RegisterCampaignLinkClick(linkUUID, campUUID, subUUID string) error {
if _, err := c.q.RegisterLinkClick.Exec(linkUUID, campUUID, subUUID); err != nil {
func (c *Core) RegisterCampaignLinkClick(linkUUID, campUUID, subUUID string) (string, error) {
var url string
if err := c.q.RegisterLinkClick.Get(&url, linkUUID, campUUID, subUUID); err != nil {
if pqErr, ok := err.(*pq.Error); ok && pqErr.Column == "link_id" {
return echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts("public.invalidLink"))
return "", echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts("public.invalidLink"))
}

c.log.Printf("error registering link click: %s", err)
return echo.NewHTTPError(http.StatusInternalServerError, c.i18n.Ts("public.errorProcessingRequest"))
return "", echo.NewHTTPError(http.StatusInternalServerError, c.i18n.Ts("public.errorProcessingRequest"))
}
return nil

return url, nil
}

0 comments on commit b94da62

Please sign in to comment.