peer.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package api
  2. import "github.com/lejianwen/rustdesk-api/model"
  3. type AddressBookFormData struct {
  4. Tags []string `json:"tags"`
  5. Peers []*model.AddressBook `json:"peers"`
  6. TagColors string `json:"tag_colors"`
  7. }
  8. type AddressBookForm struct {
  9. Data string `json:"data" example:"{\"tags\":[\"tag1\",\"tag2\",\"tag3\"],\"peers\":[{\"id\":\"abc\",\"username\":\"abv-l\",\"hostname\":\"\",\"platform\":\"Windows\",\"alias\":\"\",\"tags\":[\"tag1\",\"tag2\"],\"hash\":\"hash\"}],\"tag_colors\":\"{\\\"tag1\\\":4288585374,\\\"tag2\\\":4278238420,\\\"tag3\\\":4291681337}\"}"`
  10. }
  11. type PeerForm struct {
  12. Cpu string `json:"cpu"`
  13. Hostname string `json:"hostname"`
  14. Id string `json:"id"`
  15. Memory string `json:"memory"`
  16. Os string `json:"os"`
  17. Username string `json:"username"`
  18. Uuid string `json:"uuid"`
  19. Version string `json:"version"`
  20. }
  21. func (pf *PeerForm) ToPeer() *model.Peer {
  22. return &model.Peer{
  23. Cpu: pf.Cpu,
  24. Hostname: pf.Hostname,
  25. Id: pf.Id,
  26. Memory: pf.Memory,
  27. Os: pf.Os,
  28. Username: pf.Username,
  29. Uuid: pf.Uuid,
  30. Version: pf.Version,
  31. }
  32. }
  33. // PersonalAddressBookForm 个人地址簿表单
  34. type PersonalAddressBookForm struct {
  35. model.AddressBook
  36. ForceAlwaysRelay string `json:"forceAlwaysRelay"`
  37. }
  38. func (pabf *PersonalAddressBookForm) ToAddressBook() *model.AddressBook {
  39. return &model.AddressBook{
  40. RowId: pabf.RowId,
  41. Id: pabf.Id,
  42. Username: pabf.Username,
  43. Password: pabf.Password,
  44. Hostname: pabf.Hostname,
  45. Alias: pabf.Alias,
  46. Platform: pabf.Platform,
  47. Tags: pabf.Tags,
  48. Hash: pabf.Hash,
  49. UserId: pabf.UserId,
  50. ForceAlwaysRelay: pabf.ForceAlwaysRelay == "true",
  51. RdpPort: pabf.RdpPort,
  52. RdpUsername: pabf.RdpUsername,
  53. Online: pabf.Online,
  54. LoginName: pabf.LoginName,
  55. SameServer: pabf.SameServer,
  56. }
  57. }
  58. type TagRenameForm struct {
  59. Old string `json:"old"`
  60. New string `json:"new"`
  61. }
  62. type TagColorForm struct {
  63. Name string `json:"name"`
  64. Color uint `json:"color"`
  65. }
  66. type PeerInfoInHeartbeat struct {
  67. Id string `json:"id"`
  68. Uuid string `json:"uuid"`
  69. Ver int `json:"ver"`
  70. }