Refactor get-campaign
to accept uuid + get body
This commit is contained in:
parent
6bba55f0eb
commit
3a9a2ef4ec
3 changed files with 9 additions and 5 deletions
|
@ -274,7 +274,7 @@ func handleUpdateCampaign(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var cm models.Campaign
|
var cm models.Campaign
|
||||||
if err := app.queries.GetCampaign.Get(&cm, id); err != nil {
|
if err := app.queries.GetCampaign.Get(&cm, id, nil); err != nil {
|
||||||
if err == sql.ErrNoRows {
|
if err == sql.ErrNoRows {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest, "Campaign not found.")
|
return echo.NewHTTPError(http.StatusBadRequest, "Campaign not found.")
|
||||||
}
|
}
|
||||||
|
@ -337,7 +337,7 @@ func handleUpdateCampaignStatus(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var cm models.Campaign
|
var cm models.Campaign
|
||||||
if err := app.queries.GetCampaign.Get(&cm, id); err != nil {
|
if err := app.queries.GetCampaign.Get(&cm, id, nil); err != nil {
|
||||||
if err == sql.ErrNoRows {
|
if err == sql.ErrNoRows {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest, "Campaign not found.")
|
return echo.NewHTTPError(http.StatusBadRequest, "Campaign not found.")
|
||||||
}
|
}
|
||||||
|
@ -412,7 +412,7 @@ func handleDeleteCampaign(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var cm models.Campaign
|
var cm models.Campaign
|
||||||
if err := app.queries.GetCampaign.Get(&cm, id); err != nil {
|
if err := app.queries.GetCampaign.Get(&cm, id, nil); err != nil {
|
||||||
if err == sql.ErrNoRows {
|
if err == sql.ErrNoRows {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest, "Campaign not found.")
|
return echo.NewHTTPError(http.StatusBadRequest, "Campaign not found.")
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ func (r *runnerDB) NextSubscribers(campID, limit int) ([]models.Subscriber, erro
|
||||||
// GetCampaign fetches a campaign from the database.
|
// GetCampaign fetches a campaign from the database.
|
||||||
func (r *runnerDB) GetCampaign(campID int) (*models.Campaign, error) {
|
func (r *runnerDB) GetCampaign(campID int) (*models.Campaign, error) {
|
||||||
var out = &models.Campaign{}
|
var out = &models.Campaign{}
|
||||||
err := r.queries.GetCampaign.Get(out, campID)
|
err := r.queries.GetCampaign.Get(out, campID, nil)
|
||||||
return out, err
|
return out, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -382,7 +382,11 @@ WHERE ($1 = 0 OR id = $1)
|
||||||
ORDER BY created_at DESC OFFSET $4 LIMIT $5;
|
ORDER BY created_at DESC OFFSET $4 LIMIT $5;
|
||||||
|
|
||||||
-- name: get-campaign
|
-- name: get-campaign
|
||||||
SELECT * FROM campaigns WHERE id = $1;
|
SELECT campaigns.*,
|
||||||
|
COALESCE(templates.body, (SELECT body FROM templates WHERE is_default = true LIMIT 1)) AS template_body
|
||||||
|
FROM campaigns
|
||||||
|
LEFT JOIN templates ON (templates.id = campaigns.template_id)
|
||||||
|
WHERE CASE WHEN $1 > 0 THEN campaigns.id = $1 ELSE uuid = $2 END;
|
||||||
|
|
||||||
-- name: get-campaign-stats
|
-- name: get-campaign-stats
|
||||||
-- This query is used to lazy load campaign stats (views, counts, list of lists) given a list of campaign IDs.
|
-- This query is used to lazy load campaign stats (views, counts, list of lists) given a list of campaign IDs.
|
||||||
|
|
Loading…
Reference in a new issue