api_w_raw.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package route
  2. import (
  3. "database/sql"
  4. "log"
  5. "opennamu/route/tool"
  6. jsoniter "github.com/json-iterator/go"
  7. )
  8. func Api_w_raw(call_arg []string) string {
  9. var json = jsoniter.ConfigCompatibleWithStandardLibrary
  10. other_set := map[string]string{}
  11. json.Unmarshal([]byte(call_arg[0]), &other_set)
  12. db := tool.DB_connect()
  13. defer db.Close()
  14. if other_set["exist_check"] != "" {
  15. stmt, err := db.Prepare(tool.DB_change("select title from data where title = ?"))
  16. if err != nil {
  17. log.Fatal(err)
  18. }
  19. defer stmt.Close()
  20. new_data := map[string]string{}
  21. var title string
  22. err = stmt.QueryRow(other_set["name"]).Scan(&title)
  23. if err != nil {
  24. if err == sql.ErrNoRows {
  25. } else {
  26. log.Fatal(err)
  27. }
  28. } else {
  29. new_data["exist"] = "1"
  30. }
  31. json_data, _ := json.Marshal(new_data)
  32. return string(json_data)
  33. } else {
  34. new_data := map[string]string{}
  35. var data string
  36. if other_set["rev"] != "" {
  37. stmt, err := db.Prepare(tool.DB_change("select data from history where title = ? and id = ?"))
  38. if err != nil {
  39. log.Fatal(err)
  40. }
  41. defer stmt.Close()
  42. err = stmt.QueryRow(other_set["name"], other_set["rev"]).Scan(&data)
  43. if err != nil {
  44. if err == sql.ErrNoRows {
  45. } else {
  46. log.Fatal(err)
  47. }
  48. } else {
  49. new_data["title"] = other_set["name"]
  50. new_data["data"] = data
  51. }
  52. json_data, _ := json.Marshal(new_data)
  53. return string(json_data)
  54. } else {
  55. stmt, err := db.Prepare(tool.DB_change("select data from data where title = ?"))
  56. if err != nil {
  57. log.Fatal(err)
  58. }
  59. defer stmt.Close()
  60. err = stmt.QueryRow(other_set["name"]).Scan(&data)
  61. if err != nil {
  62. if err == sql.ErrNoRows {
  63. } else {
  64. log.Fatal(err)
  65. }
  66. } else {
  67. new_data["title"] = other_set["name"]
  68. new_data["data"] = data
  69. }
  70. json_data, _ := json.Marshal(new_data)
  71. return string(json_data)
  72. }
  73. }
  74. }