func updateChallenges(authID string, challenges []core.Challenge, tx *gorp.Transaction) error { var challs []challModel _, err := tx.Select( &challs, getChallengesQuery, map[string]interface{}{"authID": authID}, ) if err != nil { return err } if len(challs) != len(challenges) { return fmt.Errorf("Invalid number of challenges provided") } for i, authChall := range challenges { chall, err := challengeToModel(&authChall, challs[i].AuthorizationID) if err != nil { return err } chall.ID = challs[i].ID _, err = tx.Update(chall) if err != nil { return err } } return nil }