application.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package main
  2. import (
  3. "bufio"
  4. "errors"
  5. "fmt"
  6. "sparrow/pkg/models"
  7. "os"
  8. "strings"
  9. "sparrow/pkg/server"
  10. )
  11. func addApplication() error {
  12. args := models.Application{}
  13. reader := bufio.NewReader(os.Stdin)
  14. fmt.Printf("application name: ")
  15. name, err := reader.ReadString('\n')
  16. if err != nil {
  17. return err
  18. }
  19. args.AppName = strings.Replace(name, "\n", "", -1)
  20. fmt.Printf("application description: ")
  21. desc, err := reader.ReadString('\n')
  22. if err != nil {
  23. return err
  24. }
  25. args.AppDescription = strings.Replace(desc, "\n", "", -1)
  26. fmt.Printf("application domain: ")
  27. domain, err := reader.ReadString('\n')
  28. if err != nil {
  29. return err
  30. }
  31. args.AppDomain = strings.Replace(domain, "\n", "", -1)
  32. fmt.Printf("application report url: ")
  33. url, err := reader.ReadString('\n')
  34. if err != nil {
  35. return err
  36. }
  37. args.ReportUrl = strings.Replace(url, "\n", "", -1)
  38. fmt.Printf("application token: ")
  39. token, err := reader.ReadString('\n')
  40. if err != nil {
  41. return err
  42. }
  43. args.AppToken = strings.Replace(token, "\n", "", -1)
  44. reply := &models.Application{}
  45. err = server.RPCCallByName(nil, "registry", "Registry.SaveApplication", &args, reply)
  46. if err != nil {
  47. return err
  48. }
  49. fmt.Println("=======> application created successfully:")
  50. printStruct(reply)
  51. fmt.Println("=======")
  52. return nil
  53. }
  54. func DoApplicationCommand(args []string) error {
  55. if len(args) < 1 {
  56. return errors.New("command arguments not enough!")
  57. }
  58. op := strings.Replace(args[0], "\n", "", -1)
  59. switch op {
  60. case "add":
  61. if len(args) > 1 {
  62. return errors.New("unnecessary command arguments. just type 'application add'")
  63. }
  64. err := addApplication()
  65. if err != nil {
  66. return err
  67. }
  68. default:
  69. return errors.New("operation not suported:" + op)
  70. }
  71. return nil
  72. }