잉여개발기 2 years ago
parent
commit
3949d2bb93

+ 1 - 0
app.py

@@ -731,6 +731,7 @@ app.route('/api/v2/recent_block/<set_type>/<int:num>', defaults = { 'db_set' : d
 app.route('/api/v2/recent_block/<set_type>/<int:num>/<user_name>', defaults = { 'db_set' : db_set_str })(api_list_recent_block)
 app.route('/api/v2/list/document/old/<int:num>', defaults = { 'db_set' : db_set_str, 'set_type' : 'old' })(api_list_old_page)
 app.route('/api/v2/list/document/new/<int:num>', defaults = { 'db_set' : db_set_str, 'set_type' : 'new' })(api_list_old_page)
+app.route('/api/v2/list/document/<int:num>', defaults = { 'db_set' : db_set_str })(api_list_title_index)
 
 app.route('/api/v2/topic/<int:num>/<set_type>/<everything:name>', defaults = { 'db_set' : db_set_str })(api_topic_list)
 

+ 1 - 0
route/__init__.py

@@ -187,6 +187,7 @@ from route.go_api_list_recent_discuss import api_list_recent_discuss
 from route.go_api_list_recent_block import api_list_recent_block
 from route.go_api_list_recent_edit_request import api_list_recent_edit_request
 from route.go_api_list_old_page import api_list_old_page
+from route.go_api_list_title_index import api_list_title_index
 
 from route.go_api_bbs import api_bbs
 from route.go_api_bbs_list import api_bbs_list

+ 21 - 0
route/go_api_list_title_index.py

@@ -0,0 +1,21 @@
+from .tool.func import *
+
+def api_list_title_index(db_set, num = 1):
+    other_set = {}
+    other_set["num"] = str(num)
+    other_set = json.dumps(other_set)
+
+    if platform.system() == 'Linux':
+        if platform.machine() in ["AMD64", "x86_64"]:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.amd64.bin"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+        else:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.arm64.bin"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+    else:
+        if platform.machine() in ["AMD64", "x86_64"]:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.amd64.exe"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+        else:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.arm64.exe"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+
+    data = data.decode('utf8')
+
+    return flask.Response(response = data, status = 200, mimetype = 'application/json')

+ 0 - 0
route/n_user_setting_editor.py


BIN
route_go/bin/main.amd64.exe


+ 6 - 0
route_go/main.go

@@ -63,6 +63,12 @@ func main() {
 		route_data = route.Api_w_set_reset(call_arg[1:])
 	} else if call_arg[0] == "api_list_recent_block" {
 		route_data = route.Api_list_recent_block(call_arg[1:])
+	} else if call_arg[0] == "api_list_title_index" {
+		route_data = route.Api_list_title_index(call_arg[1:])
+	} else if call_arg[0] == "api_user_setting_editor_insert" {
+		route_data = route.Api_user_setting_editor_insert(call_arg[1:])
+	} else if call_arg[0] == "api_user_setting_editor_delete" {
+		route_data = route.Api_user_setting_editor_delete(call_arg[1:])
 	} else {
 		log.Fatal("404")
 	}

+ 66 - 0
route_go/route/api_list_title_index.go

@@ -0,0 +1,66 @@
+package route
+
+import (
+	"encoding/json"
+	"log"
+	"opennamu/route/tool"
+	"strconv"
+)
+
+func Api_list_title_index(call_arg []string) string {
+	db_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[0]), &db_set)
+
+	other_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[1]), &other_set)
+
+	db := tool.DB_connect(db_set)
+	defer db.Close()
+
+	page_int, err := strconv.Atoi(other_set["num"])
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	if page_int > 0 {
+		page_int = (page_int * 50) - 50
+	} else {
+		page_int = 0
+	}
+
+	stmt, err := db.Prepare(tool.DB_change(db_set, "select title from data limit ?, 50"))
+	if err != nil {
+		log.Fatal(err)
+	}
+	defer stmt.Close()
+
+	rows, err := stmt.Query(page_int)
+	if err != nil {
+		log.Fatal(err)
+	}
+	defer rows.Close()
+
+	var data_list []string
+
+	for rows.Next() {
+		var title string
+
+		err := rows.Scan(&title)
+		if err != nil {
+			log.Fatal(err)
+		}
+
+		data_list = append(data_list, title)
+	}
+
+	return_data := make(map[string]interface{})
+
+	if len(data_list) == 0 {
+		return_data["data"] = map[string]string{}
+	} else {
+		return_data["data"] = data_list
+	}
+
+	json_data, _ := json.Marshal(return_data)
+	return string(json_data)
+}

+ 50 - 0
route_go/route/api_user_setting_editor_delele.go

@@ -0,0 +1,50 @@
+package route
+
+import (
+	"encoding/json"
+	"log"
+	"opennamu/route/tool"
+)
+
+func Api_user_setting_editor_delete(call_arg []string) string {
+	db_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[0]), &db_set)
+
+	other_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[1]), &other_set)
+
+	db := tool.DB_connect(db_set)
+	defer db.Close()
+
+	ip := other_set["ip"]
+	if !tool.IP_or_user(ip) {
+		stmt, err := db.Prepare(tool.DB_change(db_set, "delete from user_set where id = ? and user_editor_top = ?"))
+		if err != nil {
+			log.Fatal(err)
+		}
+		defer stmt.Close()
+
+		_, err = stmt.Exec(ip, other_set["data"])
+		if err != nil {
+			log.Fatal(err)
+		}
+
+		return_data := make(map[string]interface{})
+		return_data["response"] = "ok"
+		return_data["language"] = map[string]string{
+			"delete": tool.Get_language(db, db_set, "delete", false),
+		}
+
+		json_data, _ := json.Marshal(return_data)
+		return string(json_data)
+	} else {
+		return_data := make(map[string]interface{})
+		return_data["response"] = "require auth"
+		return_data["language"] = map[string]string{
+			"authority_error": tool.Get_language(db, db_set, "authority_error", false),
+		}
+
+		json_data, _ := json.Marshal(return_data)
+		return string(json_data)
+	}
+}

+ 50 - 0
route_go/route/api_user_setting_editor_insert.go

@@ -0,0 +1,50 @@
+package route
+
+import (
+	"encoding/json"
+	"log"
+	"opennamu/route/tool"
+)
+
+func Api_user_setting_editor_insert(call_arg []string) string {
+	db_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[0]), &db_set)
+
+	other_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[1]), &other_set)
+
+	db := tool.DB_connect(db_set)
+	defer db.Close()
+
+	ip := other_set["ip"]
+	if !tool.IP_or_user(ip) {
+		stmt, err := db.Prepare(tool.DB_change(db_set, "insert into user_set (id, name, data) values (?, 'user_editor_top', ?)"))
+		if err != nil {
+			log.Fatal(err)
+		}
+		defer stmt.Close()
+
+		_, err = stmt.Exec(ip, other_set["data"])
+		if err != nil {
+			log.Fatal(err)
+		}
+
+		return_data := make(map[string]interface{})
+		return_data["response"] = "ok"
+		return_data["language"] = map[string]string{
+			"save": tool.Get_language(db, db_set, "save", false),
+		}
+
+		json_data, _ := json.Marshal(return_data)
+		return string(json_data)
+	} else {
+		return_data := make(map[string]interface{})
+		return_data["response"] = "require auth"
+		return_data["language"] = map[string]string{
+			"authority_error": tool.Get_language(db, db_set, "authority_error", false),
+		}
+
+		json_data, _ := json.Marshal(return_data)
+		return string(json_data)
+	}
+}