version.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package service
  2. import (
  3. "context"
  4. "dsbqj-admin/app/task"
  5. "dsbqj-admin/model/mongo/version"
  6. "github.com/kamva/mgm/v3"
  7. "go.mongodb.org/mongo-driver/bson"
  8. )
  9. type VersionReloadService struct {
  10. }
  11. func (service *VersionReloadService) Reload() error {
  12. task.VersionTask.Reload()
  13. return nil
  14. }
  15. type VersionServerService struct {
  16. }
  17. func (service *VersionServerService) Servers() ([]*version.Version, error) {
  18. return task.VersionTask.Servers(), nil
  19. }
  20. type VersionCheckService struct {
  21. Version string `json:"version" binding:"required"`
  22. }
  23. func (service *VersionCheckService) Check() (*version.Version, error) {
  24. return task.VersionTask.Check(service.Version), nil
  25. }
  26. type VersionShowService struct {
  27. CondPage
  28. }
  29. func (service *VersionShowService) List() ([]version.Version, error) {
  30. versions := make([]version.Version, 0)
  31. err := mgm.Coll(&version.Version{}).SimpleFind(&versions, bson.M{})
  32. return versions, err
  33. }
  34. type VersionCreateService struct {
  35. Version string `json:"version" binding:"required"`
  36. Name string `json:"name" binding:"required"`
  37. CDN string `json:"cdn" binding:"required"`
  38. Url string `json:"url" binding:"required"`
  39. }
  40. func (service *VersionCreateService) Create() error {
  41. version := new(version.Version)
  42. version.Name = service.Name
  43. version.Version = service.Version
  44. version.CDN = service.CDN
  45. version.Url = service.Url
  46. return mgm.Coll(version).Create(version)
  47. }
  48. type VersionEditService struct {
  49. Version string `json:"version" binding:"required"`
  50. Name *string `json:"name"`
  51. CDN *string `json:"cdn"`
  52. Url *string `json:"url"`
  53. Default *bool `json:"default"`
  54. }
  55. func (service *VersionEditService) Edit() error {
  56. version := new(version.Version)
  57. filterDoc := bson.M{"version": service.Version}
  58. updateDoc := bson.M{}
  59. version.Version = service.Version
  60. if service.CDN != nil {
  61. updateDoc["cdn"] = service.CDN
  62. }
  63. if service.Url != nil {
  64. updateDoc["url"] = service.Url
  65. }
  66. if service.Default != nil {
  67. updateDoc["default"] = service.Default
  68. }
  69. _, err := mgm.Coll(version).UpdateOne(context.Background(), filterDoc, bson.M{"$set": updateDoc})
  70. return err
  71. }
  72. type VersionDeleteService struct {
  73. Version string `json:"version" binding:"required"`
  74. }
  75. func (service *VersionDeleteService) Delete() error {
  76. version := new(version.Version)
  77. filterDoc := bson.M{"version": service.Version}
  78. _, err := mgm.Coll(version).DeleteOne(context.Background(), filterDoc)
  79. return err
  80. }