config_mysql.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package utils
  2. import (
  3. "encoding/json"
  4. "os"
  5. )
  6. type ConfigMySql struct {
  7. Host string
  8. Port string
  9. Name string
  10. User string
  11. Password string
  12. }
  13. func IsMySqlConfigExists(homedir string) bool {
  14. f, err := os.Open(homedir + "/config/mysql.json")
  15. if err == nil {
  16. defer f.Close()
  17. st, err := os.Stat(homedir + "/config/mysql.json")
  18. if err == nil {
  19. if !st.Mode().IsDir() {
  20. return true
  21. }
  22. }
  23. }
  24. return false
  25. }
  26. func MySqlConfigRead(homedir string) (*ConfigMySql, error) {
  27. f, err := os.Open(homedir + "/config/mysql.json")
  28. if err == nil {
  29. defer f.Close()
  30. dec := json.NewDecoder(f)
  31. conf := ConfigMySql{}
  32. err = dec.Decode(&conf)
  33. if err == nil {
  34. return &conf, err
  35. }
  36. }
  37. return nil, err
  38. }
  39. func MySqlConfigWrite(homedir string, host string, port string, name string, user string, password string) error {
  40. r, err := json.Marshal(&ConfigMySql{
  41. Host: host,
  42. Port: port,
  43. Name: name,
  44. User: user,
  45. Password: password,
  46. })
  47. if err == nil {
  48. f, err := os.Create(homedir + "/config/mysql.json")
  49. if err == nil {
  50. defer f.Close()
  51. _, err = f.WriteString(string(r))
  52. return err
  53. }
  54. }
  55. return err
  56. }