summaryrefslogtreecommitdiff
path: root/backend/recipe.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/recipe.go')
-rw-r--r--backend/recipe.go44
1 files changed, 19 insertions, 25 deletions
diff --git a/backend/recipe.go b/backend/recipe.go
index fed83ca..a3191c3 100644
--- a/backend/recipe.go
+++ b/backend/recipe.go
@@ -1,33 +1,32 @@
package main
import "database/sql"
-import "errors"
import "strings"
type Ingredient struct {
- Name string
- Amount float64
- Unit string
+ Name string `json:"name"`
+ Amount float64 `json:"amount"`
+ Unit string `json:"units"`
+ Type string `json:"type"`
}
type Step struct {
- Num int
- Desc string
- Time int
+ Desc string `json:"instructions"`
+ Time int `json:"timer"`
}
type Recipe struct {
- Id int
- Title string
- Desc string
- Photos []string
- Serving_size int
- Cook_time int
- Rating int
- Num_cooked int
- Keywords []string
- Ingredients []Ingredient
- Steps []Step
+ Id int `json:"id"`
+ Title string `json:"name"`
+ Desc string `json:"description"`
+ Photos []string `json:"photos"`
+ Serving_size int `json:"servingSize"`
+ Cook_time int `json:"cookTime"`
+ Rating int `json:"rating"`
+ Num_cooked int `json:"timesCooked"`
+ Keywords []string `json:"tags"`
+ Ingredients []Ingredient `json:"ingredients"`
+ Steps []Step `json:"steps"`
}
func MakeRecipe() *Recipe {
@@ -114,13 +113,12 @@ func RecipeFromId(id int, db *sql.DB) *Recipe {
var num, timer int
rows_steps, err := db.Query(`SELECT step, description, timer
- FROM steps WHERE recipe_id = $1`, id)
+ FROM steps WHERE recipe_id = $1 ORDER BY step`, id)
defer rows_steps.Close()
if err == nil {
for rows_steps.Next() {
rows_steps.Scan(&num, &desc, &timer)
step = Step{
- Num: num,
Desc: desc,
Time: timer,
}
@@ -189,7 +187,7 @@ func AddRecipeDB(r *Recipe, db *sql.DB) error {
res, err := tx.Exec(`INSERT INTO steps
(step, description, timer, recipe_id)
VALUES ($1, $2, $3, $4)`,
- step.Num,
+ i,
step.Desc,
step.Time,
id,
@@ -279,10 +277,6 @@ func UpdateRecipeDB(r *Recipe, db *sql.DB) error {
}
for i, step := range r.Steps {
- if step.Num != 0 {
- tx.Rollback()
- return errors.New("invalid json Recipe")
- }
_, err := tx.Exec(`INSERT INTO steps
(step, description, timer, recipe_id)
VALUES ($1, $2, $3, $4)