| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package route
- import (
- "opennamu/route/tool"
- )
- func Api_w_watch_list(config tool.Config, name string, num_str string, do_type string) map[string]any {
- db := tool.DB_connect()
- defer tool.DB_close(db)
- page := tool.Str_to_int(num_str)
- num := 0
- if page * 50 > 0 {
- num = page * 50 - 50
- }
- return_data := make(map[string]any)
- if !tool.Check_acl(db, "", "", "doc_watch_list_view", config.IP) {
- return_data["response"] = "require auth"
- return_data["data"] = []string{}
- } else {
- query := ""
- if do_type == "star_doc" {
- query = "select id from user_set where name = 'star_doc' and data = ? limit ?, 50"
- } else {
- query = "select id from user_set where name = 'watchlist' and data = ? limit ?, 50"
- }
- rows := tool.Query_DB(
- db,
- query,
- name,
- num,
- )
- defer rows.Close()
- data_list := [][]string{}
- ip_parser_temp := map[string][]string{}
- for rows.Next() {
- var user_name string
- err := rows.Scan(&user_name)
- if err != nil {
- panic(err)
- }
- var ip_pre string
- var ip_render string
- if _, ok := ip_parser_temp[user_name]; ok {
- ip_pre = ip_parser_temp[user_name][0]
- ip_render = ip_parser_temp[user_name][1]
- } else {
- ip_pre = tool.IP_preprocess(db, user_name, config.IP)[0]
- ip_render = tool.IP_parser(db, user_name, config.IP)
- ip_parser_temp[user_name] = []string{ip_pre, ip_render}
- }
- data_list = append(data_list, []string{ip_pre, ip_render})
- }
- return_data["response"] = "ok"
- return_data["data"] = data_list
- }
- return return_data
- }
|