meetme.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package model
  2. import (
  3. "crm-api/pkg/utils"
  4. "encoding/json"
  5. )
  6. type MeetMeListRooms struct {
  7. Activity string `json:"activity"`
  8. Conference string `json:"conference"`
  9. Creation string `json:"creation"`
  10. Event string `json:"event"`
  11. Locked string `json:"locked"`
  12. Marked string `json:"marked"`
  13. Parties string `json:"parties"`
  14. }
  15. type MeetmeList struct {
  16. Admin string `json:"admin"`
  17. CallerIDName string `json:"callerIDName"`
  18. CallerIDNum string `json:"callerIDNumber"`
  19. Channel string `json:"channel"`
  20. Conference string `json:"conference"`
  21. ConnectedLineName string `json:"connectedLineName"`
  22. ConnectedLineNum string `json:"connectedLineNumber"`
  23. Event string `json:"event"`
  24. MarkedUser string `json:"markedUser"`
  25. Muted string `json:"muted"`
  26. Role string `json:"role"`
  27. Talking string `json:"talking"`
  28. UserNumber string `json:"user"`
  29. }
  30. func (data *MeetmeList) MarshalJSON() ([]byte, error) {
  31. type Alias MeetmeList
  32. muted := utils.YesToOn(data.Muted)
  33. talking := utils.YesToOn(data.Talking)
  34. return json.Marshal(&struct {
  35. Talking string `json:"talking"`
  36. Muted string `json:"muted"`
  37. *Alias
  38. }{
  39. Muted: muted,
  40. Talking: talking,
  41. Alias: (*Alias)(data),
  42. })
  43. }
  44. type MeetmeEnd struct {
  45. Event string `json:"event"`
  46. Meetme string `json:"meetme"`
  47. Timestamp string `json:"timestamp"`
  48. }
  49. type Meetme struct {
  50. CallerIDName string `json:"callerIDName"`
  51. CallerIDNum string `json:"callerIDNumber"`
  52. Channel string `json:"channel"`
  53. ChannelState string `json:"channelState"`
  54. ConnectedLineName string `json:"connectedLineName"`
  55. ConnectedLineNum string `json:"connectedLineNumber"`
  56. Duration string `json:"duration"`
  57. Context string `json:"context"`
  58. Event string `json:"event"`
  59. Exten string `json:"exten"`
  60. Meetme string `json:"meetme"`
  61. Priority string `json:"priority"`
  62. Privilege string `json:"privilege"`
  63. Timestamp string `json:"timestamp"`
  64. User string `json:"user"`
  65. Status string `json:"status"`
  66. }
  67. type MeetmeJoin Meetme
  68. type MeetmeLeave Meetme
  69. type MeetmeMute Meetme
  70. type MeetmeTalkRequest Meetme
  71. type MeetmeTalking Meetme