summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/main.go2
-rw-r--r--backend/recipe.go27
2 files changed, 13 insertions, 16 deletions
diff --git a/backend/main.go b/backend/main.go
index b4cd76f..856cd80 100644
--- a/backend/main.go
+++ b/backend/main.go
@@ -173,7 +173,7 @@ func SingleRecipe(w http.ResponseWriter, r *http.Request) {
var status int
var msg string
- if res.RowsAffected() == 0 {
+ if ra, _ := res.RowsAffected(); ra == 0 {
status = http.StatusNotFound
msg = "Recipe Not found"
} else {
diff --git a/backend/recipe.go b/backend/recipe.go
index e14c79b..fc34ba7 100644
--- a/backend/recipe.go
+++ b/backend/recipe.go
@@ -158,42 +158,39 @@ func AddRecipeDB(r *Recipe, db *sql.DB) error {
r.Rating, //7
r.Num_cooked, //8
).Scan(&id)
-
if err != nil {
return err
}
- var ingr_id int
for i, ingr := range r.Ingredients {
- err := db.QueryRow(`INSERT INTO ingredients
+ res, err := db.Exec(`INSERT INTO ingredients
(name, amount, unit, recipe_id)
- VALUES ($1, $2, $3, $4)
- RETURNING id`,
+ VALUES ($1, $2, $3, $4)`,
ingr.Name,
ingr.Amount,
ingr.Unit,
id,
- ).Scan(&ingr_id)
- if err != nil {
+ )
+
+ if ra, _ := res.RowsAffected(); ra == 0 || err != nil {
r.Ingredients = append(r.Ingredients[:i],
r.Ingredients[i+1:]...)
}
}
- var step_id int
for i, step := range r.Steps {
- err := db.QueryRow(`INSERT INTO steps
+ res, err := db.Exec(`INSERT INTO steps
(step, description, timer, recipe_id)
- VALUES ($1, $2, $3, $4)
- RETURNING id`,
+ VALUES ($1, $2, $3, $4)`,
step.Num,
step.Desc,
step.Time,
id,
- ).Scan(&step_id)
- if err != nil {
- r.Steps = append(r.Steps[:i],
- r.Steps[i+1:]...)
+ )
+
+ if ra, _ := res.RowsAffected(); ra == 0 || err != nil {
+ r.Ingredients = append(r.Ingredients[:i],
+ r.Ingredients[i+1:]...)
}
}