Priority/backend.old/users.go

136 lines
3.3 KiB
Go
Raw Normal View History

2023-12-05 13:48:13 +01:00
package main
2023-12-06 11:00:38 +01:00
// type User struct {
// Dbid string `json:"dbid"`
// Id string `json:"id"`
// Username string `json:"username"`
// Password string `json:"password"`
// Email string `json:"email"`
// Group string `json:"group"`
// Enabled bool `json:"enabled"`
// }
2023-12-05 13:48:13 +01:00
///////////////// Users
// func (w *Webapp) GetUsers(c *gin.Context) {
// var cursor uint64
// var users []string
// cursor = 0
// log.Printf("start scanning %+v", c.ClientIP())
// for {
// var keys []string
// var err error
// keys, cursor, err = w.DB.Redis.Scan(w.DB.Ctx, cursor, "user:*", 10).Result()
// if err != nil {
// panic(err)
// }
// log.Printf("scan: %+v", keys)
// users = append(users, keys...)
// if cursor == 0 {
// break
// }
// }
// var retval []User
// for u := range users {
// usr := User{}
// hmget := w.DB.Redis.HMGet(w.DB.Ctx, users[u], "username", "email", "group", "enabled")
// hmget.Scan(&usr)
// log.Printf("user: %+v", usr)
// retval = append(retval, usr)
// }
// slices.SortFunc(retval,
// func(a, b User) int {
// return cmp.Compare(a.Username, b.Username)
// })
// c.JSON(http.StatusOK, retval)
// }
// func (w *Webapp) UpdateUser(c *gin.Context) {
// var user User
// if err := c.ShouldBind(&user); err != nil {
// log.Printf("req error: %+v", err)
// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
// return
// }
// user.Dbid = CalcId(user.Username, 8)
// ret := w.DB.Redis.HExists(w.DB.Ctx, "user:"+user.Dbid, "username").Val()
// if !ret {
// log.Printf("Exists: %+v", ret)
// err := w.DB.Redis.HSet(w.DB.Ctx, "user:"+user.Dbid, user).Err()
// if err != nil {
// log.Printf("set error: %+v", err)
// }
// } else {
// err := w.DB.Redis.HSet(w.DB.Ctx, "user:"+user.Dbid, "email", user.Email, "group", user.Group, "enabled", user.Enabled).Err()
// if err != nil {
// log.Printf("set error: %+v", err)
// }
// }
// log.Printf("new: %+v", user)
// c.JSON(http.StatusOK, gin.H{"status": "added"})
// }
// // func UpdateUser(c *gin.Context) {
// // var user common.User
// // if err := c.ShouldBind(&user); err != nil {
// // c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
// // return
// // }
// // id := common.Id(user.Username, 8)
// // if err := db.Db.Redis.HSet(db.Db.Ctx, "user:"+id, "email", user.Email, "group", user.Group, "enabled", user.Enabled).Err(); err != nil {
// // log.Fatalf("set error: %+v", err)
// // }
// // log.Printf("update: %+v", user)
// // c.JSON(http.StatusOK, gin.H{"status": "updated"})
// // }
// func (w *Webapp) DeleteUser(c *gin.Context) {
// var user User
// if err := c.ShouldBind(&user); err != nil {
// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
// return
// }
// id := CalcId(user.Username, 8)
// log.Printf("deleting: %+v", "user:"+id)
// res, err := w.DB.Redis.HGetAll(w.DB.Ctx, "user:"+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)
// if err := w.DB.Redis.Del(w.DB.Ctx, "user:"+id).Err(); err != nil {
// log.Printf("del error: %+v", err)
// }
// log.Printf("del: %+v", user)
// c.JSON(http.StatusOK, gin.H{"status": "deleted"})
// }