api_user_watch_list.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package route
  2. import (
  3. "opennamu/route/tool"
  4. )
  5. func Api_user_watch_list(config tool.Config, name string, num_str string, do_type string) map[string]any {
  6. db := tool.DB_connect()
  7. defer tool.DB_close(db)
  8. page := tool.Str_to_int(num_str)
  9. num := 0
  10. if page * 50 > 0 {
  11. num = page * 50 - 50
  12. }
  13. ip := config.IP
  14. return_data := make(map[string]any)
  15. if ip != name && !tool.Check_acl(db, "", "", "view_user_watchlist", ip) {
  16. return_data["response"] = "require auth"
  17. return_data["data"] = []string{}
  18. } else {
  19. query := ""
  20. if do_type == "star_doc" {
  21. query = "select data from user_set where name = 'star_doc' and id = ? limit ?, 50"
  22. } else {
  23. query = "select data from user_set where name = 'watchlist' and id = ? limit ?, 50"
  24. }
  25. rows := tool.Query_DB(
  26. db,
  27. query,
  28. name, num,
  29. )
  30. defer rows.Close()
  31. data_list := []string{}
  32. for rows.Next() {
  33. var title_data string
  34. err := rows.Scan(&title_data)
  35. if err != nil {
  36. panic(err)
  37. }
  38. data_list = append(data_list, title_data)
  39. }
  40. return_data["response"] = "ok"
  41. return_data["data"] = data_list
  42. }
  43. return return_data
  44. }