MCPcopy Create free account
hub / github.com/Cawlumm/lyftr / Create

Method Create

backend/stores/program.go:98–117  ·  view source on GitHub ↗
(uid int64, req models.CreateProgramRequest)

Source from the content-addressed store, hash-verified

96func (s *ProgramStore) get(id int64) (models.Program, error) {
97 var p models.Program
98 if err := scanProgram(s.db.QueryRow(`SELECT `+programCols+` FROM programs WHERE id = ?`, id), &p); err != nil {
99 return models.Program{}, err
100 }
101 if err := s.hydrate(&p); err != nil {
102 return models.Program{}, err
103 }
104 return p, nil
105}
106
107// hydrate loads a program's Days (with their Exercises/Sets) and computes
108// CurrentDayIndex in place.
109func (s *ProgramStore) hydrate(p *models.Program) error {
110 days, err := s.loadDays(p.ID)
111 if err != nil {
112 return err
113 }
114 p.Days = days
115 idxByID, err := s.currentDayIndex(p.UserID, []models.Program{{ID: p.ID, Days: days}})
116 if err != nil {
117 return err
118 }
119 p.CurrentDayIndex = idxByID[p.ID]
120 return nil

Callers

nothing calls this directly

Calls 3

getMethod · 0.95
inTxFunction · 0.85
insertProgramExercisesFunction · 0.85

Tested by

no test coverage detected