diff options
Diffstat (limited to 'backend')
-rw-r--r-- | backend/recipe.go | 44 |
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) |