api_setting_put.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package route
  2. import (
  3. "opennamu/route/tool"
  4. )
  5. func Api_setting_put(config tool.Config) string {
  6. db := tool.DB_connect()
  7. defer tool.DB_close(db)
  8. other_set := map[string]string{}
  9. json.Unmarshal([]byte(config.Other_set), &other_set)
  10. auth_info := tool.Check_acl(db, "", "", "owner_auth", config.IP)
  11. setting_acl := Setting_list()
  12. return_data := make(map[string]any)
  13. if _, ok := setting_acl[other_set["set_name"]]; ok {
  14. if auth_info {
  15. if _, ok := other_set["coverage"]; !ok {
  16. tool.Exec_DB(
  17. db,
  18. "delete from other where name = ?",
  19. other_set["set_name"],
  20. )
  21. }
  22. data_coverage := ""
  23. if val, ok := other_set["coverage"]; ok {
  24. data_coverage = val
  25. }
  26. tool.Exec_DB(
  27. db,
  28. "insert into other (name, data, coverage) values (?, ?, ?)",
  29. other_set["set_name"], other_set["data"], data_coverage,
  30. )
  31. return_data["response"] = "ok"
  32. } else {
  33. return_data["response"] = "require auth"
  34. }
  35. } else {
  36. return_data["response"] = "not exist"
  37. }
  38. json_data, _ := json.Marshal(return_data)
  39. return string(json_data)
  40. }