github.com/diadata-org/diadata@v1.4.593/pkg/model/symbols.go (about) 1 package models 2 3 import ( 4 "strings" 5 6 "github.com/diadata-org/diadata/pkg/dia" 7 ) 8 9 func (datastore *DB) GetSymbols(exchange string) ([]string, error) { 10 var result []string 11 var cursor uint64 12 key := "dia_" + dia.FilterKing + "_" 13 for { 14 var keys []string 15 var err error 16 keys, cursor, err = datastore.redisClient.Scan(cursor, key+"*", 10).Result() 17 if err != nil { 18 log.Error("GetPairs err", err) 19 return result, err 20 } 21 for _, value := range keys { 22 23 filteredKey := strings.Replace(strings.Replace(value, key, "", 1), "_ZSET", "", 1) 24 s := strings.Split(strings.Replace(filteredKey, key, "", 1), "_") 25 if exchange == "" { 26 if len(s) == 1 { 27 result = append(result, s[0]) 28 } 29 } else { 30 if s[1] == exchange { 31 result = append(result, s[0]) 32 } 33 } 34 } 35 if cursor == 0 { 36 log.Debugf("GetSymbols %v returns %v", key, result) 37 return result, nil 38 } 39 } 40 }