@vendasta/meetings 0.73.1 → 0.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_internal/enums/dayofweek.enum.mjs +18 -0
  3. package/esm2020/lib/_internal/enums/index.mjs +11 -0
  4. package/esm2020/lib/_internal/enums/meeting-source.enum.mjs +20 -0
  5. package/esm2020/lib/_internal/enums/shared.enum.mjs +21 -0
  6. package/{esm2015/lib/_internal/enums/zoom.enum.js → esm2020/lib/_internal/enums/zoom.enum.mjs} +1 -1
  7. package/esm2020/lib/_internal/google-meet.api.service.mjs +41 -0
  8. package/esm2020/lib/_internal/index.mjs +15 -0
  9. package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
  10. package/esm2020/lib/_internal/interfaces/datetime.interface.mjs +8 -0
  11. package/esm2020/lib/_internal/interfaces/dayofweek.interface.mjs +8 -0
  12. package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
  13. package/esm2020/lib/_internal/interfaces/google-meet.interface.mjs +8 -0
  14. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  15. package/esm2020/lib/_internal/interfaces/meeting-guest.interface.mjs +2 -0
  16. package/esm2020/lib/_internal/interfaces/meeting-host.interface.mjs +2 -0
  17. package/esm2020/lib/_internal/interfaces/meeting-source.interface.mjs +8 -0
  18. package/esm2020/lib/_internal/interfaces/meeting-type.interface.mjs +8 -0
  19. package/esm2020/lib/_internal/interfaces/shared.interface.mjs +2 -0
  20. package/esm2020/lib/_internal/interfaces/timeofday.interface.mjs +8 -0
  21. package/esm2020/lib/_internal/interfaces/zoom.interface.mjs +8 -0
  22. package/esm2020/lib/_internal/meeting-guest.api.service.mjs +84 -0
  23. package/esm2020/lib/_internal/meeting-host.api.service.mjs +170 -0
  24. package/esm2020/lib/_internal/meeting-source-api.api.service.mjs +41 -0
  25. package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
  26. package/esm2020/lib/_internal/objects/datetime.mjs +77 -0
  27. package/esm2020/lib/_internal/objects/dayofweek.mjs +7 -0
  28. package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
  29. package/esm2020/lib/_internal/objects/google-meet.mjs +539 -0
  30. package/esm2020/lib/_internal/objects/index.mjs +18 -0
  31. package/esm2020/lib/_internal/objects/meeting-guest.mjs +511 -0
  32. package/esm2020/lib/_internal/objects/meeting-host.mjs +1485 -0
  33. package/esm2020/lib/_internal/objects/meeting-source.mjs +121 -0
  34. package/esm2020/lib/_internal/objects/meeting-type.mjs +119 -0
  35. package/esm2020/lib/_internal/objects/shared.mjs +426 -0
  36. package/esm2020/lib/_internal/objects/timeofday.mjs +36 -0
  37. package/esm2020/lib/_internal/objects/zoom.mjs +377 -0
  38. package/esm2020/lib/_internal/zoom.api.service.mjs +41 -0
  39. package/esm2020/lib/guest/guest.service.mjs +86 -0
  40. package/esm2020/lib/guest/index.mjs +2 -0
  41. package/esm2020/lib/host/host.service.mjs +308 -0
  42. package/esm2020/lib/host/url.mjs +39 -0
  43. package/esm2020/lib/index.mjs +8 -0
  44. package/esm2020/lib/meetings.service.mjs +168 -0
  45. package/esm2020/lib/shared/availability.mjs +2 -0
  46. package/esm2020/lib/shared/calendar.mjs +29 -0
  47. package/esm2020/lib/shared/duration.mjs +41 -0
  48. package/esm2020/lib/shared/environment.mjs +17 -0
  49. package/esm2020/lib/shared/fieldmask.mjs +6 -0
  50. package/esm2020/lib/shared/host-id.mjs +20 -0
  51. package/esm2020/lib/shared/host-url-map.mjs +2 -0
  52. package/esm2020/lib/shared/host-user.mjs +8 -0
  53. package/esm2020/lib/shared/host.mjs +8 -0
  54. package/esm2020/lib/shared/index.mjs +14 -0
  55. package/esm2020/lib/shared/meeting-type.mjs +60 -0
  56. package/esm2020/lib/shared/meeting.mjs +89 -0
  57. package/esm2020/lib/shared/paged-response.mjs +8 -0
  58. package/esm2020/lib/shared/preferences.mjs +12 -0
  59. package/esm2020/lib/shared/time-span.mjs +7 -0
  60. package/esm2020/public_api.mjs +2 -0
  61. package/esm2020/vendasta-meetings.mjs +5 -0
  62. package/fesm2015/{vendasta-meetings.js → vendasta-meetings.mjs} +487 -519
  63. package/fesm2015/vendasta-meetings.mjs.map +1 -0
  64. package/fesm2020/vendasta-meetings.mjs +5086 -0
  65. package/fesm2020/vendasta-meetings.mjs.map +1 -0
  66. package/lib/_generated/host.service.d.ts +5 -9
  67. package/lib/_internal/google-meet.api.service.d.ts +4 -0
  68. package/lib/_internal/meeting-guest.api.service.d.ts +4 -0
  69. package/lib/_internal/meeting-host.api.service.d.ts +4 -0
  70. package/lib/_internal/meeting-source-api.api.service.d.ts +4 -0
  71. package/lib/_internal/zoom.api.service.d.ts +4 -0
  72. package/lib/guest/guest.service.d.ts +4 -3
  73. package/lib/host/host.service.d.ts +4 -3
  74. package/lib/host/url.d.ts +1 -1
  75. package/lib/meetings.service.d.ts +3 -0
  76. package/lib/shared/environment.d.ts +8 -0
  77. package/lib/shared/meeting-type.d.ts +1 -1
  78. package/package.json +26 -15
  79. package/src/README.md +12 -0
  80. package/vendasta-meetings.d.ts +1 -0
  81. package/bundles/vendasta-meetings.umd.js +0 -5517
  82. package/bundles/vendasta-meetings.umd.js.map +0 -1
  83. package/bundles/vendasta-meetings.umd.min.js +0 -16
  84. package/bundles/vendasta-meetings.umd.min.js.map +0 -1
  85. package/esm2015/lib/_generated/host.service.js +0 -65
  86. package/esm2015/lib/_internal/enums/dayofweek.enum.js +0 -18
  87. package/esm2015/lib/_internal/enums/index.js +0 -11
  88. package/esm2015/lib/_internal/enums/meeting-source.enum.js +0 -20
  89. package/esm2015/lib/_internal/enums/shared.enum.js +0 -21
  90. package/esm2015/lib/_internal/google-meet.api.service.js +0 -42
  91. package/esm2015/lib/_internal/index.js +0 -15
  92. package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
  93. package/esm2015/lib/_internal/interfaces/datetime.interface.js +0 -8
  94. package/esm2015/lib/_internal/interfaces/dayofweek.interface.js +0 -8
  95. package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
  96. package/esm2015/lib/_internal/interfaces/google-meet.interface.js +0 -8
  97. package/esm2015/lib/_internal/interfaces/index.js +0 -2
  98. package/esm2015/lib/_internal/interfaces/meeting-guest.interface.js +0 -2
  99. package/esm2015/lib/_internal/interfaces/meeting-host.interface.js +0 -2
  100. package/esm2015/lib/_internal/interfaces/meeting-source.interface.js +0 -8
  101. package/esm2015/lib/_internal/interfaces/meeting-type.interface.js +0 -8
  102. package/esm2015/lib/_internal/interfaces/shared.interface.js +0 -2
  103. package/esm2015/lib/_internal/interfaces/timeofday.interface.js +0 -8
  104. package/esm2015/lib/_internal/interfaces/zoom.interface.js +0 -8
  105. package/esm2015/lib/_internal/meeting-guest.api.service.js +0 -85
  106. package/esm2015/lib/_internal/meeting-host.api.service.js +0 -171
  107. package/esm2015/lib/_internal/meeting-source-api.api.service.js +0 -42
  108. package/esm2015/lib/_internal/objects/date-range.js +0 -36
  109. package/esm2015/lib/_internal/objects/datetime.js +0 -77
  110. package/esm2015/lib/_internal/objects/dayofweek.js +0 -7
  111. package/esm2015/lib/_internal/objects/field-mask.js +0 -27
  112. package/esm2015/lib/_internal/objects/google-meet.js +0 -539
  113. package/esm2015/lib/_internal/objects/index.js +0 -18
  114. package/esm2015/lib/_internal/objects/meeting-guest.js +0 -511
  115. package/esm2015/lib/_internal/objects/meeting-host.js +0 -1485
  116. package/esm2015/lib/_internal/objects/meeting-source.js +0 -121
  117. package/esm2015/lib/_internal/objects/meeting-type.js +0 -119
  118. package/esm2015/lib/_internal/objects/shared.js +0 -426
  119. package/esm2015/lib/_internal/objects/timeofday.js +0 -36
  120. package/esm2015/lib/_internal/objects/zoom.js +0 -377
  121. package/esm2015/lib/_internal/zoom.api.service.js +0 -42
  122. package/esm2015/lib/guest/guest.service.js +0 -86
  123. package/esm2015/lib/guest/index.js +0 -2
  124. package/esm2015/lib/host/host.service.js +0 -287
  125. package/esm2015/lib/host/url.js +0 -39
  126. package/esm2015/lib/index.js +0 -8
  127. package/esm2015/lib/meetings.service.js +0 -170
  128. package/esm2015/lib/shared/availability.js +0 -2
  129. package/esm2015/lib/shared/calendar.js +0 -29
  130. package/esm2015/lib/shared/duration.js +0 -41
  131. package/esm2015/lib/shared/fieldmask.js +0 -6
  132. package/esm2015/lib/shared/host-id.js +0 -20
  133. package/esm2015/lib/shared/host-url-map.js +0 -2
  134. package/esm2015/lib/shared/host-user.js +0 -8
  135. package/esm2015/lib/shared/host.js +0 -8
  136. package/esm2015/lib/shared/index.js +0 -14
  137. package/esm2015/lib/shared/meeting-type.js +0 -52
  138. package/esm2015/lib/shared/meeting.js +0 -89
  139. package/esm2015/lib/shared/paged-response.js +0 -8
  140. package/esm2015/lib/shared/preferences.js +0 -12
  141. package/esm2015/lib/shared/time-span.js +0 -7
  142. package/esm2015/public_api.js +0 -2
  143. package/esm2015/vendasta-meetings.js +0 -5
  144. package/fesm2015/vendasta-meetings.js.map +0 -1
  145. package/vendasta-meetings.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"vendasta-meetings.umd.js","sources":["../../../meetings_sdk/src/lib/_internal/enums/meeting-source.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/zoom.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/shared.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/dayofweek.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/index.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-source.ts","../../../meetings_sdk/src/lib/_internal/objects/zoom.ts","../../../meetings_sdk/src/lib/_internal/objects/google-meet.ts","../../../meetings_sdk/src/lib/_internal/objects/timeofday.ts","../../../meetings_sdk/src/lib/_internal/objects/datetime.ts","../../../meetings_sdk/src/lib/_internal/objects/shared.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-type.ts","../../../meetings_sdk/src/lib/_internal/objects/date-range.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-guest.ts","../../../meetings_sdk/src/lib/_internal/objects/field-mask.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-host.ts","../../../meetings_sdk/src/lib/_internal/objects/index.ts","../../../meetings_sdk/src/lib/_generated/host.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-source-api.api.service.ts","../../../meetings_sdk/src/lib/_internal/zoom.api.service.ts","../../../meetings_sdk/src/lib/_internal/google-meet.api.service.ts","../../../meetings_sdk/src/lib/meetings.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-guest.api.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-host.api.service.ts","../../../meetings_sdk/src/lib/_internal/index.ts","../../../meetings_sdk/src/lib/shared/time-span.ts","../../../meetings_sdk/src/lib/shared/host.ts","../../../meetings_sdk/src/lib/host/url.ts","../../../meetings_sdk/src/lib/shared/meeting-type.ts","../../../meetings_sdk/src/lib/shared/meeting.ts","../../../meetings_sdk/src/lib/shared/paged-response.ts","../../../meetings_sdk/src/lib/shared/calendar.ts","../../../meetings_sdk/src/lib/shared/preferences.ts","../../../node_modules/tslib/tslib.es6.js","../../../meetings_sdk/src/lib/shared/duration.ts","../../../meetings_sdk/src/lib/shared/fieldmask.ts","../../../meetings_sdk/src/lib/shared/host-id.ts","../../../meetings_sdk/src/lib/shared/host-user.ts","../../../meetings_sdk/src/lib/guest/guest.service.ts","../../../meetings_sdk/src/lib/host/host.service.ts","../../../meetings_sdk/src/vendasta-meetings.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MeetingSource {\n MEETING_SOURCE_INVALID = 0,\n MEETING_SOURCE_ZOOM = 1,\n MEETING_SOURCE_GOOGLE_MEET = 2,\n}\n\nexport enum MeetingSourceStatus {\n MEETING_SOURCE_STATUS_INVALID = 0,\n MEETING_SOURCE_STATUS_CONNECTED = 1,\n MEETING_SOURCE_STATUS_DISCONNECTED = 2,\n MEETING_SOURCE_STATUS_BROKEN = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ZoomApprovalType {\n ZOOM_APPROVAL_TYPE_INVALID = 0,\n ZOOM_APPROVAL_TYPE_ATUO_APPROVE = 1,\n ZOOM_APPROVAL_TYPE_MANUALLY_APPROVE = 2,\n ZOOM_APPROVAL_TYPE_NO_REGISTRATION_REQUIRED = 3,\n}\n\nexport enum ZoomMeetingRecurrenceType {\n ZOOM_MEETING_RECURRENCE_TYPE_INVALID = 0,\n ZOOM_MEETING_RECURRENCE_TYPE_DAILY = 1,\n ZOOM_MEETING_RECURRENCE_TYPE_WEEKLY = 2,\n ZOOM_MEETING_RECURRENCE_TYPE_MONTHLY = 3,\n}\n\nexport enum ZoomMeetingType {\n ZOOM_MEETING_TYPE_INVALID = 0,\n ZOOM_MEETING_TYPE_INSTANT = 1,\n ZOOM_MEETING_TYPE_SCHEDULED = 2,\n ZOOM_MEETING_TYPE_RECURRING_NO_FIXED = 3,\n ZOOM_MEETING_TYPE_RECURRING_FIXED = 8,\n}\n\nexport enum ZoomMonthlyWeek {\n ZOOM_MONTHLY_WEEK_INVALD = 0,\n ZOOM_MONTHLY_WEEK_LAST_WEEK = -1,\n ZOOM_MONTHLY_WEEK_FIRST_WEEK = 1,\n ZOOM_MONTHLY_WEEK_SECOND_WEEK = 2,\n ZOOM_MONTHLY_WEEK_THIRD_WEEK = 3,\n ZOOM_MONTHLY_WEEK_FOURTH_WEEK = 4,\n}\n\nexport enum ZoomMonthlyWeekDay {\n ZOOM_MONTHLY_WEEK_DAY_INVALID = 0,\n ZOOM_MONTHLY_WEEK_DAY_SUNDAY = 1,\n ZOOM_MONTHLY_WEEK_DAY_MONDAY = 2,\n ZOOM_MONTHLY_WEEK_DAY_TUESDAY = 3,\n ZOOM_MONTHLY_WEEK_DAY_WEDNESDAY = 4,\n ZOOM_MONTHLY_WEEK_DAY_THURSDAY = 5,\n ZOOM_MONTHLY_WEEK_DAY_FRIDAY = 6,\n ZOOM_MONTHLY_WEEK_DAY_SATURDAY = 7,\n}\n\nexport enum ZoomRegistrationType {\n ZOOM_REGISTRATION_TYPE_INVALID = 0,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ALL = 1,\n ZOOM_REGISTRATION_TYPE_REGISTER_FOR_EACH = 2,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ONE_OR_MORE = 3,\n}\n\nexport enum ZoomWeeklyDay {\n ZOOM_WEEKLY_DAY_INVALID = 0,\n ZOOM_WEEKLY_DAY_SUNDAY = 1,\n ZOOM_WEEKLY_DAY_MONDAY = 2,\n ZOOM_WEEKLY_DAY_TUESDAY = 3,\n ZOOM_WEEKLY_DAY_WEDNESDAY = 4,\n ZOOM_WEEKLY_DAY_THURSDAY = 5,\n ZOOM_WEEKLY_DAY_FRIDAY = 6,\n ZOOM_WEEKLY_DAY_SATURDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CalendarType {\n CALENDAR_TYPE_INVALID = 0,\n CALENDAR_TYPE_PERSONAL = 1,\n CALENDAR_TYPE_GROUP = 2,\n}\n\nexport enum FormFieldType {\n FORM_FIELD_TYPE_INVALID = 0,\n FORM_FIELD_TYPE_TEXT = 1,\n FORM_FIELD_TYPE_EMAIL = 2,\n FORM_FIELD_TYPE_PHONE_NUMBER = 3,\n FORM_FIELD_TYPE_SELECT = 4,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DayOfWeek {\n DAY_OF_WEEK_UNSPECIFIED = 0,\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n SUNDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n MeetingSource,\n MeetingSourceStatus,\n} from './meeting-source.enum';\nexport {\n ZoomApprovalType,\n ZoomMeetingRecurrenceType,\n ZoomMeetingType,\n ZoomMonthlyWeek,\n ZoomMonthlyWeekDay,\n ZoomRegistrationType,\n ZoomWeeklyDay,\n} from './zoom.enum';\nexport {\n CalendarType,\n FormFieldType,\n} from './shared.enum';\nexport {\n DayOfWeek,\n} from './dayofweek.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class MeetingSourceInfo implements i.MeetingSourceInfoInterface {\n source: e.MeetingSource;\n status: e.MeetingSourceStatus;\n connectDisconnectUrl: string;\n\n static fromProto(proto: any): MeetingSourceInfo {\n let m = new MeetingSourceInfo();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n if (proto.status) {m.status = enumStringToValue<e.MeetingSourceStatus>(e.MeetingSourceStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceInfoInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.connectDisconnectUrl !== 'undefined') {toReturn['connectDisconnectUrl'] = this.connectDisconnectUrl;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListRequest implements i.MeetingSourceListRequestInterface {\n iamUserId: string;\n queriedSources: MeetingSourceQuery[];\n\n static fromProto(proto: any): MeetingSourceListRequest {\n let m = new MeetingSourceListRequest();\n m = Object.assign(m, proto);\n if (proto.queriedSources) {m.queriedSources = proto.queriedSources.map(MeetingSourceQuery.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.queriedSources !== 'undefined' && this.queriedSources !== null) {toReturn['queriedSources'] = 'toApiJson' in this.queriedSources ? (this.queriedSources as any).toApiJson() : this.queriedSources;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListResponse implements i.MeetingSourceListResponseInterface {\n iamUserId: string;\n sourceInfo: MeetingSourceInfo[];\n\n static fromProto(proto: any): MeetingSourceListResponse {\n let m = new MeetingSourceListResponse();\n m = Object.assign(m, proto);\n if (proto.sourceInfo) {m.sourceInfo = proto.sourceInfo.map(MeetingSourceInfo.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.sourceInfo !== 'undefined' && this.sourceInfo !== null) {toReturn['sourceInfo'] = 'toApiJson' in this.sourceInfo ? (this.sourceInfo as any).toApiJson() : this.sourceInfo;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceQuery implements i.MeetingSourceQueryInterface {\n source: e.MeetingSource;\n connectNextUrl: string;\n disconnectNextUrl: string;\n\n static fromProto(proto: any): MeetingSourceQuery {\n let m = new MeetingSourceQuery();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceQueryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.connectNextUrl !== 'undefined') {toReturn['connectNextUrl'] = this.connectNextUrl;}\n if (typeof this.disconnectNextUrl !== 'undefined') {toReturn['disconnectNextUrl'] = this.disconnectNextUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateZoomMeetingRequest implements i.CreateZoomMeetingRequestInterface {\n iamUserId: string;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n password: string;\n agenda: string;\n trackingFields: ZoomMeetingTrackingField[];\n recurrence: ZoomMeetingRecurrence;\n settings: ZoomMeetingSettings;\n\n static fromProto(proto: any): CreateZoomMeetingRequest {\n let m = new CreateZoomMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n return toReturn;\n }\n}\n\nexport class CreateZoomMeetingResponse implements i.CreateZoomMeetingResponseInterface {\n iamUserId: string;\n meetingId: number;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n createdAt: string;\n agenda: string;\n startUrl: string;\n joinUrl: string;\n password: string;\n h323Password: string;\n pmi: number;\n trackingFields: ZoomMeetingTrackingField[];\n occurrences: ZoomOccurrence[];\n settings: ZoomMeetingSettings;\n recurrence: ZoomMeetingRecurrence;\n\n static fromProto(proto: any): CreateZoomMeetingResponse {\n let m = new CreateZoomMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meetingId) {m.meetingId = parseInt(proto.meetingId, 10);}\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.pmi) {m.pmi = parseInt(proto.pmi, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.occurrences) {m.occurrences = proto.occurrences.map(ZoomOccurrence.fromProto);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.createdAt !== 'undefined') {toReturn['createdAt'] = this.createdAt;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.startUrl !== 'undefined') {toReturn['startUrl'] = this.startUrl;}\n if (typeof this.joinUrl !== 'undefined') {toReturn['joinUrl'] = this.joinUrl;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.h323Password !== 'undefined') {toReturn['h323Password'] = this.h323Password;}\n if (typeof this.pmi !== 'undefined') {toReturn['pmi'] = this.pmi;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.occurrences !== 'undefined' && this.occurrences !== null) {toReturn['occurrences'] = 'toApiJson' in this.occurrences ? (this.occurrences as any).toApiJson() : this.occurrences;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingRecurrence implements i.ZoomMeetingRecurrenceInterface {\n type: e.ZoomMeetingRecurrenceType;\n repeatInterval: number;\n weeklyDays: string;\n monthlyDay: number;\n monthlyWeek: e.ZoomMonthlyWeek;\n monthlyWeekDay: e.ZoomMonthlyWeekDay;\n endTimes: number;\n endDateTime: string;\n\n static fromProto(proto: any): ZoomMeetingRecurrence {\n let m = new ZoomMeetingRecurrence();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingRecurrenceType>(e.ZoomMeetingRecurrenceType, proto.type);}\n if (proto.repeatInterval) {m.repeatInterval = parseInt(proto.repeatInterval, 10);}\n if (proto.monthlyDay) {m.monthlyDay = parseInt(proto.monthlyDay, 10);}\n if (proto.monthlyWeek) {m.monthlyWeek = enumStringToValue<e.ZoomMonthlyWeek>(e.ZoomMonthlyWeek, proto.monthlyWeek);}\n if (proto.monthlyWeekDay) {m.monthlyWeekDay = enumStringToValue<e.ZoomMonthlyWeekDay>(e.ZoomMonthlyWeekDay, proto.monthlyWeekDay);}\n if (proto.endTimes) {m.endTimes = parseInt(proto.endTimes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingRecurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.repeatInterval !== 'undefined') {toReturn['repeatInterval'] = this.repeatInterval;}\n if (typeof this.weeklyDays !== 'undefined') {toReturn['weeklyDays'] = this.weeklyDays;}\n if (typeof this.monthlyDay !== 'undefined') {toReturn['monthlyDay'] = this.monthlyDay;}\n if (typeof this.monthlyWeek !== 'undefined') {toReturn['monthlyWeek'] = this.monthlyWeek;}\n if (typeof this.monthlyWeekDay !== 'undefined') {toReturn['monthlyWeekDay'] = this.monthlyWeekDay;}\n if (typeof this.endTimes !== 'undefined') {toReturn['endTimes'] = this.endTimes;}\n if (typeof this.endDateTime !== 'undefined') {toReturn['endDateTime'] = this.endDateTime;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingSettings implements i.ZoomMeetingSettingsInterface {\n hostVideo: boolean;\n participantVideo: boolean;\n cnMeeting: boolean;\n inMeeting: boolean;\n joinBeforeHost: boolean;\n muteUponEntry: boolean;\n watermark: boolean;\n usePmi: boolean;\n approvalType: e.ZoomApprovalType;\n registrationType: e.ZoomRegistrationType;\n audio: string;\n autoRecording: string;\n alternativeHosts: string;\n closeRegistration: boolean;\n waitingRoom: boolean;\n globalDialInCountries: string[];\n contactName: string;\n contactEmail: string;\n registrationEmailNotification: boolean;\n meetingAuthentication: boolean;\n authenticationOptions: string;\n authenticationDomains: string;\n enforceLogin: boolean;\n enforceLoginDomains: string;\n\n static fromProto(proto: any): ZoomMeetingSettings {\n let m = new ZoomMeetingSettings();\n m = Object.assign(m, proto);\n if (proto.approvalType) {m.approvalType = enumStringToValue<e.ZoomApprovalType>(e.ZoomApprovalType, proto.approvalType);}\n if (proto.registrationType) {m.registrationType = enumStringToValue<e.ZoomRegistrationType>(e.ZoomRegistrationType, proto.registrationType);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingSettingsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostVideo !== 'undefined') {toReturn['hostVideo'] = this.hostVideo;}\n if (typeof this.participantVideo !== 'undefined') {toReturn['participantVideo'] = this.participantVideo;}\n if (typeof this.cnMeeting !== 'undefined') {toReturn['cnMeeting'] = this.cnMeeting;}\n if (typeof this.inMeeting !== 'undefined') {toReturn['inMeeting'] = this.inMeeting;}\n if (typeof this.joinBeforeHost !== 'undefined') {toReturn['joinBeforeHost'] = this.joinBeforeHost;}\n if (typeof this.muteUponEntry !== 'undefined') {toReturn['muteUponEntry'] = this.muteUponEntry;}\n if (typeof this.watermark !== 'undefined') {toReturn['watermark'] = this.watermark;}\n if (typeof this.usePmi !== 'undefined') {toReturn['usePmi'] = this.usePmi;}\n if (typeof this.approvalType !== 'undefined') {toReturn['approvalType'] = this.approvalType;}\n if (typeof this.registrationType !== 'undefined') {toReturn['registrationType'] = this.registrationType;}\n if (typeof this.audio !== 'undefined') {toReturn['audio'] = this.audio;}\n if (typeof this.autoRecording !== 'undefined') {toReturn['autoRecording'] = this.autoRecording;}\n if (typeof this.alternativeHosts !== 'undefined') {toReturn['alternativeHosts'] = this.alternativeHosts;}\n if (typeof this.closeRegistration !== 'undefined') {toReturn['closeRegistration'] = this.closeRegistration;}\n if (typeof this.waitingRoom !== 'undefined') {toReturn['waitingRoom'] = this.waitingRoom;}\n if (typeof this.globalDialInCountries !== 'undefined') {toReturn['globalDialInCountries'] = this.globalDialInCountries;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.contactEmail !== 'undefined') {toReturn['contactEmail'] = this.contactEmail;}\n if (typeof this.registrationEmailNotification !== 'undefined') {toReturn['registrationEmailNotification'] = this.registrationEmailNotification;}\n if (typeof this.meetingAuthentication !== 'undefined') {toReturn['meetingAuthentication'] = this.meetingAuthentication;}\n if (typeof this.authenticationOptions !== 'undefined') {toReturn['authenticationOptions'] = this.authenticationOptions;}\n if (typeof this.authenticationDomains !== 'undefined') {toReturn['authenticationDomains'] = this.authenticationDomains;}\n if (typeof this.enforceLogin !== 'undefined') {toReturn['enforceLogin'] = this.enforceLogin;}\n if (typeof this.enforceLoginDomains !== 'undefined') {toReturn['enforceLoginDomains'] = this.enforceLoginDomains;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingTrackingField implements i.ZoomMeetingTrackingFieldInterface {\n field: string;\n value: string;\n\n static fromProto(proto: any): ZoomMeetingTrackingField {\n let m = new ZoomMeetingTrackingField();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingTrackingFieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class ZoomOccurrence implements i.ZoomOccurrenceInterface {\n occurrenceId: string;\n startTime: string;\n duration: number;\n status: string;\n\n static fromProto(proto: any): ZoomOccurrence {\n let m = new ZoomOccurrence();\n m = Object.assign(m, proto);\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomOccurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.occurrenceId !== 'undefined') {toReturn['occurrenceId'] = this.occurrenceId;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GoogleMeetConferenceData implements i.GoogleMeetConferenceDataInterface {\n conferenceId: string;\n conferenceSolution: GoogleMeetConferenceSolution;\n createRequest: GoogleMeetCreateConferenceRequest;\n entryPoints: GoogleMeetEntryPoint[];\n notes: string;\n signature: string;\n\n static fromProto(proto: any): GoogleMeetConferenceData {\n let m = new GoogleMeetConferenceData();\n m = Object.assign(m, proto);\n if (proto.conferenceSolution) {m.conferenceSolution = GoogleMeetConferenceSolution.fromProto(proto.conferenceSolution);}\n if (proto.createRequest) {m.createRequest = GoogleMeetCreateConferenceRequest.fromProto(proto.createRequest);}\n if (proto.entryPoints) {m.entryPoints = proto.entryPoints.map(GoogleMeetEntryPoint.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceDataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceId !== 'undefined') {toReturn['conferenceId'] = this.conferenceId;}\n if (typeof this.conferenceSolution !== 'undefined' && this.conferenceSolution !== null) {toReturn['conferenceSolution'] = 'toApiJson' in this.conferenceSolution ? (this.conferenceSolution as any).toApiJson() : this.conferenceSolution;}\n if (typeof this.createRequest !== 'undefined' && this.createRequest !== null) {toReturn['createRequest'] = 'toApiJson' in this.createRequest ? (this.createRequest as any).toApiJson() : this.createRequest;}\n if (typeof this.entryPoints !== 'undefined' && this.entryPoints !== null) {toReturn['entryPoints'] = 'toApiJson' in this.entryPoints ? (this.entryPoints as any).toApiJson() : this.entryPoints;}\n if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n if (typeof this.signature !== 'undefined') {toReturn['signature'] = this.signature;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceRequestStatus implements i.GoogleMeetConferenceRequestStatusInterface {\n statusCode: string;\n\n static fromProto(proto: any): GoogleMeetConferenceRequestStatus {\n let m = new GoogleMeetConferenceRequestStatus();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceRequestStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.statusCode !== 'undefined') {toReturn['statusCode'] = this.statusCode;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolution implements i.GoogleMeetConferenceSolutionInterface {\n iconUri: string;\n key: GoogleMeetConferenceSolutionKey;\n name: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolution {\n let m = new GoogleMeetConferenceSolution();\n m = Object.assign(m, proto);\n if (proto.key) {m.key = GoogleMeetConferenceSolutionKey.fromProto(proto.key);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iconUri !== 'undefined') {toReturn['iconUri'] = this.iconUri;}\n if (typeof this.key !== 'undefined' && this.key !== null) {toReturn['key'] = 'toApiJson' in this.key ? (this.key as any).toApiJson() : this.key;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolutionKey implements i.GoogleMeetConferenceSolutionKeyInterface {\n type: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolutionKey {\n let m = new GoogleMeetConferenceSolutionKey();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionKeyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateConferenceRequest implements i.GoogleMeetCreateConferenceRequestInterface {\n conferenceSolutionKey: GoogleMeetConferenceSolutionKey;\n requestId: string;\n status: GoogleMeetConferenceRequestStatus;\n\n static fromProto(proto: any): GoogleMeetCreateConferenceRequest {\n let m = new GoogleMeetCreateConferenceRequest();\n m = Object.assign(m, proto);\n if (proto.conferenceSolutionKey) {m.conferenceSolutionKey = GoogleMeetConferenceSolutionKey.fromProto(proto.conferenceSolutionKey);}\n if (proto.status) {m.status = GoogleMeetConferenceRequestStatus.fromProto(proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateConferenceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceSolutionKey !== 'undefined' && this.conferenceSolutionKey !== null) {toReturn['conferenceSolutionKey'] = 'toApiJson' in this.conferenceSolutionKey ? (this.conferenceSolutionKey as any).toApiJson() : this.conferenceSolutionKey;}\n if (typeof this.requestId !== 'undefined') {toReturn['requestId'] = this.requestId;}\n if (typeof this.status !== 'undefined' && this.status !== null) {toReturn['status'] = 'toApiJson' in this.status ? (this.status as any).toApiJson() : this.status;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingRequest implements i.GoogleMeetCreateMeetingRequestInterface {\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingRequest {\n let m = new GoogleMeetCreateMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingResponse implements i.GoogleMeetCreateMeetingResponseInterface {\n iamUserId: string;\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingResponse {\n let m = new GoogleMeetCreateMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetEntryPoint implements i.GoogleMeetEntryPointInterface {\n accessCode: string;\n entryPointFeatures: string[];\n entryPointType: string;\n label: string;\n meetingCode: string;\n passcode: string;\n password: string;\n pin: string;\n regionCode: string;\n uri: string;\n\n static fromProto(proto: any): GoogleMeetEntryPoint {\n let m = new GoogleMeetEntryPoint();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetEntryPointInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.accessCode !== 'undefined') {toReturn['accessCode'] = this.accessCode;}\n if (typeof this.entryPointFeatures !== 'undefined') {toReturn['entryPointFeatures'] = this.entryPointFeatures;}\n if (typeof this.entryPointType !== 'undefined') {toReturn['entryPointType'] = this.entryPointType;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.meetingCode !== 'undefined') {toReturn['meetingCode'] = this.meetingCode;}\n if (typeof this.passcode !== 'undefined') {toReturn['passcode'] = this.passcode;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.pin !== 'undefined') {toReturn['pin'] = this.pin;}\n if (typeof this.regionCode !== 'undefined') {toReturn['regionCode'] = this.regionCode;}\n if (typeof this.uri !== 'undefined') {toReturn['uri'] = this.uri;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeeting implements i.GoogleMeetMeetingInterface {\n anyoneCanAddSelf: boolean;\n attendees: GoogleMeetMeetingAttendee[];\n attendeesOmitted: boolean;\n colorId: string;\n conferenceData: GoogleMeetConferenceData;\n description: string;\n end: GoogleMeetMeetingDateTime;\n endTimeUnspecified: boolean;\n etag: string;\n icalUid: string;\n id: string;\n kind: string;\n location: string;\n locked: boolean;\n originalStartTime: GoogleMeetMeetingDateTime;\n recurrence: string[];\n recurringMeetingId: string;\n reminders: GoogleMeetMeetingReminders;\n sequence: number;\n start: GoogleMeetMeetingDateTime;\n status: string;\n summary: string;\n transparency: string;\n visibility: string;\n hangoutLink: string;\n htmlLink: string;\n created: string;\n creator: GoogleMeetMeetingCreator;\n updated: string;\n\n static fromProto(proto: any): GoogleMeetMeeting {\n let m = new GoogleMeetMeeting();\n m = Object.assign(m, proto);\n if (proto.attendees) {m.attendees = proto.attendees.map(GoogleMeetMeetingAttendee.fromProto);}\n if (proto.conferenceData) {m.conferenceData = GoogleMeetConferenceData.fromProto(proto.conferenceData);}\n if (proto.end) {m.end = GoogleMeetMeetingDateTime.fromProto(proto.end);}\n if (proto.originalStartTime) {m.originalStartTime = GoogleMeetMeetingDateTime.fromProto(proto.originalStartTime);}\n if (proto.reminders) {m.reminders = GoogleMeetMeetingReminders.fromProto(proto.reminders);}\n if (proto.sequence) {m.sequence = parseInt(proto.sequence, 10);}\n if (proto.start) {m.start = GoogleMeetMeetingDateTime.fromProto(proto.start);}\n if (proto.creator) {m.creator = GoogleMeetMeetingCreator.fromProto(proto.creator);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.anyoneCanAddSelf !== 'undefined') {toReturn['anyoneCanAddSelf'] = this.anyoneCanAddSelf;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.attendeesOmitted !== 'undefined') {toReturn['attendeesOmitted'] = this.attendeesOmitted;}\n if (typeof this.colorId !== 'undefined') {toReturn['colorId'] = this.colorId;}\n if (typeof this.conferenceData !== 'undefined' && this.conferenceData !== null) {toReturn['conferenceData'] = 'toApiJson' in this.conferenceData ? (this.conferenceData as any).toApiJson() : this.conferenceData;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.endTimeUnspecified !== 'undefined') {toReturn['endTimeUnspecified'] = this.endTimeUnspecified;}\n if (typeof this.etag !== 'undefined') {toReturn['etag'] = this.etag;}\n if (typeof this.icalUid !== 'undefined') {toReturn['icalUid'] = this.icalUid;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.kind !== 'undefined') {toReturn['kind'] = this.kind;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locked !== 'undefined') {toReturn['locked'] = this.locked;}\n if (typeof this.originalStartTime !== 'undefined' && this.originalStartTime !== null) {toReturn['originalStartTime'] = 'toApiJson' in this.originalStartTime ? (this.originalStartTime as any).toApiJson() : this.originalStartTime;}\n if (typeof this.recurrence !== 'undefined') {toReturn['recurrence'] = this.recurrence;}\n if (typeof this.recurringMeetingId !== 'undefined') {toReturn['recurringMeetingId'] = this.recurringMeetingId;}\n if (typeof this.reminders !== 'undefined' && this.reminders !== null) {toReturn['reminders'] = 'toApiJson' in this.reminders ? (this.reminders as any).toApiJson() : this.reminders;}\n if (typeof this.sequence !== 'undefined') {toReturn['sequence'] = this.sequence;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.summary !== 'undefined') {toReturn['summary'] = this.summary;}\n if (typeof this.transparency !== 'undefined') {toReturn['transparency'] = this.transparency;}\n if (typeof this.visibility !== 'undefined') {toReturn['visibility'] = this.visibility;}\n if (typeof this.hangoutLink !== 'undefined') {toReturn['hangoutLink'] = this.hangoutLink;}\n if (typeof this.htmlLink !== 'undefined') {toReturn['htmlLink'] = this.htmlLink;}\n if (typeof this.created !== 'undefined') {toReturn['created'] = this.created;}\n if (typeof this.creator !== 'undefined' && this.creator !== null) {toReturn['creator'] = 'toApiJson' in this.creator ? (this.creator as any).toApiJson() : this.creator;}\n if (typeof this.updated !== 'undefined') {toReturn['updated'] = this.updated;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingAttendee implements i.GoogleMeetMeetingAttendeeInterface {\n additionalGuests: number;\n comment: string;\n displayName: string;\n email: string;\n id: string;\n optional: boolean;\n organizer: boolean;\n resource: boolean;\n responseStatus: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingAttendee {\n let m = new GoogleMeetMeetingAttendee();\n m = Object.assign(m, proto);\n if (proto.additionalGuests) {m.additionalGuests = parseInt(proto.additionalGuests, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingAttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.additionalGuests !== 'undefined') {toReturn['additionalGuests'] = this.additionalGuests;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.optional !== 'undefined') {toReturn['optional'] = this.optional;}\n if (typeof this.organizer !== 'undefined') {toReturn['organizer'] = this.organizer;}\n if (typeof this.resource !== 'undefined') {toReturn['resource'] = this.resource;}\n if (typeof this.responseStatus !== 'undefined') {toReturn['responseStatus'] = this.responseStatus;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingCreator implements i.GoogleMeetMeetingCreatorInterface {\n displayName: string;\n email: string;\n id: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingCreator {\n let m = new GoogleMeetMeetingCreator();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingCreatorInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingDateTime implements i.GoogleMeetMeetingDateTimeInterface {\n date: string;\n dateTime: string;\n timeZone: string;\n\n static fromProto(proto: any): GoogleMeetMeetingDateTime {\n let m = new GoogleMeetMeetingDateTime();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingDateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.date !== 'undefined') {toReturn['date'] = this.date;}\n if (typeof this.dateTime !== 'undefined') {toReturn['dateTime'] = this.dateTime;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminder implements i.GoogleMeetMeetingReminderInterface {\n method: string;\n minutes: number;\n\n static fromProto(proto: any): GoogleMeetMeetingReminder {\n let m = new GoogleMeetMeetingReminder();\n m = Object.assign(m, proto);\n if (proto.minutes) {m.minutes = parseInt(proto.minutes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingReminderInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.method !== 'undefined') {toReturn['method'] = this.method;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminders implements i.GoogleMeetMeetingRemindersInterface {\n overrides: GoogleMeetMeetingReminder[];\n useDefault: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingReminders {\n let m = new GoogleMeetMeetingReminders();\n m = Object.assign(m, proto);\n if (proto.overrides) {m.overrides = proto.overrides.map(GoogleMeetMeetingReminder.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingRemindersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.overrides !== 'undefined' && this.overrides !== null) {toReturn['overrides'] = 'toApiJson' in this.overrides ? (this.overrides as any).toApiJson() : this.overrides;}\n if (typeof this.useDefault !== 'undefined') {toReturn['useDefault'] = this.useDefault;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class TimeOfDay implements i.TimeOfDayInterface {\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n\n static fromProto(proto: any): TimeOfDay {\n let m = new TimeOfDay();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeOfDayInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateTime implements i.DateTimeInterface {\n year: number;\n month: number;\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n utcOffset: string;\n timeZone: TimeZone;\n\n static fromProto(proto: any): DateTime {\n let m = new DateTime();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.DateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.year !== 'undefined') {toReturn['year'] = this.year;}\n if (typeof this.month !== 'undefined') {toReturn['month'] = this.month;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n if (typeof this.utcOffset !== 'undefined') {toReturn['utcOffset'] = this.utcOffset;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class TimeZone implements i.TimeZoneInterface {\n id: string;\n version: string;\n\n static fromProto(proto: any): TimeZone {\n let m = new TimeZone();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeZoneInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.version !== 'undefined') {toReturn['version'] = this.version;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { TimeOfDay } from './timeofday';\nimport { TimeZone } from './datetime';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Answer implements i.AnswerInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n answer: string[];\n\n static fromProto(proto: any): Answer {\n let m = new Answer();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.AnswerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.answer !== 'undefined') {toReturn['answer'] = this.answer;}\n return toReturn;\n }\n}\n\nexport class Answers implements i.AnswersInterface {\n formAnswers: Answer[];\n\n static fromProto(proto: any): Answers {\n let m = new Answers();\n m = Object.assign(m, proto);\n if (proto.formAnswers) {m.formAnswers = proto.formAnswers.map(Answer.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AnswersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n return toReturn;\n }\n}\n\nexport class CalendarApplicationContextEntry implements i.CalendarApplicationContextEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): CalendarApplicationContextEntry {\n let m = new CalendarApplicationContextEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CalendarApplicationContextEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class Attachment implements i.AttachmentInterface {\n fileTitle: string;\n fileUrl: string;\n fileType: string;\n\n static fromProto(proto: any): Attachment {\n let m = new Attachment();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttachmentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fileTitle !== 'undefined') {toReturn['fileTitle'] = this.fileTitle;}\n if (typeof this.fileUrl !== 'undefined') {toReturn['fileUrl'] = this.fileUrl;}\n if (typeof this.fileType !== 'undefined') {toReturn['fileType'] = this.fileType;}\n return toReturn;\n }\n}\n\nexport class Attendee implements i.AttendeeInterface {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone: string;\n isPrimary: boolean;\n\n static fromProto(proto: any): Attendee {\n let m = new Attendee();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Calendar implements i.CalendarInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n bookingUrl: string;\n slug: string;\n externalId: string;\n creatorUserId: string;\n hostUserIds: string[];\n applicationContext: {[key: string]: string};\n calendarType: e.CalendarType;\n\n static fromProto(proto: any): Calendar {\n let m = new Calendar();\n m = Object.assign(m, proto);\n if (proto.applicationContext) {m.applicationContext = Object.keys(proto.applicationContext).reduce<any>((obj, k) => { obj[k] = proto.applicationContext[k]; return obj; }, {});}\n if (proto.calendarType) {m.calendarType = enumStringToValue<e.CalendarType>(e.CalendarType, proto.calendarType);}\n return m;\n }\n\n constructor(kwargs?: i.CalendarInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n if (typeof this.creatorUserId !== 'undefined') {toReturn['creatorUserId'] = this.creatorUserId;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.applicationContext !== 'undefined' && this.applicationContext !== null) {toReturn['applicationContext'] = 'toApiJson' in this.applicationContext ? (this.applicationContext as any).toApiJson() : this.applicationContext;}\n if (typeof this.calendarType !== 'undefined') {toReturn['calendarType'] = this.calendarType;}\n return toReturn;\n }\n}\n\nexport class Contact implements i.ContactInterface {\n firstName: string;\n lastName: string;\n phoneNumber: string;\n email: string;\n timeZone: TimeZone;\n isPrimary: boolean;\n\n static fromProto(proto: any): Contact {\n let m = new Contact();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ContactInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Host implements i.HostInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n\n static fromProto(proto: any): Host {\n let m = new Host();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class HostUser implements i.HostUserInterface {\n userId: string;\n displayName: string;\n isConfigured: boolean;\n\n static fromProto(proto: any): HostUser {\n let m = new HostUser();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostUserInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class Preferences implements i.PreferencesInterface {\n timezone: TimeZone;\n meetingIntegration: e.MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n\n static fromProto(proto: any): Preferences {\n let m = new Preferences();\n m = Object.assign(m, proto);\n if (proto.timezone) {m.timezone = TimeZone.fromProto(proto.timezone);}\n if (proto.meetingIntegration) {m.meetingIntegration = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingIntegration);}\n if (proto.availabilityIncrement) {m.availabilityIncrement = parseInt(proto.availabilityIncrement, 10);}\n if (proto.bufferDurationAfterMeeting) {m.bufferDurationAfterMeeting = parseInt(proto.bufferDurationAfterMeeting, 10);}\n if (proto.noticeTime) {m.noticeTime = parseInt(proto.noticeTime, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PreferencesInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timezone !== 'undefined' && this.timezone !== null) {toReturn['timezone'] = 'toApiJson' in this.timezone ? (this.timezone as any).toApiJson() : this.timezone;}\n if (typeof this.meetingIntegration !== 'undefined') {toReturn['meetingIntegration'] = this.meetingIntegration;}\n if (typeof this.availabilityIncrement !== 'undefined') {toReturn['availabilityIncrement'] = this.availabilityIncrement;}\n if (typeof this.bufferDurationAfterMeeting !== 'undefined') {toReturn['bufferDurationAfterMeeting'] = this.bufferDurationAfterMeeting;}\n if (typeof this.noticeTime !== 'undefined') {toReturn['noticeTime'] = this.noticeTime;}\n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n return toReturn;\n }\n}\n\nexport class TimeRange implements i.TimeRangeInterface {\n from: TimeOfDay;\n to: TimeOfDay;\n\n static fromProto(proto: any): TimeRange {\n let m = new TimeRange();\n m = Object.assign(m, proto);\n if (proto.from) {m.from = TimeOfDay.fromProto(proto.from);}\n if (proto.to) {m.to = TimeOfDay.fromProto(proto.to);}\n return m;\n }\n\n constructor(kwargs?: i.TimeRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.from !== 'undefined' && this.from !== null) {toReturn['from'] = 'toApiJson' in this.from ? (this.from as any).toApiJson() : this.from;}\n if (typeof this.to !== 'undefined' && this.to !== null) {toReturn['to'] = 'toApiJson' in this.to ? (this.to as any).toApiJson() : this.to;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Field implements i.FieldInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n required: boolean;\n\n static fromProto(proto: any): Field {\n let m = new Field();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.FieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.required !== 'undefined') {toReturn['required'] = this.required;}\n return toReturn;\n }\n}\n\nexport class Form implements i.FormInterface {\n fields: Field[];\n\n static fromProto(proto: any): Form {\n let m = new Form();\n m = Object.assign(m, proto);\n if (proto.fields) {m.fields = proto.fields.map(Field.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.FormInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fields !== 'undefined' && this.fields !== null) {toReturn['fields'] = 'toApiJson' in this.fields ? (this.fields as any).toApiJson() : this.fields;}\n return toReturn;\n }\n}\n\nexport class MeetingType implements i.MeetingTypeInterface {\n id: string;\n name: string;\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n meetingTypeSlug: string;\n isPrivate: boolean;\n form: Form;\n isReserveWithGoogleService: boolean;\n hostUserIds: string[];\n bookingUrl: string;\n\n static fromProto(proto: any): MeetingType {\n let m = new MeetingType();\n m = Object.assign(m, proto);\n if (proto.form) {m.form = Form.fromProto(proto.form);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n if (typeof this.isPrivate !== 'undefined') {toReturn['isPrivate'] = this.isPrivate;}\n if (typeof this.form !== 'undefined' && this.form !== null) {toReturn['form'] = 'toApiJson' in this.form ? (this.form as any).toApiJson() : this.form;}\n if (typeof this.isReserveWithGoogleService !== 'undefined') {toReturn['isReserveWithGoogleService'] = this.isReserveWithGoogleService;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateRange implements i.DateRangeInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): DateRange {\n let m = new DateRange();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.DateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Contact, Answers, Calendar, Host } from './shared';\nimport { DateRange } from './date-range';\nimport { MeetingType } from './meeting-type';\nimport { TimeZone } from './datetime';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BookMeetingRequest implements i.BookMeetingRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n start: Date;\n comment: string;\n metadata: {[key: string]: string};\n formAnswers: Answers;\n recaptchaToken: string;\n\n static fromProto(proto: any): BookMeetingRequest {\n let m = new BookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.recaptchaToken !== 'undefined') {toReturn['recaptchaToken'] = this.recaptchaToken;}\n return toReturn;\n }\n}\n\nexport class BookMeetingResponse implements i.BookMeetingResponseInterface {\n meetingId: string;\n hostId: string;\n\n static fromProto(proto: any): BookMeetingResponse {\n let m = new BookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarRequest implements i.GetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): GetCalendarRequest {\n let m = new GetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarResponse implements i.GetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): GetCalendarResponse {\n let m = new GetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class GetHostRequest implements i.GetHostRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostRequest {\n let m = new GetHostRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostResponse implements i.GetHostResponseInterface {\n host: Host;\n\n static fromProto(proto: any): GetHostResponse {\n let m = new GetHostResponse();\n m = Object.assign(m, proto);\n if (proto.host) {m.host = Host.fromProto(proto.host);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.host !== 'undefined' && this.host !== null) {toReturn['host'] = 'toApiJson' in this.host ? (this.host as any).toApiJson() : this.host;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeRequest implements i.GetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): GetMeetingTypeRequest {\n let m = new GetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeResponse implements i.GetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): GetMeetingTypeResponse {\n let m = new GetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class GuestCancelMeetingRequest implements i.GuestCancelMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n cancellationReason: string;\n\n static fromProto(proto: any): GuestCancelMeetingRequest {\n let m = new GuestCancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestCancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingRequest implements i.GuestGetBookedMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingRequest {\n let m = new GuestGetBookedMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingResponse implements i.GuestGetBookedMeetingResponseInterface {\n startTime: Date;\n endTime: Date;\n timeZone: TimeZone;\n meetingTypeId: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingResponse {\n let m = new GuestGetBookedMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.startTime) {m.startTime = new Date(proto.startTime);}\n if (proto.endTime) {m.endTime = new Date(proto.endTime);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.startTime !== 'undefined' && this.startTime !== null) {toReturn['startTime'] = 'toApiJson' in this.startTime ? (this.startTime as any).toApiJson() : this.startTime;}\n if (typeof this.endTime !== 'undefined' && this.endTime !== null) {toReturn['endTime'] = 'toApiJson' in this.endTime ? (this.endTime as any).toApiJson() : this.endTime;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredRequest implements i.GuestIsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GuestIsHostConfiguredRequest {\n let m = new GuestIsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredResponse implements i.GuestIsHostConfiguredResponseInterface {\n isConfigured: boolean;\n\n static fromProto(proto: any): GuestIsHostConfiguredResponse {\n let m = new GuestIsHostConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class GuestRescheduleMeetingRequest implements i.GuestRescheduleMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n start: Date;\n timeZone: TimeZone;\n\n static fromProto(proto: any): GuestRescheduleMeetingRequest {\n let m = new GuestRescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.GuestRescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsRequest implements i.ListAvailableTimeSlotsRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSpan: DateRange;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListAvailableTimeSlotsRequest {\n let m = new ListAvailableTimeSlotsRequest();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsResponse implements i.ListAvailableTimeSlotsResponseInterface {\n timeSlots: DateRange[];\n\n static fromProto(proto: any): ListAvailableTimeSlotsResponse {\n let m = new ListAvailableTimeSlotsResponse();\n m = Object.assign(m, proto);\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(DateRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesRequest implements i.ListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListMeetingTypesRequest {\n let m = new ListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesResponse implements i.ListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): ListMeetingTypesResponse {\n let m = new ListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class BookMeetingRequestMetadataEntry implements i.BookMeetingRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BookMeetingRequestMetadataEntry {\n let m = new BookMeetingRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n paths: string[];\n\n static fromProto(proto: any): FieldMask {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.FieldMaskInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { DateRange } from './date-range';\nimport { FieldMask } from './field-mask';\nimport { MeetingType } from './meeting-type';\nimport { TimeRange, Calendar, Preferences, HostUser, Contact, PagedRequestOptions, PagedResponseMetadata, Attendee, Answers, Attachment } from './shared';\nimport { TimeZone } from './datetime';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BuildHostIdRequestApplicationContextPropertiesEntry implements i.BuildHostIdRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BuildHostIdRequestApplicationContextPropertiesEntry {\n let m = new BuildHostIdRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry implements i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry {\n let m = new EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class AvailabilityRule implements i.AvailabilityRuleInterface {\n hostId: string;\n meetingTypeId: string;\n day: e.DayOfWeek;\n timeSlot: TimeRange;\n timeZone: TimeZone;\n\n static fromProto(proto: any): AvailabilityRule {\n let m = new AvailabilityRule();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.AvailabilityRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdRequest implements i.BuildHostIdRequestInterface {\n applicationContextProperties: {[key: string]: string};\n userId: string;\n\n static fromProto(proto: any): BuildHostIdRequest {\n let m = new BuildHostIdRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdResponse implements i.BuildHostIdResponseInterface {\n hostId: string;\n\n static fromProto(proto: any): BuildHostIdResponse {\n let m = new BuildHostIdResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry implements i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface {\n key: string;\n value: MeetingTypeList;\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry {\n let m = new GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = MeetingTypeList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CancelMeetingRequest implements i.CancelMeetingRequestInterface {\n meetingId: string;\n cancellationReason: string;\n\n static fromProto(proto: any): CancelMeetingRequest {\n let m = new CancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class CreateAvailabilityRequest implements i.CreateAvailabilityRequestInterface {\n\n static fromProto(proto: any): CreateAvailabilityRequest {\n let m = new CreateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateAvailabilityResponse implements i.CreateAvailabilityResponseInterface {\n\n static fromProto(proto: any): CreateAvailabilityResponse {\n let m = new CreateAvailabilityResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateCalendarRequest implements i.CreateCalendarRequestInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): CreateCalendarRequest {\n let m = new CreateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class CreateCalendarResponse implements i.CreateCalendarResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): CreateCalendarResponse {\n let m = new CreateCalendarResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class CreateDefaultMeetingTypesRequest implements i.CreateDefaultMeetingTypesRequestInterface {\n calendarId: string;\n calendarIds: string[];\n\n static fromProto(proto: any): CreateDefaultMeetingTypesRequest {\n let m = new CreateDefaultMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateDefaultMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeRequest implements i.CreateMeetingTypeRequestInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): CreateMeetingTypeRequest {\n let m = new CreateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeResponse implements i.CreateMeetingTypeResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateMeetingTypeResponse {\n let m = new CreateMeetingTypeResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteAvailabilityRequest implements i.DeleteAvailabilityRequestInterface {\n\n static fromProto(proto: any): DeleteAvailabilityRequest {\n let m = new DeleteAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class DeleteMeetingTypeRequest implements i.DeleteMeetingTypeRequestInterface {\n id: string;\n\n static fromProto(proto: any): DeleteMeetingTypeRequest {\n let m = new DeleteMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistRequest implements i.DoesCalendarExistRequestInterface {\n calendarIdentifier: string;\n\n static fromProto(proto: any): DoesCalendarExistRequest {\n let m = new DoesCalendarExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIdentifier !== 'undefined') {toReturn['calendarIdentifier'] = this.calendarIdentifier;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistResponse implements i.DoesCalendarExistResponseInterface {\n exists: boolean;\n\n static fromProto(proto: any): DoesCalendarExistResponse {\n let m = new DoesCalendarExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.exists !== 'undefined') {toReturn['exists'] = this.exists;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistRequest implements i.EnsureGroupCalendarsExistRequestInterface {\n externalIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistRequest {\n let m = new EnsureGroupCalendarsExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.externalIds !== 'undefined') {toReturn['externalIds'] = this.externalIds;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistResponse implements i.EnsureGroupCalendarsExistResponseInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistResponse {\n let m = new EnsureGroupCalendarsExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequest implements i.EnsurePersonalCalendarExistsRequestInterface {\n userId: string;\n applicationContextProperties: {[key: string]: string};\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequest {\n let m = new EnsurePersonalCalendarExistsRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsResponse implements i.EnsurePersonalCalendarExistsResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsResponse {\n let m = new EnsurePersonalCalendarExistsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequestFilters implements i.ListAvailabilityRequestFiltersInterface {\n hostId: string;\n meetingTypeId: string;\n\n static fromProto(proto: any): ListAvailabilityRequestFilters {\n let m = new ListAvailabilityRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequestFilters implements i.ListBookedMeetingsRequestFiltersInterface {\n meetingTypeIds: string[];\n hostId: string;\n timeSpan: DateRange;\n\n static fromProto(proto: any): ListBookedMeetingsRequestFilters {\n let m = new ListBookedMeetingsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypeIds !== 'undefined') {toReturn['meetingTypeIds'] = this.meetingTypeIds;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingRequest implements i.GetHostMeetingRequestInterface {\n meetingId: string;\n location: string;\n\n static fromProto(proto: any): GetHostMeetingRequest {\n let m = new GetHostMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingResponse implements i.GetHostMeetingResponseInterface {\n meeting: Meeting;\n\n static fromProto(proto: any): GetHostMeetingResponse {\n let m = new GetHostMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = Meeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesRequest implements i.GetHostPreferencesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostPreferencesRequest {\n let m = new GetHostPreferencesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesResponse implements i.GetHostPreferencesResponseInterface {\n preferences: Preferences;\n\n static fromProto(proto: any): GetHostPreferencesResponse {\n let m = new GetHostPreferencesResponse();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarRequest implements i.GetHostsForCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): GetHostsForCalendarRequest {\n let m = new GetHostsForCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarResponse implements i.GetHostsForCalendarResponseInterface {\n hostUsers: HostUser[];\n\n static fromProto(proto: any): GetHostsForCalendarResponse {\n let m = new GetHostsForCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.hostUsers) {m.hostUsers = proto.hostUsers.map(HostUser.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostUsers !== 'undefined' && this.hostUsers !== null) {toReturn['hostUsers'] = 'toApiJson' in this.hostUsers ? (this.hostUsers as any).toApiJson() : this.hostUsers;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsRequest implements i.GetMeetingTypesForCalendarsRequestInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsRequest {\n let m = new GetMeetingTypesForCalendarsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponse implements i.GetMeetingTypesForCalendarsResponseInterface {\n calendarMeetingTypesMap: {[key: string]: MeetingTypeList};\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponse {\n let m = new GetMeetingTypesForCalendarsResponse();\n m = Object.assign(m, proto);\n if (proto.calendarMeetingTypesMap) {m.calendarMeetingTypesMap = Object.keys(proto.calendarMeetingTypesMap).reduce<any>((obj, k) => { obj[k] = MeetingTypeList.fromProto(proto.calendarMeetingTypesMap[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarMeetingTypesMap !== 'undefined' && this.calendarMeetingTypesMap !== null) {toReturn['calendarMeetingTypesMap'] = 'toApiJson' in this.calendarMeetingTypesMap ? (this.calendarMeetingTypesMap as any).toApiJson() : this.calendarMeetingTypesMap;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingRequest implements i.HostBookMeetingRequestInterface {\n meetingSource: e.MeetingSource;\n calendarId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n topic: string;\n\n static fromProto(proto: any): HostBookMeetingRequest {\n let m = new HostBookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meetingSource) {m.meetingSource = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingSource);}\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingSource !== 'undefined') {toReturn['meetingSource'] = this.meetingSource;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingResponse implements i.HostBookMeetingResponseInterface {\n meetingId: string;\n\n static fromProto(proto: any): HostBookMeetingResponse {\n let m = new HostBookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarRequest implements i.HostGetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): HostGetCalendarRequest {\n let m = new HostGetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarResponse implements i.HostGetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): HostGetCalendarResponse {\n let m = new HostGetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeRequest implements i.HostGetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): HostGetMeetingTypeRequest {\n let m = new HostGetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeResponse implements i.HostGetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): HostGetMeetingTypeResponse {\n let m = new HostGetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesRequest implements i.HostListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): HostListMeetingTypesRequest {\n let m = new HostListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesResponse implements i.HostListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): HostListMeetingTypesResponse {\n let m = new HostListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredRequest implements i.IsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): IsHostConfiguredRequest {\n let m = new IsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredResponse implements i.IsHostConfiguredResponseInterface {\n isConfigured: boolean;\n\n static fromProto(proto: any): IsHostConfiguredResponse {\n let m = new IsHostConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequest implements i.ListAvailabilityRequestInterface {\n pagingOptions: PagedRequestOptions;\n filters: ListAvailabilityRequestFilters;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListAvailabilityRequest {\n let m = new ListAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListAvailabilityRequestFilters.fromProto(proto.filters);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityResponse implements i.ListAvailabilityResponseInterface {\n availabilityRules: AvailabilityRule[];\n metadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListAvailabilityResponse {\n let m = new ListAvailabilityResponse();\n m = Object.assign(m, proto);\n if (proto.availabilityRules) {m.availabilityRules = proto.availabilityRules.map(AvailabilityRule.fromProto);}\n if (proto.metadata) {m.metadata = PagedResponseMetadata.fromProto(proto.metadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.availabilityRules !== 'undefined' && this.availabilityRules !== null) {toReturn['availabilityRules'] = 'toApiJson' in this.availabilityRules ? (this.availabilityRules as any).toApiJson() : this.availabilityRules;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequest implements i.ListBookedMeetingsRequestInterface {\n filters: ListBookedMeetingsRequestFilters;\n pagingOptions: PagedRequestOptions;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListBookedMeetingsRequest {\n let m = new ListBookedMeetingsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBookedMeetingsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsResponse implements i.ListBookedMeetingsResponseInterface {\n meetings: Meeting[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBookedMeetingsResponse {\n let m = new ListBookedMeetingsResponse();\n m = Object.assign(m, proto);\n if (proto.meetings) {m.meetings = proto.meetings.map(Meeting.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetings !== 'undefined' && this.meetings !== null) {toReturn['meetings'] = 'toApiJson' in this.meetings ? (this.meetings as any).toApiJson() : this.meetings;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Meeting implements i.MeetingInterface {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n created: Date;\n updated: Date;\n attendees: Attendee[];\n description: string;\n joinMeetingUrl: string;\n topic: string;\n formAnswers: Answers;\n metadata: {[key: string]: string};\n attachments: Attachment[];\n\n static fromProto(proto: any): Meeting {\n let m = new Meeting();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Attendee.fromProto);}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.eventTypeId !== 'undefined') {toReturn['eventTypeId'] = this.eventTypeId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.joinMeetingUrl !== 'undefined') {toReturn['joinMeetingUrl'] = this.joinMeetingUrl;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n return toReturn;\n }\n}\n\nexport class MeetingTypeList implements i.MeetingTypeListInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): MeetingTypeList {\n let m = new MeetingTypeList();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeListInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class MeetingMetadataEntry implements i.MeetingMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MeetingMetadataEntry {\n let m = new MeetingMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MeetingMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequestMetadataEntry implements i.UpdateMeetingMetadataRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): UpdateMeetingMetadataRequestMetadataEntry {\n let m = new UpdateMeetingMetadataRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class RescheduleMeetingRequest implements i.RescheduleMeetingRequestInterface {\n meetingId: string;\n start: Date;\n\n static fromProto(proto: any): RescheduleMeetingRequest {\n let m = new RescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n return m;\n }\n\n constructor(kwargs?: i.RescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n return toReturn;\n }\n}\n\nexport class SetGeneralAvailabilityRequest implements i.SetGeneralAvailabilityRequestInterface {\n hostId: string;\n meetingTypeId: string;\n days: e.DayOfWeek[];\n timeSlot: TimeRange;\n timeZone: TimeZone;\n weekdaysAvailability: WeekdayAvailability[];\n\n static fromProto(proto: any): SetGeneralAvailabilityRequest {\n let m = new SetGeneralAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.days) {m.days = proto.days.map((v: string) => enumStringToValue<e.DayOfWeek>(e.DayOfWeek, v));}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n if (proto.weekdaysAvailability) {m.weekdaysAvailability = proto.weekdaysAvailability.map(WeekdayAvailability.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SetGeneralAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.days !== 'undefined') {toReturn['days'] = this.days;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.weekdaysAvailability !== 'undefined' && this.weekdaysAvailability !== null) {toReturn['weekdaysAvailability'] = 'toApiJson' in this.weekdaysAvailability ? (this.weekdaysAvailability as any).toApiJson() : this.weekdaysAvailability;}\n return toReturn;\n }\n}\n\nexport class UpdateAvailabilityRequest implements i.UpdateAvailabilityRequestInterface {\n\n static fromProto(proto: any): UpdateAvailabilityRequest {\n let m = new UpdateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpdateCalendarRequest implements i.UpdateCalendarRequestInterface {\n calendarId: string;\n calendarUpdate: Calendar;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateCalendarRequest {\n let m = new UpdateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendarUpdate) {m.calendarUpdate = Calendar.fromProto(proto.calendarUpdate);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.calendarUpdate !== 'undefined' && this.calendarUpdate !== null) {toReturn['calendarUpdate'] = 'toApiJson' in this.calendarUpdate ? (this.calendarUpdate as any).toApiJson() : this.calendarUpdate;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateHostPreferencesRequest implements i.UpdateHostPreferencesRequestInterface {\n hostId: string;\n preferences: Preferences;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateHostPreferencesRequest {\n let m = new UpdateHostPreferencesRequest();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequest implements i.UpdateMeetingMetadataRequestInterface {\n meetingId: string;\n metadata: {[key: string]: string};\n\n static fromProto(proto: any): UpdateMeetingMetadataRequest {\n let m = new UpdateMeetingMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingTypeRequest implements i.UpdateMeetingTypeRequestInterface {\n id: string;\n meetingType: MeetingType;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateMeetingTypeRequest {\n let m = new UpdateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class WeekdayAvailability implements i.WeekdayAvailabilityInterface {\n day: e.DayOfWeek;\n timeSlots: TimeRange[];\n\n static fromProto(proto: any): WeekdayAvailability {\n let m = new WeekdayAvailability();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(TimeRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.WeekdayAvailabilityInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n MeetingSourceInfo,\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n MeetingSourceQuery,\n} from './meeting-source';\n\nexport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n ZoomMeetingRecurrence,\n ZoomMeetingSettings,\n ZoomMeetingTrackingField,\n ZoomOccurrence,\n} from './zoom';\n\nexport {\n GoogleMeetConferenceData,\n GoogleMeetConferenceRequestStatus,\n GoogleMeetConferenceSolution,\n GoogleMeetConferenceSolutionKey,\n GoogleMeetCreateConferenceRequest,\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n GoogleMeetEntryPoint,\n GoogleMeetMeeting,\n GoogleMeetMeetingAttendee,\n GoogleMeetMeetingCreator,\n GoogleMeetMeetingDateTime,\n GoogleMeetMeetingReminder,\n GoogleMeetMeetingReminders,\n} from './google-meet';\n\nexport {\n TimeOfDay,\n} from './timeofday';\n\nexport {\n DateTime,\n TimeZone,\n} from './datetime';\n\nexport {\n Answer,\n Answers,\n CalendarApplicationContextEntry,\n Attachment,\n Attendee,\n Calendar,\n Contact,\n Host,\n HostUser,\n PagedRequestOptions,\n PagedResponseMetadata,\n Preferences,\n TimeRange,\n} from './shared';\n\nexport {\n Field,\n Form,\n MeetingType,\n} from './meeting-type';\n\nexport {\n DateRange,\n} from './date-range';\n\nexport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n BookMeetingRequestMetadataEntry,\n} from './meeting-guest';\n\nexport {\n} from './dayofweek';\n\nexport {\n FieldMask,\n} from './field-mask';\n\nexport {\n BuildHostIdRequestApplicationContextPropertiesEntry,\n EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry,\n AvailabilityRule,\n BuildHostIdRequest,\n BuildHostIdResponse,\n GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry,\n CancelMeetingRequest,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n DeleteAvailabilityRequest,\n DeleteMeetingTypeRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n ListBookedMeetingsRequestFilters,\n ListAvailabilityRequestFilters,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n Meeting,\n MeetingTypeList,\n MeetingMetadataEntry,\n UpdateMeetingMetadataRequestMetadataEntry,\n RescheduleMeetingRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n WeekdayAvailability,\n} from './meeting-host';\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'meetings-api.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'meetings-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'meetings-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'meetings.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'meetings-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'meetings-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n} from './objects/';\nimport {\n MeetingSourceListRequestInterface,\n MeetingSourceListResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingSourceAPIApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: MeetingSourceListRequest | MeetingSourceListRequestInterface): Observable<MeetingSourceListResponse> {\n const request = ((<MeetingSourceListRequest>r).toApiJson) ? (<MeetingSourceListRequest>r) : new MeetingSourceListRequest(r);\n return this.http.post<MeetingSourceListResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingSourceAPI/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => MeetingSourceListResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n} from './objects/';\nimport {\n CreateZoomMeetingRequestInterface,\n CreateZoomMeetingResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ZoomApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: CreateZoomMeetingRequest | CreateZoomMeetingRequestInterface): Observable<CreateZoomMeetingResponse> {\n const request = ((<CreateZoomMeetingRequest>r).toApiJson) ? (<CreateZoomMeetingRequest>r) : new CreateZoomMeetingRequest(r);\n return this.http.post<CreateZoomMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.Zoom/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateZoomMeetingResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n} from './objects/';\nimport {\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetCreateMeetingResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class GoogleMeetApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: GoogleMeetCreateMeetingRequest | GoogleMeetCreateMeetingRequestInterface): Observable<GoogleMeetCreateMeetingResponse> {\n const request = ((<GoogleMeetCreateMeetingRequest>r).toApiJson) ? (<GoogleMeetCreateMeetingRequest>r) : new GoogleMeetCreateMeetingRequest(r);\n return this.http.post<GoogleMeetCreateMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.GoogleMeet/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GoogleMeetCreateMeetingResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","import {Injectable} from '@angular/core';\nimport {Observable, throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {MeetingSourceAPIApiService} from './_internal/meeting-source-api.api.service';\nimport {MeetingSourceListResponse, MeetingSourceQuery} from './_internal/objects/meeting-source'\nimport {MeetingSource} from './_internal/enums/meeting-source.enum';\nimport {ZoomMeetingRecurrenceType, ZoomMeetingType} from './_internal/enums/zoom.enum';\nimport {CreateZoomMeetingRequest, CreateZoomMeetingResponse} from './_internal/objects/zoom';\nimport {CreateZoomMeetingRequestInterface, ZoomMeetingRecurrenceInterface} from './_internal/interfaces/zoom.interface';\nimport {GoogleMeetCreateMeetingRequest, GoogleMeetCreateMeetingResponse} from './_internal/objects/google-meet';\nimport {\n GoogleMeetConferenceDataInterface,\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetMeetingAttendeeInterface,\n GoogleMeetMeetingDateTimeInterface,\n GoogleMeetMeetingInterface\n} from './_internal/interfaces/google-meet.interface';\nimport {ZoomApiService} from './_internal/zoom.api.service';\nimport {GoogleMeetApiService} from './_internal/google-meet.api.service';\n\nexport interface MeetingsSDK {\n list(meetingSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse>;\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse>;\n}\n\nexport interface StartMeetingResponse {\n url: string;\n joinURL: string;\n password: string;\n}\n\nfunction generateMeetingPassword(): string {\n const zoomMaxLength = 10;\n const zoomAllowedChars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@-_*';\n\n try {\n const ints = new Uint8Array(zoomMaxLength);\n crypto.getRandomValues(ints);\n return Array.from(ints)\n .map((v: number) => zoomAllowedChars.charAt(v % zoomAllowedChars.length))\n .join('');\n } catch (e) {\n console.error('User is probably using an unsupported browser. ' +\n 'Falling back to less secure password generation', e);\n return new Array(zoomMaxLength)\n .map(() => Math.floor(Math.random() * zoomAllowedChars.length))\n .join('');\n }\n}\n\n@Injectable({providedIn: 'root'})\nexport class MeetingsService implements MeetingsSDK {\n constructor(\n private readonly _api: MeetingSourceAPIApiService,\n private readonly zoom: ZoomApiService,\n private readonly meet: GoogleMeetApiService\n ) {\n }\n\n /**\n * @deprecated Use listForUser instead. This method will result in the backend grabbing the userID from the user's JWT\n * This will eventually no longer be supported because it breaks our impersonation workflows.\n */\n list(meetingSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse> {\n return this._api.list({\n queriedSources: meetingSources\n })\n }\n\n listForUser(iamUserId: string, queriedSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse> {\n return this._api.list({\n iamUserId,\n queriedSources,\n });\n }\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse> {\n const now = new Date();\n switch (meetingSource) {\n case MeetingSource.MEETING_SOURCE_INVALID:\n return throwError('Meeting source was not specified');\n case MeetingSource.MEETING_SOURCE_ZOOM:\n const req = createZoomInstantMeetingRequest(meetingTitle, now, meetingAgenda);\n return this.zoom.createMeeting(req).pipe(\n map((resp: CreateZoomMeetingResponse) => (\n <StartMeetingResponse>{url: resp.joinUrl, password: resp.password, joinURL: resp.joinUrl}\n )),\n );\n case MeetingSource.MEETING_SOURCE_GOOGLE_MEET:\n if (!gMeetAttendees) {\n return throwError('Attendees are required to start a Meet Hangout')\n }\n const meetReq = createMeetInstantMeetingRequest(meetingTitle, now, gMeetAttendees);\n return this.meet.createMeeting(meetReq).pipe(\n map((resp: GoogleMeetCreateMeetingResponse) =>\n <StartMeetingResponse>{url: resp.meeting.hangoutLink, joinURL: resp.meeting.hangoutLink}\n ),\n );\n default:\n return throwError('Unrecognized meeting source ' + meetingSource);\n }\n }\n\n createBasicZoomScheduledMeeting(topic: string, agenda: string, startDateTime: string,\n duration: number, timezone: string, meetingPassword: string): Observable<CreateZoomMeetingResponse> {\n const req: CreateZoomMeetingRequest = new CreateZoomMeetingRequest({\n topic: topic,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_SCHEDULED,\n startTime: startDateTime,\n duration: duration,\n timezone: timezone,\n password: meetingPassword ? meetingPassword : generateMeetingPassword(),\n agenda: agenda,\n settings: {\n joinBeforeHost: true,\n enforceLogin: false\n },\n recurrence: {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY\n }\n });\n\n return this.zoom.createMeeting(req);\n }\n\n createBasicGoogleMeeting(\n topic: string,\n agenda: string,\n startDateTime: string,\n endDateTime: string,\n timezone: string,\n attendees: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<GoogleMeetCreateMeetingResponse> {\n const req: GoogleMeetCreateMeetingRequest = new GoogleMeetCreateMeetingRequest({\n meeting: {\n attendees: attendees,\n description: agenda,\n start: {\n dateTime: startDateTime,\n timeZone: timezone\n },\n end: {\n dateTime: endDateTime,\n timeZone: timezone\n },\n summary: topic\n }\n });\n\n return this.meet.createMeeting(req);\n }\n\n}\n\nfunction createZoomInstantMeetingRequest(\n meetingTitle: string, now: Date, meetingAgenda: string,\n): CreateZoomMeetingRequest {\n const recurrence: ZoomMeetingRecurrenceInterface = {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY,\n repeatInterval: 0,\n };\n const req: CreateZoomMeetingRequestInterface = {\n topic: meetingTitle,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_INSTANT,\n startTime: now.toISOString(),\n duration: undefined, // Only used with scheduled meetings\n timezone: 'UTC',\n password: generateMeetingPassword(),\n agenda: meetingAgenda,\n trackingFields: [],\n recurrence: recurrence,\n settings: undefined, // Only used with recurring meetings\n };\n return new CreateZoomMeetingRequest(req);\n}\n\nfunction createMeetInstantMeetingRequest(\n meetingTitle: string, startDateTime: Date, attendees: GoogleMeetMeetingAttendeeInterface[],\n): GoogleMeetCreateMeetingRequest {\n const start: GoogleMeetMeetingDateTimeInterface = {\n dateTime: startDateTime.toISOString(),\n timeZone: 'UTC'\n }\n const endTime = new Date(startDateTime.setMinutes(startDateTime.getMinutes() + 30));\n const end: GoogleMeetMeetingDateTimeInterface = {\n dateTime: endTime.toISOString(),\n timeZone: 'UTC'\n }\n const conferenceData: GoogleMeetConferenceDataInterface = {\n createRequest: {\n requestId: 'instant-meet-meeting'\n },\n conferenceSolution: {\n key: {\n type: 'eventHangout'\n }\n }\n }\n const meeting: GoogleMeetMeetingInterface = {\n summary: meetingTitle,\n start: start,\n end: end,\n conferenceData: conferenceData,\n attendees: attendees,\n }\n const req: GoogleMeetCreateMeetingRequestInterface = {\n meeting: meeting,\n }\n return new GoogleMeetCreateMeetingRequest(req);\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n} from './objects/';\nimport {\n BookMeetingRequestInterface,\n BookMeetingResponseInterface,\n GetCalendarRequestInterface,\n GetCalendarResponseInterface,\n GetHostRequestInterface,\n GetHostResponseInterface,\n GetMeetingTypeRequestInterface,\n GetMeetingTypeResponseInterface,\n GuestCancelMeetingRequestInterface,\n GuestGetBookedMeetingRequestInterface,\n GuestGetBookedMeetingResponseInterface,\n GuestIsHostConfiguredRequestInterface,\n GuestIsHostConfiguredResponseInterface,\n GuestRescheduleMeetingRequestInterface,\n ListAvailableTimeSlotsRequestInterface,\n ListAvailableTimeSlotsResponseInterface,\n ListMeetingTypesRequestInterface,\n ListMeetingTypesResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingGuestApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listMeetingTypes(r: ListMeetingTypesRequest | ListMeetingTypesRequestInterface): Observable<ListMeetingTypesResponse> {\n const request = ((<ListMeetingTypesRequest>r).toApiJson) ? (<ListMeetingTypesRequest>r) : new ListMeetingTypesRequest(r);\n return this.http.post<ListMeetingTypesResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMeetingTypesResponse.fromProto(resp)),\n share()\n );\n }\n getMeetingType(r: GetMeetingTypeRequest | GetMeetingTypeRequestInterface): Observable<GetMeetingTypeResponse> {\n const request = ((<GetMeetingTypeRequest>r).toApiJson) ? (<GetMeetingTypeRequest>r) : new GetMeetingTypeRequest(r);\n return this.http.post<GetMeetingTypeResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypeResponse.fromProto(resp)),\n share()\n );\n }\n listAvailableTimeSlots(r: ListAvailableTimeSlotsRequest | ListAvailableTimeSlotsRequestInterface): Observable<ListAvailableTimeSlotsResponse> {\n const request = ((<ListAvailableTimeSlotsRequest>r).toApiJson) ? (<ListAvailableTimeSlotsRequest>r) : new ListAvailableTimeSlotsRequest(r);\n return this.http.post<ListAvailableTimeSlotsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/ListAvailableTimeSlots\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailableTimeSlotsResponse.fromProto(resp)),\n share()\n );\n }\n bookMeeting(r: BookMeetingRequest | BookMeetingRequestInterface): Observable<BookMeetingResponse> {\n const request = ((<BookMeetingRequest>r).toApiJson) ? (<BookMeetingRequest>r) : new BookMeetingRequest(r);\n return this.http.post<BookMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BookMeetingResponse.fromProto(resp)),\n share()\n );\n }\n cancelMeeting(r: GuestCancelMeetingRequest | GuestCancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestCancelMeetingRequest>r).toApiJson) ? (<GuestCancelMeetingRequest>r) : new GuestCancelMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: GuestRescheduleMeetingRequest | GuestRescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestRescheduleMeetingRequest>r).toApiJson) ? (<GuestRescheduleMeetingRequest>r) : new GuestRescheduleMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getGuestBookedMeeting(r: GuestGetBookedMeetingRequest | GuestGetBookedMeetingRequestInterface): Observable<GuestGetBookedMeetingResponse> {\n const request = ((<GuestGetBookedMeetingRequest>r).toApiJson) ? (<GuestGetBookedMeetingRequest>r) : new GuestGetBookedMeetingRequest(r);\n return this.http.post<GuestGetBookedMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetGuestBookedMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestGetBookedMeetingResponse.fromProto(resp)),\n share()\n );\n }\n getCalendar(r: GetCalendarRequest | GetCalendarRequestInterface): Observable<GetCalendarResponse> {\n const request = ((<GetCalendarRequest>r).toApiJson) ? (<GetCalendarRequest>r) : new GetCalendarRequest(r);\n return this.http.post<GetCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetCalendarResponse.fromProto(resp)),\n share()\n );\n }\n getHost(r: GetHostRequest | GetHostRequestInterface): Observable<GetHostResponse> {\n const request = ((<GetHostRequest>r).toApiJson) ? (<GetHostRequest>r) : new GetHostRequest(r);\n return this.http.post<GetHostResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetHost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostResponse.fromProto(resp)),\n share()\n );\n }\n isHostConfigured(r: GuestIsHostConfiguredRequest | GuestIsHostConfiguredRequestInterface): Observable<GuestIsHostConfiguredResponse> {\n const request = ((<GuestIsHostConfiguredRequest>r).toApiJson) ? (<GuestIsHostConfiguredRequest>r) : new GuestIsHostConfiguredRequest(r);\n return this.http.post<GuestIsHostConfiguredResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestIsHostConfiguredResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BuildHostIdRequest,\n BuildHostIdResponse,\n CancelMeetingRequest,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n DeleteAvailabilityRequest,\n DeleteMeetingTypeRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n RescheduleMeetingRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n} from './objects/';\nimport {\n BuildHostIdRequestInterface,\n BuildHostIdResponseInterface,\n CancelMeetingRequestInterface,\n CreateAvailabilityRequestInterface,\n CreateAvailabilityResponseInterface,\n CreateCalendarRequestInterface,\n CreateCalendarResponseInterface,\n CreateDefaultMeetingTypesRequestInterface,\n CreateMeetingTypeRequestInterface,\n CreateMeetingTypeResponseInterface,\n DeleteAvailabilityRequestInterface,\n DeleteMeetingTypeRequestInterface,\n DoesCalendarExistRequestInterface,\n DoesCalendarExistResponseInterface,\n EnsureGroupCalendarsExistRequestInterface,\n EnsureGroupCalendarsExistResponseInterface,\n EnsurePersonalCalendarExistsRequestInterface,\n EnsurePersonalCalendarExistsResponseInterface,\n GetHostMeetingRequestInterface,\n GetHostMeetingResponseInterface,\n GetHostPreferencesRequestInterface,\n GetHostPreferencesResponseInterface,\n GetHostsForCalendarRequestInterface,\n GetHostsForCalendarResponseInterface,\n GetMeetingTypesForCalendarsRequestInterface,\n GetMeetingTypesForCalendarsResponseInterface,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponseInterface,\n HostGetCalendarRequestInterface,\n HostGetCalendarResponseInterface,\n HostGetMeetingTypeRequestInterface,\n HostGetMeetingTypeResponseInterface,\n HostListMeetingTypesRequestInterface,\n HostListMeetingTypesResponseInterface,\n IsHostConfiguredRequestInterface,\n IsHostConfiguredResponseInterface,\n ListAvailabilityRequestInterface,\n ListAvailabilityResponseInterface,\n ListBookedMeetingsRequestInterface,\n ListBookedMeetingsResponseInterface,\n RescheduleMeetingRequestInterface,\n SetGeneralAvailabilityRequestInterface,\n UpdateAvailabilityRequestInterface,\n UpdateCalendarRequestInterface,\n UpdateHostPreferencesRequestInterface,\n UpdateMeetingMetadataRequestInterface,\n UpdateMeetingTypeRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingHostApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n buildHostId(r: BuildHostIdRequest | BuildHostIdRequestInterface): Observable<BuildHostIdResponse> {\n const request = ((<BuildHostIdRequest>r).toApiJson) ? (<BuildHostIdRequest>r) : new BuildHostIdRequest(r);\n return this.http.post<BuildHostIdResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/BuildHostId\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BuildHostIdResponse.fromProto(resp)),\n share()\n );\n }\n doesCalendarExist(r: DoesCalendarExistRequest | DoesCalendarExistRequestInterface): Observable<DoesCalendarExistResponse> {\n const request = ((<DoesCalendarExistRequest>r).toApiJson) ? (<DoesCalendarExistRequest>r) : new DoesCalendarExistRequest(r);\n return this.http.post<DoesCalendarExistResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/DoesCalendarExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DoesCalendarExistResponse.fromProto(resp)),\n share()\n );\n }\n createCalendar(r: CreateCalendarRequest | CreateCalendarRequestInterface): Observable<CreateCalendarResponse> {\n const request = ((<CreateCalendarRequest>r).toApiJson) ? (<CreateCalendarRequest>r) : new CreateCalendarRequest(r);\n return this.http.post<CreateCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateCalendarResponse.fromProto(resp)),\n share()\n );\n }\n updateCalendar(r: UpdateCalendarRequest | UpdateCalendarRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateCalendarRequest>r).toApiJson) ? (<UpdateCalendarRequest>r) : new UpdateCalendarRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateCalendar\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getCalendar(r: HostGetCalendarRequest | HostGetCalendarRequestInterface): Observable<HostGetCalendarResponse> {\n const request = ((<HostGetCalendarRequest>r).toApiJson) ? (<HostGetCalendarRequest>r) : new HostGetCalendarRequest(r);\n return this.http.post<HostGetCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetCalendarResponse.fromProto(resp)),\n share()\n );\n }\n ensurePersonalCalendarExists(r: EnsurePersonalCalendarExistsRequest | EnsurePersonalCalendarExistsRequestInterface): Observable<EnsurePersonalCalendarExistsResponse> {\n const request = ((<EnsurePersonalCalendarExistsRequest>r).toApiJson) ? (<EnsurePersonalCalendarExistsRequest>r) : new EnsurePersonalCalendarExistsRequest(r);\n return this.http.post<EnsurePersonalCalendarExistsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/EnsurePersonalCalendarExists\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsurePersonalCalendarExistsResponse.fromProto(resp)),\n share()\n );\n }\n ensureGroupCalendarsExist(r: EnsureGroupCalendarsExistRequest | EnsureGroupCalendarsExistRequestInterface): Observable<EnsureGroupCalendarsExistResponse> {\n const request = ((<EnsureGroupCalendarsExistRequest>r).toApiJson) ? (<EnsureGroupCalendarsExistRequest>r) : new EnsureGroupCalendarsExistRequest(r);\n return this.http.post<EnsureGroupCalendarsExistResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/EnsureGroupCalendarsExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsureGroupCalendarsExistResponse.fromProto(resp)),\n share()\n );\n }\n getHostsForCalendar(r: GetHostsForCalendarRequest | GetHostsForCalendarRequestInterface): Observable<GetHostsForCalendarResponse> {\n const request = ((<GetHostsForCalendarRequest>r).toApiJson) ? (<GetHostsForCalendarRequest>r) : new GetHostsForCalendarRequest(r);\n return this.http.post<GetHostsForCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetHostsForCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostsForCalendarResponse.fromProto(resp)),\n share()\n );\n }\n getMeetingTypesForCalendars(r: GetMeetingTypesForCalendarsRequest | GetMeetingTypesForCalendarsRequestInterface): Observable<GetMeetingTypesForCalendarsResponse> {\n const request = ((<GetMeetingTypesForCalendarsRequest>r).toApiJson) ? (<GetMeetingTypesForCalendarsRequest>r) : new GetMeetingTypesForCalendarsRequest(r);\n return this.http.post<GetMeetingTypesForCalendarsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetMeetingTypesForCalendars\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypesForCalendarsResponse.fromProto(resp)),\n share()\n );\n }\n listAvailability(r: ListAvailabilityRequest | ListAvailabilityRequestInterface): Observable<ListAvailabilityResponse> {\n const request = ((<ListAvailabilityRequest>r).toApiJson) ? (<ListAvailabilityRequest>r) : new ListAvailabilityRequest(r);\n return this.http.post<ListAvailabilityResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/ListAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailabilityResponse.fromProto(resp)),\n share()\n );\n }\n bookMeeting(r: HostBookMeetingRequest | HostBookMeetingRequestInterface): Observable<HostBookMeetingResponse> {\n const request = ((<HostBookMeetingRequest>r).toApiJson) ? (<HostBookMeetingRequest>r) : new HostBookMeetingRequest(r);\n return this.http.post<HostBookMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostBookMeetingResponse.fromProto(resp)),\n share()\n );\n }\n getHostMeeting(r: GetHostMeetingRequest | GetHostMeetingRequestInterface): Observable<GetHostMeetingResponse> {\n const request = ((<GetHostMeetingRequest>r).toApiJson) ? (<GetHostMeetingRequest>r) : new GetHostMeetingRequest(r);\n return this.http.post<GetHostMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetHostMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostMeetingResponse.fromProto(resp)),\n share()\n );\n }\n listBookedMeetings(r: ListBookedMeetingsRequest | ListBookedMeetingsRequestInterface): Observable<ListBookedMeetingsResponse> {\n const request = ((<ListBookedMeetingsRequest>r).toApiJson) ? (<ListBookedMeetingsRequest>r) : new ListBookedMeetingsRequest(r);\n return this.http.post<ListBookedMeetingsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/ListBookedMeetings\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBookedMeetingsResponse.fromProto(resp)),\n share()\n );\n }\n cancelMeeting(r: CancelMeetingRequest | CancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CancelMeetingRequest>r).toApiJson) ? (<CancelMeetingRequest>r) : new CancelMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: RescheduleMeetingRequest | RescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RescheduleMeetingRequest>r).toApiJson) ? (<RescheduleMeetingRequest>r) : new RescheduleMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMeetingMetadata(r: UpdateMeetingMetadataRequest | UpdateMeetingMetadataRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingMetadataRequest>r).toApiJson) ? (<UpdateMeetingMetadataRequest>r) : new UpdateMeetingMetadataRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateMeetingMetadata\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setGeneralAvailability(r: SetGeneralAvailabilityRequest | SetGeneralAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetGeneralAvailabilityRequest>r).toApiJson) ? (<SetGeneralAvailabilityRequest>r) : new SetGeneralAvailabilityRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/SetGeneralAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createAvailability(r: CreateAvailabilityRequest | CreateAvailabilityRequestInterface): Observable<CreateAvailabilityResponse> {\n const request = ((<CreateAvailabilityRequest>r).toApiJson) ? (<CreateAvailabilityRequest>r) : new CreateAvailabilityRequest(r);\n return this.http.post<CreateAvailabilityResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateAvailabilityResponse.fromProto(resp)),\n share()\n );\n }\n updateAvailability(r: UpdateAvailabilityRequest | UpdateAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateAvailabilityRequest>r).toApiJson) ? (<UpdateAvailabilityRequest>r) : new UpdateAvailabilityRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteAvailability(r: DeleteAvailabilityRequest | DeleteAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteAvailabilityRequest>r).toApiJson) ? (<DeleteAvailabilityRequest>r) : new DeleteAvailabilityRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/DeleteAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n isHostConfigured(r: IsHostConfiguredRequest | IsHostConfiguredRequestInterface): Observable<IsHostConfiguredResponse> {\n const request = ((<IsHostConfiguredRequest>r).toApiJson) ? (<IsHostConfiguredRequest>r) : new IsHostConfiguredRequest(r);\n return this.http.post<IsHostConfiguredResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => IsHostConfiguredResponse.fromProto(resp)),\n share()\n );\n }\n getHostPreferences(r: GetHostPreferencesRequest | GetHostPreferencesRequestInterface): Observable<GetHostPreferencesResponse> {\n const request = ((<GetHostPreferencesRequest>r).toApiJson) ? (<GetHostPreferencesRequest>r) : new GetHostPreferencesRequest(r);\n return this.http.post<GetHostPreferencesResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetHostPreferences\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostPreferencesResponse.fromProto(resp)),\n share()\n );\n }\n updateHostPreferences(r: UpdateHostPreferencesRequest | UpdateHostPreferencesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateHostPreferencesRequest>r).toApiJson) ? (<UpdateHostPreferencesRequest>r) : new UpdateHostPreferencesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateHostPreferences\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMeetingType(r: HostGetMeetingTypeRequest | HostGetMeetingTypeRequestInterface): Observable<HostGetMeetingTypeResponse> {\n const request = ((<HostGetMeetingTypeRequest>r).toApiJson) ? (<HostGetMeetingTypeRequest>r) : new HostGetMeetingTypeRequest(r);\n return this.http.post<HostGetMeetingTypeResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetMeetingTypeResponse.fromProto(resp)),\n share()\n );\n }\n listMeetingTypes(r: HostListMeetingTypesRequest | HostListMeetingTypesRequestInterface): Observable<HostListMeetingTypesResponse> {\n const request = ((<HostListMeetingTypesRequest>r).toApiJson) ? (<HostListMeetingTypesRequest>r) : new HostListMeetingTypesRequest(r);\n return this.http.post<HostListMeetingTypesResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostListMeetingTypesResponse.fromProto(resp)),\n share()\n );\n }\n createMeetingType(r: CreateMeetingTypeRequest | CreateMeetingTypeRequestInterface): Observable<CreateMeetingTypeResponse> {\n const request = ((<CreateMeetingTypeRequest>r).toApiJson) ? (<CreateMeetingTypeRequest>r) : new CreateMeetingTypeRequest(r);\n return this.http.post<CreateMeetingTypeResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateMeetingTypeResponse.fromProto(resp)),\n share()\n );\n }\n updateMeetingType(r: UpdateMeetingTypeRequest | UpdateMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingTypeRequest>r).toApiJson) ? (<UpdateMeetingTypeRequest>r) : new UpdateMeetingTypeRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteMeetingType(r: DeleteMeetingTypeRequest | DeleteMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMeetingTypeRequest>r).toApiJson) ? (<DeleteMeetingTypeRequest>r) : new DeleteMeetingTypeRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/DeleteMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createDefaultMeetingTypes(r: CreateDefaultMeetingTypesRequest | CreateDefaultMeetingTypesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateDefaultMeetingTypesRequest>r).toApiJson) ? (<CreateDefaultMeetingTypesRequest>r) : new CreateDefaultMeetingTypesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateDefaultMeetingTypes\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { GoogleMeetApiService } from './google-meet.api.service';\nexport { MeetingGuestApiService } from './meeting-guest.api.service';\nexport { MeetingHostApiService } from './meeting-host.api.service';\nexport { MeetingSourceAPIApiService } from './meeting-source-api.api.service';\nexport { ZoomApiService } from './zoom.api.service';\n","import {DateRange} from '../_internal/objects';\n\nexport interface TimeSpan {\n start: Date\n end: Date\n}\n\n\nexport function TimeSpanFromApi(tsAPI: DateRange): TimeSpan {\n return {\n start: tsAPI.start,\n end: tsAPI.end\n }\n}\n","import { Host as ApiHost } from '../_internal/objects';\n\nexport interface Host {\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n}\n\nexport function HostFromApi(hostAPI: ApiHost): Host {\n return {\n displayName: hostAPI.displayName,\n displayProfileUrl: hostAPI.displayProfileUrl,\n displayLogoUrl: hostAPI.displayLogoUrl,\n }\n}\n","// A temporary method for building the url for a host, eventTypeId, and metadata\nimport {Environment} from '@vendasta/core';\n\nexport function getBookingUrlImplementation(\n req: {\n environment: Environment,\n calendarId: string,\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string,\n meetingTypeSlug?: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }\n): string {\n const domain = getDomainFromEnvironment(req.environment);\n const meetingType = req.meetingTypeSlug || req.meetingTypeId || '30-minutes';\n const calendarSlug = req.calendarSlug || req.calendarId;\n const url = `https://${domain}/book/${calendarSlug}/${meetingType}`;\n if (!req.metadata) {\n return url;\n }\n return addMetadataToBookingLink({link: url, metadata: req.metadata});\n}\n\nexport function getGeneralBookingUrlImplementation(req: {\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): string {\n const url = `https://${getDomainFromEnvironment(req.environment)}/${req.calendarSlug || req.calendarId}`;\n return req.metadata ? addMetadataToBookingLink({link: url, metadata: req.metadata}) : url;\n}\n\nfunction getDomainFromEnvironment(env: Environment): string {\n if (env === Environment.PROD) {\n return 'bookmenow.info';\n }\n return 'bookme-demo-rrncocebdq-uc.a.run.app';\n}\n\nexport function addMetadataToBookingLink(req: { link: string, metadata: { [key: string]: string } }): string {\n if (!req.metadata) {\n return req.link;\n }\n const m = req.metadata as { [key: string]: string };\n const queryParams = Object.keys(m).reduce((params, key) => {\n if (!params) {\n if (req.link.indexOf('?') >= 0) {\n return `&${key}=${m[key]}`;\n }\n return `?${key}=${m[key]}`;\n }\n return `${params}&${key}=${m[key]}`;\n }, '');\n\n return `${req.link}${queryParams}`;\n}\n","import {FieldInterface, FormInterface, MeetingTypeInterface as ApiMeetingType} from '../_internal/interfaces';\nimport {addMetadataToBookingLink, getBookingUrlImplementation} from '../host/url';\nimport {Environment} from '@vendasta/core';\nimport {FormFieldType} from '../_internal/enums';\n\nexport interface MeetingType {\n id: string;\n name: string;\n // string formatted as: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n // use helpers in duration.ts for helpers or pass into moment.\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n\n // https://vendasta.jira.com/wiki/spaces/BOOKME/pages/227836157/Terminology#Meeting-Type-Slug\n meetingTypeSlug: string;\n\n /**\n * @deprecated use meetingTypeSlug instead\n */\n bookingLink?: string;\n\n hostUserIds: string[];\n\n\n // readonly fields. has no impact when updating.\n // This is the full url a person could navigate to for booking. May include metadata query params.\n bookingUrl: string;\n\n form: MeetingTypeForm,\n}\n\nexport type MeetingTypeFormField = Required<FieldInterface>;\nexport type MeetingTypeForm = Required<Omit<FormInterface, 'fields'>> & { fields: MeetingTypeFormField[] };\n\nexport function MeetingTypeFromApi(req: {\n meetingTypeApi: ApiMeetingType,\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): MeetingType {\n let bookingUrl = req?.meetingTypeApi?.bookingUrl || '';\n if (bookingUrl === '') {\n bookingUrl = getBookingUrlImplementation({\n environment: req.environment,\n calendarId: req.calendarId,\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || req.meetingTypeApi.id || '',\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n } else {\n bookingUrl = addMetadataToBookingLink({link: bookingUrl, metadata: req.metadata || {}});\n }\n\n const form: MeetingTypeForm = {\n ...(req.meetingTypeApi.form || {fields: []}),\n fields: (req.meetingTypeApi.form && req.meetingTypeApi.form.fields ? req.meetingTypeApi.form.fields : []).map(field => {\n return {\n ...field,\n id: field.id || '',\n label: field.label || '',\n type: field.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n required: field.required || false,\n }\n })\n };\n return {\n id: req.meetingTypeApi.id || '',\n calendarId: req.meetingTypeApi.calendarId || '',\n name: req.meetingTypeApi.name || '',\n duration: req.meetingTypeApi.duration || '',\n bookingUrl: bookingUrl,\n bookingLink: req.meetingTypeApi.meetingTypeSlug || '',\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || '',\n description: req.meetingTypeApi.description || '',\n hexColor: req.meetingTypeApi.hexColor || '',\n form: form,\n hostUserIds: req.meetingTypeApi.hostUserIds || []\n }\n}\n\nexport function MeetingTypeToApi(req: { meetingType: Partial<MeetingType> }): ApiMeetingType {\n const m = req.meetingType;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n hexColor: m.hexColor || undefined,\n meetingTypeSlug: m.meetingTypeSlug || m.bookingLink || undefined,\n calendarId: m.calendarId || undefined,\n description: m.description || undefined,\n duration: m.duration ? m.duration : undefined,\n form: m.form || undefined,\n hostUserIds: m.hostUserIds || undefined\n };\n}\n","import {Meeting as ApiMeeting} from '../_internal/objects';\nimport {AnswerInterface, AnswersInterface, AttachmentInterface} from '../_internal/interfaces';\nimport {FormFieldType} from '../_internal/enums';\n\nexport interface Attendee {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone?: string;\n isPrimary: boolean;\n}\n\nexport type MeetingFormAnswer = Required<AnswerInterface>;\nexport type MeetingForm = Required<Omit<AnswersInterface, 'formAnswers'>> & { formAnswers: MeetingFormAnswer[] };\n\n// These represent well-known metadata keys used for more than just tracking\nexport enum WellKnownMeetingMetadataKeys {\n // This is the business (AG) attached to a meeting. This is attached via sending msm_business as a query param during booking\n BUSINESS = 'msm_business',\n}\n\n// These are part of the standard Meeting Scheduler form.\n// If you are trying to pre-fill these fields use the helper formFieldIdToMetadataParam\nexport enum WellKnownFormFieldIds {\n FIRST_NAME = 'firstName',\n LAST_NAME = 'lastName',\n EMAIL = 'email',\n PHONE_NUMBER = 'phoneNumber',\n COMMENT = 'comment',\n INVITEE_EMAILS = 'inviteeEmail',\n}\n\n// Converts the given id into a metadata key that can be sent on the url.\n// This means the key will be used to pre-fill those form fields.\n// This can also be used on fields that are not metadata to ensure they will come across in metadata.\nexport function meetingSchedulerIdToMetadataKey(id: string): string {\n if (!id) {\n return '';\n }\n return id.startsWith('msm_') || id.startsWith('utm_') ? id : `msm_${id}`;\n}\n\nexport interface MeetingMetadata {\n [key: string]: string;\n}\n\nexport interface Meeting {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n description: string;\n joinMeetingUrl: string;\n attendees: Attendee[];\n created: Date;\n updated: Date;\n topic?: string;\n formAnswers: MeetingForm;\n metadata: MeetingMetadata\n attachments: Required<AttachmentInterface>[],\n}\n\nexport function meetingFromApi(meetingApi: ApiMeeting): Meeting {\n return {\n id: meetingApi.id,\n eventTypeId: meetingApi.eventTypeId,\n hostId: meetingApi.hostId,\n start: meetingApi.start,\n end: meetingApi.end,\n description: meetingApi.description || '',\n joinMeetingUrl: meetingApi.joinMeetingUrl || '',\n attendees: meetingApi.attendees ? meetingApi.attendees.map(a => ({\n firstName: a.firstName,\n lastName: a.lastName,\n email: a.email,\n phoneNumber: a.phoneNumber,\n timeZone: a.timeZone,\n isPrimary: a.isPrimary || false,\n })) : [],\n created: meetingApi.created,\n updated: meetingApi.updated,\n topic: meetingApi.topic,\n formAnswers: answersFromAPI(meetingApi.formAnswers),\n metadata: meetingApi.metadata || {},\n attachments: (meetingApi.attachments || []).map(a => {\n return {\n fileTitle: a.fileTitle || '',\n fileUrl: a.fileUrl || '',\n fileType: a.fileType || '',\n };\n })\n }\n}\n\nexport function answersFromAPI(formAnswers: AnswersInterface): MeetingForm {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers ? formAnswers.formAnswers : []).map(a => {\n return {\n id: a.id || '',\n label: a.label || '',\n type: a.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n answer: a.answer || [],\n }\n })\n }\n}\n\nexport function answersToAPI(formAnswers?: MeetingForm): AnswersInterface {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers || []).map(a => {\n return {\n id: a.id || undefined,\n label: a.label || undefined,\n type: a.type,\n answer: a.answer || undefined,\n }\n })\n }\n}\n","export class PagedResponse<T> {\n results: T[];\n nextCursor: string;\n hasMore: boolean;\n\n constructor(results: T[], nextCursor: string, hasMore: boolean) {\n this.results = results;\n this.nextCursor = nextCursor;\n this.hasMore = hasMore;\n }\n}\n","import {Calendar as APICalendar, CalendarType} from '../_internal';\n\nexport type Calendar = Omit<APICalendar, 'toApiJson'>\n\nexport function CalendarFromApi(calendarAPI: APICalendar): Calendar {\n return {\n id: calendarAPI.id || '',\n calendarType: calendarAPI.calendarType || CalendarType.CALENDAR_TYPE_INVALID,\n displayName: calendarAPI.displayName || '',\n displayProfileUrl: calendarAPI.displayProfileUrl || '',\n displayLogoUrl: calendarAPI.displayLogoUrl || '',\n bookingUrl: calendarAPI.bookingUrl || '',\n slug: calendarAPI.slug || '',\n externalId: calendarAPI.externalId || '',\n creatorUserId: calendarAPI.creatorUserId || '',\n hostUserIds: calendarAPI.hostUserIds || [],\n applicationContext: calendarAPI.applicationContext || {},\n }\n}\n\n// From meetings/internal/meetingscheduler/calendar/model.go\nexport enum KnownCalendarApplicationContextKeys {\n ExternalIntegration = 'external_integration',\n Business = 'business_id',\n SalesTeam = 'sales_team_id',\n}\n\nexport enum KnownCalendarExternalIntegrations {\n VSalesTeam = 'v_sales_team',\n VBusiness = 'v_business'\n}\n","import {Preferences as APIPreferences} from '../_internal/objects';\nimport {MeetingSource} from '../_internal/enums';\nimport {TimeZoneInterface} from '../_internal/interfaces';\n\nexport interface Preferences {\n timezone: TimeZoneInterface;\n meetingIntegration: MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n}\n\nexport function PreferencesFromApi(preferences: APIPreferences): Preferences {\n return {\n timezone: preferences.timezone,\n meetingIntegration: preferences.meetingIntegration || MeetingSource.MEETING_SOURCE_INVALID,\n availabilityIncrement: preferences.availabilityIncrement || 0,\n bufferDurationAfterMeeting: preferences.bufferDurationAfterMeeting || 0,\n noticeTime: preferences.noticeTime || 0,\n calendarSlug: preferences.calendarSlug || '',\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export interface Duration {\n seconds: number;\n nanoseconds: number;\n}\n\n/**\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n */\nexport function durationFromString(durationString: string): Duration {\n if (!durationString) {\n return {seconds: 0, nanoseconds: 0};\n }\n const [secondsString, nanosecondString] = durationString\n .replace(/s/g, '') // the end of the string has an s\n .split('.'); // before the decimal is seconds, after is nanoseconds\n const seconds = Number(secondsString);\n const nanoseconds = parseFloat('0.' + nanosecondString) * 1e9;\n return {\n seconds: isNaN(seconds) ? 0 : seconds,\n nanoseconds: isNaN(nanoseconds) ? 0 : nanoseconds,\n };\n}\n\nexport function durationToString(duration: Duration): string {\n if (!duration) {\n return '0s';\n }\n const seconds = duration.seconds || 0;\n const nanoseconds = duration.nanoseconds || 0;\n return seconds + (nanoseconds / 1e9) + 's';\n}\n\nexport function durationStringToMinutes(req: { duration: string, round?: boolean }): number {\n const d = durationFromString(req.duration);\n const minutes = d.seconds / 60 + (d.nanoseconds / 6e+10);\n if (req.round) {\n return Math.round(minutes);\n }\n return minutes;\n}\n","import {FieldMask} from '../_internal/objects';\n\nexport function getFieldMask<T>(req: { o: Partial<T>, updateFields?: (keyof T & string)[] }): FieldMask {\n const keysToUpdate = req.updateFields || Object.keys(req.o || {});\n return new FieldMask({paths: keysToUpdate || []});\n}\n","export interface BusinessCenterApplicationContextProperties {\n business_id: string;\n user_context: 'SMB';\n}\n\nexport interface SalesCenterApplicationContextProperties {\n partner_id: string;\n market_id: string;\n user_context: 'SALES';\n}\n\nexport interface PartnerCenterApplicationContextProperties {\n partner_id: string;\n user_context: 'PARTNER';\n}\n\n// This will extend to include other types (partner, sales, etc).\nexport type ApplicationContextPropertiesSet = BusinessCenterApplicationContextProperties | SalesCenterApplicationContextProperties | PartnerCenterApplicationContextProperties;\n\nexport function newBusinessCenterApplicationContextProperties(req: {business_id: string}): ApplicationContextPropertiesSet {\n return {\n business_id: req.business_id,\n user_context: 'SMB',\n }\n}\n\nexport function newSalesCenterApplicationContextProperties(req: {partner_id: string, market_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n market_id: req.market_id,\n user_context: 'SALES'\n }\n}\n\nexport function newPartnerCenterApplicationContextProperties(req: {partner_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n user_context: 'PARTNER',\n }\n}\n","import {HostUserInterface} from '../_internal';\nexport type HostUser = Required<HostUserInterface>\nexport function hostUserFromApi(hostUser: HostUserInterface) {\n return {\n userId: hostUser.userId || '',\n displayName: hostUser.displayName || '',\n isConfigured: hostUser.isConfigured || false\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {\n CalendarInterface,\n Contact,\n GuestIsHostConfiguredResponse,\n MeetingGuestApiService,\n TimeZoneInterface\n} from '../_internal';\nimport {Observable} from 'rxjs';\nimport {map, mapTo} from 'rxjs/operators';\nimport {\n answersToAPI,\n CalendarFromApi,\n Host,\n HostFromApi,\n MeetingForm,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n TimeSpan,\n TimeSpanFromApi\n} from '../shared';\nimport {EnvironmentServiceInterface, EnvironmentServiceInterfaceToken} from '@vendasta/core';\n\nexport interface BookMeetingResponse {\n meetingId: string;\n hostId: string;\n}\n\nexport interface BookedMeetingInfo {\n start: Date;\n end: Date;\n timeZone: TimeZoneInterface;\n meetingTypeId: string;\n}\n\nexport interface GuestServiceInterface {\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo>\n\n listMeetingTypes(req: {\n hostId: string,\n timeZone?: TimeZoneInterface,\n metadata?: { [name: string]: string },\n slug?: string,\n }): Observable<MeetingType[]>\n\n isHostConfigured(req: { hostId: string }): Observable<boolean>\n}\n\n@Injectable({providedIn: 'root'})\nexport class GuestService implements GuestServiceInterface {\n\n constructor(\n private guestAPIService: MeetingGuestApiService,\n @Inject(EnvironmentServiceInterfaceToken) private readonly environmentService: EnvironmentServiceInterface,\n ) {}\n\n getMeetingType(req: {\n calendarSlug: string,\n meetingTypeSlug: string,\n metadata?: { [name: string]: string },\n }): Observable<MeetingType> {\n return this.guestAPIService.getMeetingType(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingType) {\n return {} as MeetingType;\n }\n return MeetingTypeFromApi({\n environment: this.environmentService.getEnvironment(),\n calendarId: req.calendarSlug,\n meetingTypeApi: resp.meetingType,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n })\n );\n }\n\n listMeetingTypes(req: {\n hostId: string,\n metadata?: { [name: string]: string },\n // deprecated: unused field.\n timeZone?: TimeZoneInterface,\n calendarSlug?: string,\n }): Observable<MeetingType[]> {\n return this.guestAPIService.listMeetingTypes(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map(mt => {\n return MeetingTypeFromApi({\n environment: this.environmentService.getEnvironment(),\n calendarId: req.hostId,\n meetingTypeApi: mt,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n )\n }\n\n listAvailableTimeSlots(req: {\n hostId: string,\n meetingTypeId: string,\n timeSpan: TimeSpan,\n timeZone: TimeZoneInterface\n }): Observable<TimeSpan[]> {\n return this.guestAPIService.listAvailableTimeSlots(req).pipe(\n map(resp => resp.timeSlots ? resp.timeSlots.map(ts => TimeSpanFromApi(ts)) : [])\n )\n }\n\n bookMeeting(req: {\n hostId: string,\n meetingTypeId: string,\n start: Date,\n comment: string,\n metadata?: MeetingMetadata,\n attendees: (Omit<Contact, 'fromProto' | 'toApiJson' | 'constructor' | 'timeZone'> & { timeZone: TimeZoneInterface })[],\n formAnswers?: MeetingForm,\n recaptchaToken: string,\n }\n ): Observable<BookMeetingResponse> {\n return this.guestAPIService.bookMeeting({\n ...req,\n attendees: req.attendees,\n formAnswers: answersToAPI(req.formAnswers),\n }).pipe(map((resp: any) => resp as BookMeetingResponse));\n }\n\n cancelMeeting(req: { authToken: string, meetingId: string, cancellationReason: string }): Observable<null> {\n return this.guestAPIService.cancelMeeting(req).pipe(mapTo(null));\n }\n\n rescheduleMeeting(req: { authToken: string, meetingId: string, start: Date, timeZone?: TimeZoneInterface }): Observable<null> {\n return this.guestAPIService.rescheduleMeeting(req).pipe(mapTo(null));\n }\n\n // getHost returns an individual host by their hostId\n getHost(req: { hostId: string }): Observable<Host> {\n return this.guestAPIService.getHost(req).pipe(map(resp => HostFromApi(resp.host)))\n }\n\n // getCalendar returns a Calendar, which may represent an individual host OR a grouping of hosts (I.e., a team)\n getCalendar(req: { calendarId: string }): Observable<CalendarInterface> {\n return this.guestAPIService.getCalendar(req).pipe(map(resp => CalendarFromApi(resp.calendar)))\n }\n\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo> {\n return this.guestAPIService.getGuestBookedMeeting({\n meetingId: meetingId, authToken: authToken,\n }).pipe(\n map(resp => (<BookedMeetingInfo>{\n start: resp.startTime,\n end: resp.endTime,\n timeZone: resp.timeZone,\n meetingTypeId: resp.meetingTypeId\n }))\n )\n }\n\n isHostConfigured(req: { hostId: string }): Observable<boolean> {\n return this.guestAPIService.isHostConfigured(req).pipe(\n map((resp: GuestIsHostConfiguredResponse) => resp.isConfigured)\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {map, mapTo} from 'rxjs/operators';\nimport {\n CreateCalendarRequestInterface,\n CreateCalendarResponse,\n DayOfWeek,\n GetHostMeetingResponse,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponse,\n IsHostConfiguredResponse,\n ListAvailabilityRequestFiltersInterface,\n ListBookedMeetingsRequestFilters,\n ListBookedMeetingsRequestFiltersInterface,\n ListBookedMeetingsResponse,\n MeetingHostApiService,\n PagedRequestOptions,\n PagedRequestOptionsInterface,\n TimeRange,\n TimeRangeInterface,\n TimeZone,\n TimeZoneInterface,\n WeekdayAvailability\n} from '../_internal';\nimport {\n ApplicationContextPropertiesSet,\n AvailabilityRule,\n Calendar,\n CalendarFromApi,\n getFieldMask,\n HostUrlMap,\n Meeting,\n meetingFromApi,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n MeetingTypeToApi,\n PagedResponse,\n Preferences,\n PreferencesFromApi\n} from '../shared';\nimport {EnvironmentServiceInterface, EnvironmentServiceInterfaceToken} from '@vendasta/core';\nimport {getBookingUrlImplementation, getGeneralBookingUrlImplementation} from './url';\nimport {HostUser, hostUserFromApi} from '../shared/host-user'\n\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n constructor(\n private hostAPIService: MeetingHostApiService,\n @Inject(EnvironmentServiceInterfaceToken) private readonly environmentService: EnvironmentServiceInterface,\n ) {\n }\n\n // Use buildHostId to get an identifier that can be used in subsequent requests. See vendastaapis for more details\n buildHostId(req: { userId: string, applicationContextProperties: ApplicationContextPropertiesSet }): Observable<string> {\n return this.hostAPIService.buildHostId({\n userId: req.userId,\n // Gross typecast exists because I want to restrict the properties on the map (for now).\n applicationContextProperties: req.applicationContextProperties as any as { [key: string]: string }\n }\n ).pipe(map(res => res.hostId || ''));\n }\n\n doesCalendarExist(calendarIdentifier: string): Observable<boolean> {\n return this.hostAPIService.doesCalendarExist({calendarIdentifier: calendarIdentifier}).pipe(\n map(resp => resp.exists)\n );\n }\n\n getCalendar(req: { calendarId: string }): Observable<Calendar> {\n return this.hostAPIService.getCalendar({calendarId: req.calendarId}).pipe(\n map(res => CalendarFromApi(res?.calendar))\n );\n }\n\n ensurePersonalCalendarExists(req: {\n userId: string,\n applicationContextProperties: ApplicationContextPropertiesSet\n }): Observable<string> {\n return this.hostAPIService.ensurePersonalCalendarExists({\n userId: req.userId,\n applicationContextProperties: req.applicationContextProperties as any as { [key: string]: string },\n }).pipe(map(res => res ? res.calendarId : ''));\n }\n\n ensureGroupCalendarsExist(req: { externalIds: string[] }): Observable<string[]> {\n return this.hostAPIService.ensureGroupCalendarsExist({externalIds: req.externalIds}).pipe(\n map(res => res?.calendarIds || [])\n );\n }\n\n /*\n createCalendar creates a calendar which meeting types can be created for and events can be booked on\n The fields of a calendar are documented in https://github.com/vendasta/vendastaapis/blob/master/meetings/v1/shared.proto\n */\n createCalendar(req: CreateCalendarRequestInterface): Observable<CreateCalendarResponse> {\n return this.hostAPIService.createCalendar(req);\n }\n\n updateCalendarSlug(calendarId: string, newSlug: string): Observable<void> {\n return this.hostAPIService.updateCalendar({\n calendarId: calendarId,\n calendarUpdate: {slug: newSlug},\n fieldMask: {paths: ['slug']},\n }).pipe(mapTo(undefined));\n }\n\n updateCalendarHostUserIDs(calendarId: string, replacementHostUserIds: string[]): Observable<void> {\n return this.hostAPIService.updateCalendar({\n calendarId: calendarId,\n calendarUpdate: {hostUserIds: replacementHostUserIds},\n fieldMask: {paths: ['host_user_ids']},\n }).pipe(mapTo(undefined));\n }\n\n getMeetingTypesForCalendars(req: {\n calendarIds: string[],\n metadata: { [name: string]: string }\n }): Observable<{ [calendarId: string]: MeetingType[] }> {\n return this.hostAPIService.getMeetingTypesForCalendars({calendarIds: req.calendarIds}).pipe(\n map(res => {\n if (!res?.calendarMeetingTypesMap) {\n return {};\n }\n return Object.keys(res.calendarMeetingTypesMap).reduce((calendarToMeetingTypeMap, calendarId) => {\n const meetingTypes = (res.calendarMeetingTypesMap[calendarId]?.meetingTypes || []).map(mt => MeetingTypeFromApi({\n meetingTypeApi: mt,\n environment: this.environmentService.getEnvironment(),\n calendarId,\n metadata: req.metadata,\n }));\n return {\n ...calendarToMeetingTypeMap,\n [calendarId]: meetingTypes,\n };\n }, {} as { [calendarId: string]: MeetingType[] })\n })\n )\n }\n\n /*\n listMeetingTypes returns a list of meeting types for a host\n @param hostId: An identifier for an individual host\n @param metadata: optional metadata to include on the meeting type booking link\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n - calendarSlug IS NOT USED TO RETRIEVE MEETING TYPES, ONLY TO MAKE THE BOOKING URLS\n */\n listMeetingTypes(req: {\n hostId: string,\n metadata?: { [name: string]: string }\n calendarSlug?: string,\n }): Observable<MeetingType[]> {\n return this.hostAPIService.listMeetingTypes(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map(mt => {\n return MeetingTypeFromApi({\n meetingTypeApi: mt,\n calendarId: req.hostId,\n environment: this.environmentService.getEnvironment(),\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n )\n }\n\n /*\n getBookingUrl returns a link that can be used to book a meeting with this host.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param @deprecated hostId: An identifier for an individual host.\n @param meetingTypeId: An optional identifier for the meeting type. Default: 30-minutes.\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrl(\n req: {\n // @deprecated: use calendarId instead. calendarId not required to avoid breaking existing clients.\n hostId: string,\n calendarId?: string,\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string,\n meetingTypeSlug?: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }): Observable<string> {\n return of(getBookingUrlImplementation({\n ...req,\n calendarId: req.calendarId || req.hostId,\n environment: this.environmentService.getEnvironment(),\n calendarSlug: req.calendarSlug,\n })\n );\n }\n\n /*\n getGeneralBookingUrl returns a link that can be used to select a meeting type to book with the given calendar.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getGeneralBookingUrl(req: {\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }): Observable<string> {\n return of(getGeneralBookingUrlImplementation({\n environment: this.environmentService.getEnvironment(),\n calendarId: req.calendarId,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n }))\n }\n\n /*\n getBookingUrlsMulti returns a mapping of hosts -> event types -> booking links.\n @param calendarId: An identifier for an individual host or grouping of hosts.\n @param meetingTypeSlug: meetingTypeSlugs are passed in the form {hostId: [meetingTypeSlug1, meetingTypeSlug2]}\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrlsMulti(\n req: { [calendarId: string]: string[] },\n metadata?: { [name: string]: string },\n calendarSlug?: string\n ): Observable<HostUrlMap> {\n return of(Object.keys(req).reduce((hostMap, calendarId) => {\n return {\n ...hostMap,\n [calendarId]: req[calendarId].reduce((meetingTypeMap, meetingTypeSlug) => {\n return {\n ...meetingTypeMap,\n [meetingTypeSlug]: getBookingUrlImplementation({\n calendarId,\n meetingTypeSlug,\n metadata,\n environment: this.environmentService.getEnvironment(),\n calendarSlug,\n })\n };\n }, {} as { [meetingTypeId: string]: string })\n };\n }, {} as HostUrlMap));\n }\n\n isHostConfigured(req: { hostId: string }): Observable<boolean> {\n return this.hostAPIService.isHostConfigured(req).pipe(\n map((resp: IsHostConfiguredResponse) => resp.isConfigured)\n );\n }\n\n setGeneralAvailability(req: {\n hostId: string,\n meetingTypeId: string,\n // @deprecated: use weekdaysAvailability instead\n days?: DayOfWeek[],\n // @deprecated: use weekdaysAvailability instead\n timeSlot?: TimeRangeInterface,\n weekdaysAvailability?: WeekdayAvailability[],\n timeZone: TimeZoneInterface,\n }): Observable<null> {\n const apiReq = {\n ...req,\n timeZone: new TimeZone(req.timeZone),\n }\n if (req.timeSlot) {\n apiReq.timeSlot = new TimeRange(req.timeSlot)\n }\n return this.hostAPIService.setGeneralAvailability(apiReq).pipe(mapTo(null))\n }\n\n listBookedMeetings(req: {\n filters: ListBookedMeetingsRequestFiltersInterface,\n cursor: string,\n pageSize: number,\n timeZone: TimeZoneInterface,\n }): Observable<PagedResponse<Meeting>> {\n return this.hostAPIService.listBookedMeetings({\n ...req,\n pagingOptions: new PagedRequestOptions({cursor: req.cursor, pageSize: req.pageSize}),\n filters: new ListBookedMeetingsRequestFilters(req.filters),\n timeZone: new TimeZone(req.timeZone),\n }).pipe(\n map((resp: ListBookedMeetingsResponse) => {\n const meetings = (resp.meetings || []).map(meeting => meetingFromApi(meeting));\n return new PagedResponse(meetings, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);\n }),\n );\n }\n\n cancelMeeting(req: {\n meetingId: string,\n cancellationReason: string\n }): Observable<null> {\n return this.hostAPIService.cancelMeeting({\n ...req\n }).pipe(mapTo(null))\n }\n\n rescheduleMeeting(req: {\n meetingId: string,\n start: Date\n }): Observable<null> {\n return this.hostAPIService.rescheduleMeeting({\n ...req\n }).pipe(mapTo(null))\n }\n\n listAvailability(req: {\n filters: ListAvailabilityRequestFiltersInterface,\n pagingOptions: PagedRequestOptionsInterface,\n timeZone: TimeZoneInterface,\n }): Observable<PagedResponse<AvailabilityRule>> {\n return this.hostAPIService.listAvailability(req).pipe(\n map(response => {\n const results = (response.availabilityRules || []).filter(Boolean).map(a => {\n return {\n hostId: a.hostId || '',\n meetingTypeId: a.meetingTypeId || '',\n day: a.day,\n timeSlot: a.timeSlot,\n timeZone: a.timeZone,\n }\n });\n return new PagedResponse(results, response.metadata.nextCursor, response.metadata.hasMore);\n })\n )\n }\n\n /* updatePreferences will update the host's preferences.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updatePreferences({meetingIntegration: MeetingSource.MEETING_SOURCE_GOOGLE_MEET})\n * will only update the preference meetingIntegration to Google Meet. Keeping the other preferences the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updatePreferences({...object with all fields}, ['meetingIntegration'])\n * will only update the field 'meetingIntegration' to the value in preferences.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `Preferences` or with updateFields not linked to properties in\n * `Preferences` is an error.\n */\n updatePreferences(req: { hostId: string, preferences: Partial<Preferences>, updateFields?: (keyof Preferences)[] }): Observable<void> {\n const fieldMask = getFieldMask({o: req.preferences, updateFields: req.updateFields});\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService.updateHostPreferences({\n hostId: req.hostId,\n preferences: req.preferences,\n fieldMask,\n }).pipe(mapTo(undefined));\n }\n\n getPreferences(req: { hostId: string }): Observable<Preferences> {\n return this.hostAPIService.getHostPreferences({\n hostId: req.hostId\n }).pipe(map(response => PreferencesFromApi(response.preferences)))\n }\n\n getMeeting(meetingId: string, location: string): Observable<Meeting> {\n return this.hostAPIService.getHostMeeting({\n meetingId: meetingId, location: location,\n }).pipe(\n map((resp: GetHostMeetingResponse) => meetingFromApi(resp.meeting))\n )\n }\n\n updateMeetingMetadata(req: { meetingId: string, metadata: MeetingMetadata }): Observable<void> {\n return this.hostAPIService.updateMeetingMetadata({\n meetingId: req.meetingId,\n metadata: req.metadata\n }).pipe(mapTo(undefined));\n }\n\n bookMeeting(req: HostBookMeetingRequestInterface): Observable<string> {\n return this.hostAPIService.bookMeeting(req).pipe(map((resp: HostBookMeetingResponse) => resp.meetingId));\n }\n\n // createDefaultMeetingTypes will create what Meeting Scheduler deems to be the default meeting types.\n // If the calendar already has meeting types, this is guaranteed to be a no-op.\n createDefaultMeetingTypes(req: { calendarIds: string[], }): Observable<void> {\n return this.hostAPIService.createDefaultMeetingTypes({calendarIds: req.calendarIds}).pipe(mapTo(undefined));\n }\n\n createMeetingType(req: { meetingType: MeetingType }): Observable<string> {\n return this.hostAPIService.createMeetingType({meetingType: MeetingTypeToApi({meetingType: req.meetingType})})\n .pipe(map(res => res.id));\n }\n\n /* updateMeetingType will update the meeting type fields.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updateMeetingType({name: 'Onboarding'})\n * will only update the field 'name' to 'Onboarding'. Keeping the other fields the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updateMeetingType({...object with all fields}, ['name'])\n * will only update the field 'name' to the value passed in.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `MeetingType` or with updateFields not linked to properties in\n * `MeetingType` is an error.\n */\n updateMeetingType(req: { id: string, meetingType: Partial<MeetingType>, updateFields?: (keyof MeetingType)[] }): Observable<void> {\n const fieldMask = getFieldMask({o: req.meetingType, updateFields: req.updateFields});\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService.updateMeetingType({\n id: req.id,\n meetingType: MeetingTypeToApi({meetingType: req.meetingType}),\n fieldMask,\n }).pipe(mapTo(undefined));\n }\n\n deleteMeetingType(req: { id: string }): Observable<void> {\n return this.hostAPIService.deleteMeetingType({id: req.id}).pipe(mapTo(undefined));\n }\n\n getHostsForCalendar(req: { calendarId: string }): Observable<HostUser[]> {\n return this.hostAPIService.getHostsForCalendar({calendarId: req.calendarId}).pipe(\n map(res => {\n return (res.hostUsers || []).map(hostuser => {\n return hostUserFromApi(hostuser)\n })\n })\n )\n }\n\n}\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MeetingSource","MeetingSourceStatus","CalendarType","FormFieldType","DayOfWeek","e.MeetingSource","e.MeetingSourceStatus","enumStringToValue","e.ZoomMeetingType","e.ZoomMeetingRecurrenceType","e.ZoomMonthlyWeek","e.ZoomMonthlyWeekDay","e.ZoomApprovalType","e.ZoomRegistrationType","e.FormFieldType","e.CalendarType","e.DayOfWeek","Environment","Injectable","EnvironmentService","HttpHeaders","map","share","HttpClient","throwError","WellKnownMeetingMetadataKeys","WellKnownFormFieldIds","KnownCalendarApplicationContextKeys","KnownCalendarExternalIntegrations","mapTo","Inject","EnvironmentServiceInterfaceToken","of"],"mappings":"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"}