| 423 | } |
| 424 | |
| 425 | func (f *Factor) FindChallengeByID(conn *storage.Connection, challengeID uuid.UUID) (*Challenge, error) { |
| 426 | var challenge Challenge |
| 427 | err := conn.Q().Where("id = ? and factor_id = ?", challengeID, f.ID).First(&challenge) |
| 428 | if err != nil && errors.Cause(err) == sql.ErrNoRows { |
| 429 | return nil, ChallengeNotFoundError{} |
| 430 | } else if err != nil { |
| 431 | return nil, err |
| 432 | } |
| 433 | return &challenge, nil |
| 434 | } |
| 435 | |
| 436 | func DeleteFactorsByUserId(tx *storage.Connection, userId uuid.UUID) error { |
| 437 | if err := tx.RawQuery("DELETE FROM "+(&pop.Model{Value: Factor{}}).TableName()+" WHERE user_id = ?", userId).Exec(); err != nil { |