addressBook.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package admin
  2. import (
  3. "Gwen/model"
  4. "encoding/json"
  5. )
  6. type AddressBookForm struct {
  7. RowId uint `json:"row_id"`
  8. Id string `json:"id" validate:"required"`
  9. Username string `json:"username" `
  10. Password string `json:"password" `
  11. Hostname string `json:"hostname" `
  12. Alias string `json:"alias" `
  13. Platform string `json:"platform" `
  14. Tags []string `json:"tags"`
  15. Hash string `json:"hash"`
  16. UserId uint `json:"user_id"`
  17. UserIds []uint `json:"user_ids"`
  18. ForceAlwaysRelay bool `json:"forceAlwaysRelay"`
  19. RdpPort string `json:"rdpPort"`
  20. RdpUsername string `json:"rdpUsername"`
  21. Online bool `json:"online"`
  22. LoginName string `json:"loginName" `
  23. SameServer bool `json:"sameServer"`
  24. }
  25. func (a AddressBookForm) ToAddressBook() *model.AddressBook {
  26. //tags转换
  27. tags, _ := json.Marshal(a.Tags)
  28. return &model.AddressBook{
  29. RowId: a.RowId,
  30. Id: a.Id,
  31. Username: a.Username,
  32. Password: a.Password,
  33. Hostname: a.Hostname,
  34. Alias: a.Alias,
  35. Platform: a.Platform,
  36. Tags: tags,
  37. Hash: a.Hash,
  38. UserId: a.UserId,
  39. ForceAlwaysRelay: a.ForceAlwaysRelay,
  40. RdpPort: a.RdpPort,
  41. RdpUsername: a.RdpUsername,
  42. Online: a.Online,
  43. LoginName: a.LoginName,
  44. SameServer: a.SameServer,
  45. }
  46. }
  47. func (a AddressBookForm) ToAddressBooks() []*model.AddressBook {
  48. //tags转换
  49. tags, _ := json.Marshal(a.Tags)
  50. abs := make([]*model.AddressBook, 0, len(a.UserIds))
  51. for _, userId := range a.UserIds {
  52. abs = append(abs, &model.AddressBook{
  53. RowId: a.RowId,
  54. Id: a.Id,
  55. Username: a.Username,
  56. Password: a.Password,
  57. Hostname: a.Hostname,
  58. Alias: a.Alias,
  59. Platform: a.Platform,
  60. Tags: tags,
  61. Hash: a.Hash,
  62. UserId: userId,
  63. ForceAlwaysRelay: a.ForceAlwaysRelay,
  64. RdpPort: a.RdpPort,
  65. RdpUsername: a.RdpUsername,
  66. Online: a.Online,
  67. LoginName: a.LoginName,
  68. SameServer: a.SameServer,
  69. })
  70. }
  71. return abs
  72. }
  73. type AddressBookQuery struct {
  74. UserId int `form:"user_id"`
  75. IsMy int `form:"is_my"`
  76. Username string `form:"username"`
  77. Hostname string `form:"hostname"`
  78. Id string `form:"id"`
  79. PageQuery
  80. }