You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.0KB

  1. package main
  2. import (
  3. "encoding/json"
  4. )
  5. type crmdMeetingAttendance struct {
  6. Status string `json:"status,omitempty"`
  7. }
  8. type crmdMeeting struct {
  9. crmdEntityBase
  10. Status string `json:"status,omitempty"`
  11. DateStart string `json:"dateStart,omitempty"`
  12. DateEnd string `json:"dateEnd,omitempty"`
  13. Duration int `json:"duration,omitempty"`
  14. Reminders []struct {
  15. Seconds int `json:"seconds,omitempty"`
  16. Type string `json:"type,omitempty"`
  17. } `json:"reminders,omitempty"`
  18. Venue string `json:"venue,omitempty"`
  19. ParentID string `json:"parentId,omitempty"`
  20. ParentType string `json:"parentType,omitempty"`
  21. ParentName string `json:"parentName,omitempty"`
  22. AccountID string `json:"accountId,omitempty"`
  23. AccountName string `json:"accountName,omitempty"`
  24. //users, attendance
  25. UsersIds []string `json:"usersIds,omitempty"`
  26. UsersNames map[string]string `json:"usersNames,omitempty"`
  27. UsersColumns map[string]crmdMeetingAttendance `json:"usersColumns"`
  28. //contacts, attendance
  29. ContactsIds []string `json:"contactsIds,omitempty"`
  30. ContactsNames map[string]string `json:"contactsNames,omitempty"`
  31. ContactsColumns map[string]crmdMeetingAttendance `json:"contactsColumns,omitempty"`
  32. //lead, attendance
  33. LeadsIds []string `json:"leadsIds,omitempty"`
  34. LeadsNames map[string]string `json:"leadsNames,omitempty"`
  35. LeadsColumns map[string]crmdMeetingAttendance `json:"leadsColumns"`
  36. //cover
  37. CoverID string `json:"coverId,omitempty"`
  38. CoverName string `json:"coverName,omitempty"`
  39. }
  40. func (m crmdMeeting) save() (newMeeting crmdMeeting, err error) {
  41. jsonB, err := json.Marshal(m)
  42. if err != nil {
  43. return
  44. }
  45. if m.ID == "" { //create
  46. entity, e := crmCreateEntity("Meeting", jsonB)
  47. if e != nil {
  48. err = e
  49. return
  50. }
  51. newMeeting = entity.(crmdMeeting)
  52. } else { //patch
  53. entity, e := crmUpdateEntity("Meeting", m.ID, jsonB)
  54. if e != nil {
  55. err = e
  56. return
  57. }
  58. newMeeting = entity.(crmdMeeting)
  59. }
  60. return
  61. }