117 lines
2.7 KiB
Go
117 lines
2.7 KiB
Go
package main
|
|
|
|
// type Surfer struct {
|
|
// Dbid string `json:"dbid"`
|
|
// Id string `json:"id"`
|
|
// Firstname string `json:"firstname"`
|
|
// Lastname string `json:"lastname"`
|
|
// }
|
|
|
|
///////////// Surfers
|
|
|
|
// func (w *Webapp) GetSurfers(c *gin.Context) {
|
|
// var cursor uint64
|
|
|
|
// var surfersKeys []string
|
|
|
|
// cursor = 0
|
|
|
|
// log.Printf("start scanning %+v", c.ClientIP())
|
|
// for {
|
|
// var keys []string
|
|
// var err error
|
|
// log.Printf("scan: cursor = %d", cursor)
|
|
// keys, cursor, err = w.DB.Redis.Scan(w.DB.Ctx, cursor, "surfer:*", 10).Result()
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// log.Printf("ret scan: cursor = %d", cursor)
|
|
|
|
// log.Printf("scan: %+v", keys)
|
|
|
|
// surfersKeys = append(surfersKeys, keys...)
|
|
|
|
// if cursor == 0 {
|
|
// log.Printf("end scan: cursor = %d", cursor)
|
|
// break
|
|
// }
|
|
// }
|
|
|
|
// var surfers []Surfer
|
|
|
|
// for u := range surfersKeys {
|
|
// surf := Surfer{}
|
|
// ret := w.DB.Redis.HMGet(w.DB.Ctx, surfersKeys[u], "firstname", "lastname", "id", "sex", "birthdate", "stance", "hometown")
|
|
|
|
// ret.Scan(&surf)
|
|
// surf.Dbid = strings.Split(surfersKeys[u], ":")[1]
|
|
|
|
// log.Printf("surfer: %+v", surf)
|
|
// surfers = append(surfers, surf)
|
|
// }
|
|
|
|
// slices.SortFunc(surfers,
|
|
// func(a, b Surfer) int {
|
|
// return cmp.Compare(a.Id, b.Id)
|
|
// })
|
|
|
|
// log.Printf("surfers: %+v", surfers)
|
|
|
|
// c.JSON(http.StatusOK, surfers)
|
|
// }
|
|
|
|
// func (w *Webapp) DeleteSurfer(c *gin.Context) {
|
|
// var surfer Surfer
|
|
// var err error
|
|
|
|
// err = c.ShouldBind(&surfer)
|
|
// if err != nil {
|
|
// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
|
// return
|
|
// }
|
|
|
|
// id := CalcId(surfer.Firstname+surfer.Lastname, _MaxLen)
|
|
|
|
// log.Printf("deleting: %+v", "surfer:"+id)
|
|
|
|
// res, err := w.DB.Redis.HGetAll(w.DB.Ctx, "surfer:"+id).Result()
|
|
// if err != nil || len(res) == 0 {
|
|
// log.Printf("del error: %+v", err)
|
|
// c.JSON(http.StatusNotFound, gin.H{"status": "Not Found"})
|
|
// return
|
|
// }
|
|
|
|
// log.Printf("found: %+v", res)
|
|
|
|
// err = w.DB.Redis.Del(w.DB.Ctx, "surfer:"+id).Err()
|
|
// if err != nil {
|
|
// log.Printf("del error: %+v", err)
|
|
// }
|
|
|
|
// log.Printf("del: %+v", surfer)
|
|
|
|
// c.JSON(http.StatusOK, gin.H{"status": "deleted"})
|
|
// }
|
|
|
|
// func (w *Webapp) UpdateSurfer(c *gin.Context) {
|
|
// var surfer Surfer
|
|
// var err error
|
|
|
|
// err = c.ShouldBind(&surfer)
|
|
// if err != nil {
|
|
// log.Printf("req error: %+v", err)
|
|
// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
|
// return
|
|
// }
|
|
|
|
// surfer.Dbid = CalcId(surfer.Firstname+surfer.Lastname, _MaxLen)
|
|
|
|
// err = w.DB.Redis.HSet(w.DB.Ctx, "surfer:"+surfer.Dbid, surfer).Err()
|
|
// if err != nil {
|
|
// log.Printf("set error: %+v", err)
|
|
// }
|
|
|
|
// log.Printf("new: %+v", surfer)
|
|
|
|
// c.JSON(http.StatusOK, gin.H{"status": "added"})
|
|
// }
|