func (repo *CassandraChatRepo) GetUserPerfectMatch(rpf types.PerfectNumber) (types.PerfectNumber, error) { // get match for user by id var perfectNumber types.PerfectNumber var user_id string var err error err = nil sql := fmt.Sprintf(`SELECT user_id, perfect_number FROM perfect_numbers WHERE perfect_number < %v LIMIT 1 ALLOW FILTERING`, rpf.PerfectNumber) log.Printf(sql) if err = session.Query(sql).Scan(&user_id, &perfectNumber.PerfectNumber); err != nil { log.Printf(fmt.Sprintf("CassandraChatRepo.GetUserPerfectMatch() - Error: %v", err.Error())) sql := fmt.Sprintf("SELECT user_id, perfect_number FROM perfect_numbers LIMIT 1") log.Printf(sql) if err = session.Query(sql).Scan(&user_id, &perfectNumber.PerfectNumber); err != nil { log.Printf(fmt.Sprintf("CassandraChatRepo.GetUserPerfectMatch() - Error: %v", err.Error())) } else { if user_id != rpf.UserId.String() { perfectNumber.UserId = uuid.Parse(user_id) } else { err = errors.New("not found") } } } else { perfectNumber.UserId = uuid.Parse(user_id) } return perfectNumber, err }
func (repo *CassandraChatRepo) GetUserPerfectNumber(userId string) (types.PerfectNumber, error) { // get match for user by id log.Printf(fmt.Sprintf("CassandraChatRepo.GetUserPerfectNumber() - Received userId: %v", userId)) var perfectNumber types.PerfectNumber var user_id string var err error err = nil sql := fmt.Sprintf(`SELECT user_id, perfect_number FROM perfect_numbers WHERE user_id = %v LIMIT 1`, userId) log.Printf(sql) if err = session.Query(sql).Scan(&user_id, &perfectNumber.PerfectNumber); err != nil { log.Printf(fmt.Sprintf("CassandraChatRepo.GetUserPerfectNumber() - Error: %v", err.Error())) } else { perfectNumber.UserId = uuid.Parse(user_id) } return perfectNumber, err }