version.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package serializer
  2. import (
  3. "dsbqj-admin/model/mongo/version"
  4. "strings"
  5. )
  6. type Version struct {
  7. Version string `json:"version"`
  8. EnvVersion string `json:"envVersion"`
  9. Name string `json:"name"`
  10. CDN string `json:"cdn"`
  11. Url string `json:"url"`
  12. }
  13. func BuildVersion(version *version.Version) *Version {
  14. var res *Version
  15. if version != nil {
  16. res = &Version{
  17. Version: version.Version,
  18. EnvVersion: normalizeEnvVersion(version.EnvVersion),
  19. Name: version.Name,
  20. CDN: version.CDN,
  21. Url: version.Url,
  22. }
  23. }
  24. return res
  25. }
  26. func normalizeEnvVersion(envVersion string) string {
  27. if strings.EqualFold(strings.TrimSpace(envVersion), "trial") {
  28. return "trial"
  29. }
  30. return "release"
  31. }
  32. type Versions map[string]interface{}
  33. func BuildVersions(versions []*version.Version) map[string]interface{} {
  34. var res Versions = make(map[string]interface{})
  35. var servers = make([]*Version, 0)
  36. for _, v := range versions {
  37. if v.Default {
  38. res[v.Version] = BuildVersion(v)
  39. }
  40. servers = append(servers, BuildVersion(v))
  41. }
  42. res["servers"] = servers
  43. return res
  44. }