config_mysql.go 1.1 KB

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