@@ -7,14 +7,16 @@ import (
77 "time"
88
99 _ "github.com/mattn/go-sqlite3"
10+
11+ "fitness_app/defs"
1012)
1113
1214type WorkoutPlan struct {
13- Id int `json:"id"` // id of the workout plan
14- Name string `json:"name"`
15- Creator int `json:"creator"`
16- Description string `json:"description"`
17- MakeCurrent bool `json:"make_current"`
15+ Id int `json:"id"` // id of the workout plan
16+ Name string `json:"name"`
17+ Creator int `json:"creator"`
18+ Description string `json:"description"`
19+ MakeCurrent bool `json:"make_current"`
1820 Days []ExDay `json:"days"`
1921}
2022
@@ -228,7 +230,6 @@ func (Db *DataBase) GetPlansUserUses(user_id int) ([]int, error) {
228230 return res , nil
229231}
230232
231-
232233func (Db * DataBase ) ReadUsersRecentlyTrackedPlans (user_id int ) ([]* WorkoutPlan , error ) {
233234
234235 sql_query := `
@@ -306,8 +307,6 @@ func (Db *DataBase) UpdateWorkoutPlan(wp *WorkoutPlan) (bool, error) {
306307 return false , err
307308 }
308309
309-
310-
311310 old_ex_days , err := Db .ReadAllExerciseDaysFromPlan (wp .Id )
312311 if err != nil {
313312 return false , err
@@ -325,12 +324,12 @@ func (Db *DataBase) UpdateWorkoutPlan(wp *WorkoutPlan) (bool, error) {
325324 for i := range len (old_ex_days ) {
326325 for j := range len (old_ex_days [i ].Exercises ) {
327326 if i >= len (diff ) || j >= len (diff [i ]) {
328- _ , err := stmt_ex .Exec (1 , old_ex_days [i ].Exercises [j ].Id )
327+ _ , err := stmt_ex .Exec (defs . PLACEHOLDER_PLAN_ID , old_ex_days [i ].Exercises [j ].Id )
329328 if err != nil {
330329 return false , err
331330 }
332331 } else if diff [i ][j ] {
333- _ , err := stmt_ex .Exec (1 , old_ex_days [i ].Exercises [j ].Id )
332+ _ , err := stmt_ex .Exec (defs . PLACEHOLDER_PLAN_ID , old_ex_days [i ].Exercises [j ].Id )
334333 if err != nil {
335334 return false , err
336335 }
@@ -343,13 +342,11 @@ func (Db *DataBase) UpdateWorkoutPlan(wp *WorkoutPlan) (bool, error) {
343342 return false , err
344343 }
345344
346-
347345 err = Db .CachePlanBasic (wp .Id )
348346 if err != nil {
349347 return false , err
350348 }
351349
352-
353350 return true , nil
354351}
355352
@@ -390,20 +387,20 @@ func (Db *DataBase) getExerciseDayDifference(new_wp *WorkoutPlan, tx *sql.Tx) ([
390387 var old_day_name string
391388 var tmp_ex ExerciseData
392389 err = search_stmt .QueryRow (new_wp .Id , i , j ).Scan (& old_day_name , & tmp_ex .Exercise .Id , & tmp_ex .Weight , & tmp_ex .Unit , & tmp_ex .Sets , & tmp_ex .MinReps , & tmp_ex .MaxReps )
393- if err != nil ||
394- ex .Exercise .Id != tmp_ex .Exercise .Id ||
395- ex .Weight != tmp_ex .Weight ||
396- ex .Unit != tmp_ex .Unit ||
397- ex .Sets != tmp_ex .Sets ||
398- ex .MinReps != tmp_ex .MinReps ||
399- ex .MaxReps != tmp_ex .MaxReps {
390+ if err != nil ||
391+ ex .Exercise .Id != tmp_ex .Exercise .Id ||
392+ ex .Weight != tmp_ex .Weight ||
393+ ex .Unit != tmp_ex .Unit ||
394+ ex .Sets != tmp_ex .Sets ||
395+ ex .MinReps != tmp_ex .MinReps ||
396+ ex .MaxReps != tmp_ex .MaxReps {
400397 log .Println ("Error in search stmt:" , err )
401398 diff [i ][j ] = true
402399 err := insert_stmt .QueryRow (new_wp .Id , day .Name , ex .Exercise .Id , ex .Weight , ex .Unit , ex .Sets , ex .MinReps , ex .MaxReps , i , j ).Scan (& tmp_ex .Id )
403400 if err != nil {
404401 return nil , err
405402 }
406- } else if old_day_name != day .Name {
403+ } else if old_day_name != day .Name {
407404 _ , err = day_name_stmt .Exec (day .Name , new_wp .Id , i )
408405 if err != nil {
409406 return nil , err
@@ -539,6 +536,10 @@ func ValidateExerciseDayInput(ex ExerciseData) error {
539536
540537}
541538
539+ // func (Db *DataBase) ReadExerciseDay(ex_day_id int) (*ExerciseData, error) {
540+ // row, err := Db.Data.QueryRow("select plan, day")
541+ // }
542+
542543func (Db * DataBase ) ReadAllExerciseDaysFromPlan (plan_id int ) ([]ExDay , error ) {
543544 rows , err := Db .Data .Query ("select id, day_name, exercise, weight, unit, sets, min_reps, max_reps, day_order from exercise_day where plan = ? order by day_order asc, exercise_order asc" , plan_id )
544545 if err != nil {
@@ -575,7 +576,7 @@ func (Db *DataBase) ReadAllExerciseDaysFromPlan(plan_id int) ([]ExDay, error) {
575576 if ! ok {
576577 return nil , err
577578 }
578- // tmp.Targets = nil // NOTE: this is needed for converting the plan to json. If the targets are left as is, the json gets into an infinite loop
579+
579580 ex .Exercise = * tmp
580581
581582 if curr_day != prev_day {
@@ -612,7 +613,7 @@ func (Db *DataBase) DeleteExerciseDay(id int) (bool, error) {
612613
613614func (Db * DataBase ) CachePlanBasic (wp_id int ) error {
614615 row := Db .Data .QueryRow ("select name, creator, description from workout_plan where id = ?" , wp_id )
615- wp := WorkoutPlan { Id : wp_id }
616+ wp := WorkoutPlan {Id : wp_id }
616617 err := row .Scan (& wp .Name , & wp .Creator , & wp .Description )
617618 if err != nil {
618619 return err
@@ -627,7 +628,7 @@ func (wp *WorkoutPlan) GetAnalysis() *PlanAnalysis {
627628 return nil
628629 }
629630
630- analysis := & PlanAnalysis { SetsPerTarget : make (map [* Target ]int )}
631+ analysis := & PlanAnalysis {SetsPerTarget : make (map [* Target ]int )}
631632
632633 for _ , day := range wp .Days {
633634 for _ , ex := range day .Exercises {
0 commit comments