mediasfu-angular 1.0.2 → 2.0.1

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 (281) hide show
  1. package/README.md +686 -578
  2. package/dist/README.md +677 -578
  3. package/dist/fesm2022/mediasfu-angular.mjs +5551 -2944
  4. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  5. package/dist/lib/@types/types.d.ts +22 -1
  6. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +1 -0
  7. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +153 -61
  8. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +154 -66
  9. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +190 -76
  10. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +184 -70
  11. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +192 -78
  12. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +6 -1
  13. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +5 -2
  14. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +4 -2
  15. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +71 -66
  16. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +5 -1
  17. package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
  18. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +43 -11
  19. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +87 -46
  20. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +89 -43
  21. package/dist/lib/consumers/connect-send-transport.service.d.ts +5 -1
  22. package/dist/lib/consumers/create-send-transport.service.d.ts +130 -40
  23. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +77 -40
  24. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +48 -14
  25. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +81 -44
  26. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +5 -1
  27. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +5 -1
  28. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +54 -21
  29. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +124 -40
  30. package/dist/lib/consumers/trigger.service.d.ts +3 -0
  31. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +5 -1
  32. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +3 -0
  33. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +4 -1
  34. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +3 -0
  35. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +3 -0
  36. package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
  37. package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
  38. package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
  39. package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
  40. package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
  41. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +37 -20
  42. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
  43. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +7 -2
  44. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +7 -2
  45. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +5 -1
  46. package/dist/lib/sockets/socket-manager.service.d.ts +90 -0
  47. package/dist/public-api.d.ts +11 -1
  48. package/package.json +17 -20
  49. package/dist/esm2022/lib/@types/types.mjs +0 -2
  50. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -799
  51. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -366
  52. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -143
  53. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
  54. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -245
  55. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -79
  56. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -356
  57. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -80
  58. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -129
  59. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -138
  60. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
  61. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -282
  62. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -82
  63. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -65
  64. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -137
  65. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -137
  66. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -51
  67. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -101
  68. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -151
  69. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -250
  70. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -102
  71. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -140
  72. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -131
  73. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -120
  74. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -201
  75. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -115
  76. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -319
  77. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -161
  78. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
  79. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -126
  80. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -334
  81. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -112
  82. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -392
  83. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -106
  84. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -199
  85. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -132
  86. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -220
  87. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4238
  88. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3754
  89. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5071
  90. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5380
  91. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5068
  92. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -83
  93. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -27
  94. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -27
  95. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -125
  96. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -106
  97. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -228
  98. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -277
  99. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -130
  100. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -343
  101. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -127
  102. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -241
  103. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -82
  104. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -139
  105. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -40
  106. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -60
  107. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -124
  108. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -201
  109. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -92
  110. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -133
  111. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -90
  112. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -81
  113. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -147
  114. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -627
  115. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -391
  116. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -201
  117. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -286
  118. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1833
  119. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -345
  120. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -109
  121. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -60
  122. package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -551
  123. package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -93
  124. package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -105
  125. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -106
  126. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -331
  127. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -106
  128. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -98
  129. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -154
  130. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -146
  131. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -84
  132. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -102
  133. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -99
  134. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -140
  135. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -368
  136. package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -113
  137. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -172
  138. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -108
  139. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -84
  140. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -101
  141. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -513
  142. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -106
  143. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -120
  144. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -82
  145. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -79
  146. package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -91
  147. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -95
  148. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -103
  149. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -541
  150. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -101
  151. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -128
  152. package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -114
  153. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -239
  154. package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -173
  155. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -87
  156. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -69
  157. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -239
  158. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -101
  159. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -150
  160. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -103
  161. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -91
  162. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
  163. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -96
  164. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -100
  165. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -78
  166. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -120
  167. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -175
  168. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -185
  169. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -210
  170. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -193
  171. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -260
  172. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -120
  173. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -260
  174. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -172
  175. package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -210
  176. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -135
  177. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -84
  178. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -48
  179. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -183
  180. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -46
  181. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -46
  182. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -104
  183. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -46
  184. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -194
  185. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -52
  186. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -42
  187. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -85
  188. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -44
  189. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -45
  190. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -143
  191. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -47
  192. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -98
  193. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -96
  194. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -107
  195. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -75
  196. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -72
  197. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -83
  198. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -43
  199. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -95
  200. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -69
  201. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -56
  202. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -278
  203. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -125
  204. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -67
  205. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -130
  206. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -134
  207. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -80
  208. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -197
  209. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -112
  210. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -272
  211. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -51
  212. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -84
  213. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -51
  214. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -109
  215. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -275
  216. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -75
  217. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -178
  218. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -271
  219. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -80
  220. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -116
  221. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -132
  222. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -57
  223. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -120
  224. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -126
  225. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -78
  226. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -90
  227. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -59
  228. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -32
  229. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -31
  230. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
  231. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -96
  232. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -315
  233. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -58
  234. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -87
  235. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -61
  236. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -87
  237. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -84
  238. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -17
  239. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -63
  240. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -49
  241. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -41
  242. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -69
  243. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -98
  244. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -44
  245. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -74
  246. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -96
  247. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -276
  248. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -152
  249. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -152
  250. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -228
  251. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -218
  252. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -57
  253. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -76
  254. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -183
  255. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -50
  256. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -64
  257. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -78
  258. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -150
  259. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -73
  260. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -47
  261. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -63
  262. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -63
  263. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -54
  264. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -129
  265. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -152
  266. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -99
  267. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -67
  268. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -134
  269. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -233
  270. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -121
  271. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -86
  272. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -60
  273. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -62
  274. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -57
  275. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -105
  276. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -66
  277. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -96
  278. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -52
  279. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -113
  280. package/dist/esm2022/mediasfu-angular.mjs +0 -5
  281. package/dist/esm2022/public-api.mjs +0 -187
@@ -1,143 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Sends a message to the specified room.
5
- *
6
- * This method validates the message and its recipients, checks user permissions,
7
- * and then emits the message to the server via a socket connection. It also
8
- * handles alerting the user for any errors encountered during the process,
9
- * such as exceeding message limits or invalid input.
10
- *
11
- * @param {SendMessageOptions} options - The options for sending the message.
12
- * @param {string} options.member - The member sending the message.
13
- * @param {string} options.islevel - The level of the member.
14
- * @param {Function} options.showAlert - Function to show alert messages.
15
- * @param {Array} options.coHostResponsibility - List of co-host responsibilities.
16
- * @param {string} options.coHost - The co-host of the room.
17
- * @param {string} options.chatSetting - Chat setting for the room.
18
- * @param {string} options.message - The message to be sent.
19
- * @param {string} options.roomName - The name of the room.
20
- * @param {number} options.messagesLength - The current number of messages in the room.
21
- * @param {Array} options.receivers - List of receivers for the message.
22
- * @param {boolean} options.group - Indicates if the message is for a group.
23
- * @param {string} options.sender - The sender of the message.
24
- * @param {Object} options.socket - The socket instance for emitting events.
25
- *
26
- * @returns {Promise<void>} A promise that resolves when the message is sent.
27
- *
28
- * @throws Will throw an error if the message count limit is exceeded.
29
- * @throws Will throw an error if the message, sender, or receivers are not valid.
30
- * @throws Will throw an error if the user is not allowed to send a message in the event room.
31
- *
32
- * @example
33
- * ```typescript
34
- * const sendMessageService = new SendMessage();
35
- * await sendMessageService.sendMessage({
36
- * member: 'JohnDoe',
37
- * islevel: '1',
38
- * showAlert: (alert) => console.log(alert.message),
39
- * coHostResponsibility: [],
40
- * coHost: 'JaneDoe',
41
- * chatSetting: 'allowed',
42
- * message: 'Hello everyone!',
43
- * roomName: 'Room1',
44
- * messagesLength: 50,
45
- * receivers: ['user1', 'user2'],
46
- * group: true,
47
- * sender: 'JohnDoe',
48
- * socket: socketInstance,
49
- * });
50
- * ```
51
- */
52
- export class SendMessage {
53
- /**
54
- * Sends a message to the specified room.
55
- *
56
- * @param {Object} options - The options for sending the message.
57
- * @param {string} options.member - The member sending the message.
58
- * @param {string} options.islevel - The level of the member.
59
- * @param {Function} options.showAlert - Function to show alert messages.
60
- * @param {Array} options.coHostResponsibility - List of co-host responsibilities.
61
- * @param {string} options.coHost - The co-host of the room.
62
- * @param {boolean} options.chatSetting - Chat setting for the room.
63
- * @param {string} options.message - The message to be sent.
64
- * @param {string} options.roomName - The name of the room.
65
- * @param {number} options.messagesLength - The current number of messages in the room.
66
- * @param {Array} options.receivers - List of receivers for the message.
67
- * @param {boolean} options.group - Indicates if the message is for a group.
68
- * @param {string} options.sender - The sender of the message.
69
- * @param {Object} options.socket - The socket instance for communication.
70
- *
71
- * @returns {Promise<void>} A promise that resolves when the message is sent.
72
- *
73
- * @throws Will throw an error if the message count limit is exceeded.
74
- * @throws Will throw an error if the message, sender, or receivers are not valid.
75
- * @throws Will throw an error if the user is not allowed to send a message in the event room.
76
- */
77
- async sendMessage({ member, islevel, showAlert, coHostResponsibility, coHost, chatSetting, message, roomName, messagesLength, receivers, group, sender, socket, }) {
78
- let chatValue = false;
79
- // Check message count limit based on the room type
80
- if ((messagesLength > 100 && roomName.startsWith('d')) ||
81
- (messagesLength > 500 && roomName.startsWith('s')) ||
82
- (messagesLength > 100000 && roomName.startsWith('p'))) {
83
- showAlert?.({
84
- message: 'You have reached the maximum number of messages allowed.',
85
- type: 'danger',
86
- duration: 3000,
87
- });
88
- return;
89
- }
90
- // Validate message, sender, and receivers
91
- if (!message || !receivers || (!member && !sender)) {
92
- showAlert?.({
93
- message: 'Message is not valid.',
94
- type: 'danger',
95
- duration: 3000,
96
- });
97
- return;
98
- }
99
- // Create the message object
100
- const messageObject = {
101
- sender: sender ? sender : member,
102
- receivers: receivers,
103
- message: message,
104
- timestamp: new Date().toLocaleTimeString(),
105
- group: group !== undefined && group !== null ? group : false,
106
- };
107
- try {
108
- // Check co-host responsibility for chat
109
- chatValue = coHostResponsibility.find((item) => item.name === 'chat')?.value ?? false;
110
- }
111
- catch (error) {
112
- console.error(error);
113
- }
114
- if (islevel === '2' || (coHost === member && chatValue === true)) {
115
- // Allow sending message
116
- }
117
- else {
118
- // Check if user is allowed to send a message in the event room
119
- if (!chatSetting) {
120
- showAlert?.({
121
- message: 'You are not allowed to send a message in this event room',
122
- type: 'danger',
123
- duration: 3000,
124
- });
125
- return;
126
- }
127
- }
128
- // Send the message to the server
129
- socket.emit('sendMessage', {
130
- messageObject: messageObject,
131
- roomName: roomName,
132
- });
133
- }
134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SendMessage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
135
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SendMessage, providedIn: 'root' });
136
- }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SendMessage, decorators: [{
138
- type: Injectable,
139
- args: [{
140
- providedIn: 'root',
141
- }]
142
- }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9tZXNzYWdlLW1ldGhvZHMvc2VuZC1tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF1QjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnREc7QUFLSCxNQUFNLE9BQU8sV0FBVztJQUN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F1Qkc7SUFFSCxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQ2hCLE1BQU0sRUFDTixPQUFPLEVBQ1AsU0FBUyxFQUNULG9CQUFvQixFQUNwQixNQUFNLEVBQ04sV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLEVBQ1IsY0FBYyxFQUNkLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDYTtRQUNuQixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdEIsbURBQW1EO1FBQ25ELElBQ0UsQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxjQUFjLEdBQUcsTUFBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDckQsQ0FBQztZQUNELFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSwwREFBMEQ7Z0JBQ25FLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBQ0gsT0FBTztRQUNULENBQUM7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuRCxTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQztZQUNILE9BQU87UUFDVCxDQUFDO1FBRUQsNEJBQTRCO1FBQzVCLE1BQU0sYUFBYSxHQUFZO1lBQzdCLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUNoQyxTQUFTLEVBQUUsU0FBUztZQUNwQixPQUFPLEVBQUUsT0FBTztZQUNoQixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQyxLQUFLLEVBQUUsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDN0QsQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILHdDQUF3QztZQUN4QyxTQUFTLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUM7UUFDeEYsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pFLHdCQUF3QjtRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLCtEQUErRDtZQUMvRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pCLFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSwwREFBMEQ7b0JBQ25FLElBQUksRUFBRSxRQUFRO29CQUNkLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztnQkFDSCxPQUFPO1lBQ1QsQ0FBQztRQUNILENBQUM7UUFFRCxpQ0FBaUM7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDekIsYUFBYSxFQUFFLGFBQWE7WUFDNUIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0F0R1UsV0FBVzsyR0FBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IENvSG9zdFJlc3BvbnNpYmlsaXR5LCBNZXNzYWdlLCBTaG93QWxlcnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNZXNzYWdlT3B0aW9ucyB7XG4gIG1lbWJlcjogc3RyaW5nO1xuICBpc2xldmVsOiBzdHJpbmc7XG4gIHNob3dBbGVydD86IFNob3dBbGVydDtcbiAgY29Ib3N0UmVzcG9uc2liaWxpdHk6IENvSG9zdFJlc3BvbnNpYmlsaXR5W107XG4gIGNvSG9zdDogc3RyaW5nO1xuICBjaGF0U2V0dGluZzogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIG1lc3NhZ2VzTGVuZ3RoOiBudW1iZXI7XG4gIHJlY2VpdmVyczogc3RyaW5nW107XG4gIGdyb3VwOiBib29sZWFuO1xuICBzZW5kZXI6IHN0cmluZztcbiAgc29ja2V0OiBTb2NrZXQ7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFNlbmRNZXNzYWdlVHlwZSA9IChvcHRpb25zOiBTZW5kTWVzc2FnZU9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBzcGVjaWZpZWQgcm9vbS5cbiAqXG4gKiBUaGlzIG1ldGhvZCB2YWxpZGF0ZXMgdGhlIG1lc3NhZ2UgYW5kIGl0cyByZWNpcGllbnRzLCBjaGVja3MgdXNlciBwZXJtaXNzaW9ucyxcbiAqIGFuZCB0aGVuIGVtaXRzIHRoZSBtZXNzYWdlIHRvIHRoZSBzZXJ2ZXIgdmlhIGEgc29ja2V0IGNvbm5lY3Rpb24uIEl0IGFsc29cbiAqIGhhbmRsZXMgYWxlcnRpbmcgdGhlIHVzZXIgZm9yIGFueSBlcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIHRoZSBwcm9jZXNzLFxuICogc3VjaCBhcyBleGNlZWRpbmcgbWVzc2FnZSBsaW1pdHMgb3IgaW52YWxpZCBpbnB1dC5cbiAqXG4gKiBAcGFyYW0ge1NlbmRNZXNzYWdlT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubWVtYmVyIC0gVGhlIG1lbWJlciBzZW5kaW5nIHRoZSBtZXNzYWdlLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuaXNsZXZlbCAtIFRoZSBsZXZlbCBvZiB0aGUgbWVtYmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5zaG93QWxlcnQgLSBGdW5jdGlvbiB0byBzaG93IGFsZXJ0IG1lc3NhZ2VzLlxuICogQHBhcmFtIHtBcnJheX0gb3B0aW9ucy5jb0hvc3RSZXNwb25zaWJpbGl0eSAtIExpc3Qgb2YgY28taG9zdCByZXNwb25zaWJpbGl0aWVzLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuY29Ib3N0IC0gVGhlIGNvLWhvc3Qgb2YgdGhlIHJvb20uXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jaGF0U2V0dGluZyAtIENoYXQgc2V0dGluZyBmb3IgdGhlIHJvb20uXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5tZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgc2VudC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJvb21OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHJvb20uXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5tZXNzYWdlc0xlbmd0aCAtIFRoZSBjdXJyZW50IG51bWJlciBvZiBtZXNzYWdlcyBpbiB0aGUgcm9vbS5cbiAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMucmVjZWl2ZXJzIC0gTGlzdCBvZiByZWNlaXZlcnMgZm9yIHRoZSBtZXNzYWdlLlxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmdyb3VwIC0gSW5kaWNhdGVzIGlmIHRoZSBtZXNzYWdlIGlzIGZvciBhIGdyb3VwLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuc2VuZGVyIC0gVGhlIHNlbmRlciBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnNvY2tldCAtIFRoZSBzb2NrZXQgaW5zdGFuY2UgZm9yIGVtaXR0aW5nIGV2ZW50cy5cbiAqXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbWVzc2FnZSBpcyBzZW50LlxuICpcbiAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgbWVzc2FnZSBjb3VudCBsaW1pdCBpcyBleGNlZWRlZC5cbiAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgbWVzc2FnZSwgc2VuZGVyLCBvciByZWNlaXZlcnMgYXJlIG5vdCB2YWxpZC5cbiAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgdXNlciBpcyBub3QgYWxsb3dlZCB0byBzZW5kIGEgbWVzc2FnZSBpbiB0aGUgZXZlbnQgcm9vbS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc2VuZE1lc3NhZ2VTZXJ2aWNlID0gbmV3IFNlbmRNZXNzYWdlKCk7XG4gKiBhd2FpdCBzZW5kTWVzc2FnZVNlcnZpY2Uuc2VuZE1lc3NhZ2Uoe1xuICogICBtZW1iZXI6ICdKb2huRG9lJyxcbiAqICAgaXNsZXZlbDogJzEnLFxuICogICBzaG93QWxlcnQ6IChhbGVydCkgPT4gY29uc29sZS5sb2coYWxlcnQubWVzc2FnZSksXG4gKiAgIGNvSG9zdFJlc3BvbnNpYmlsaXR5OiBbXSxcbiAqICAgY29Ib3N0OiAnSmFuZURvZScsXG4gKiAgIGNoYXRTZXR0aW5nOiAnYWxsb3dlZCcsXG4gKiAgIG1lc3NhZ2U6ICdIZWxsbyBldmVyeW9uZSEnLFxuICogICByb29tTmFtZTogJ1Jvb20xJyxcbiAqICAgbWVzc2FnZXNMZW5ndGg6IDUwLFxuICogICByZWNlaXZlcnM6IFsndXNlcjEnLCAndXNlcjInXSxcbiAqICAgZ3JvdXA6IHRydWUsXG4gKiAgIHNlbmRlcjogJ0pvaG5Eb2UnLFxuICogICBzb2NrZXQ6IHNvY2tldEluc3RhbmNlLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2VuZE1lc3NhZ2Uge1xuICAvKipcbiAgICogU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBzcGVjaWZpZWQgcm9vbS5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubWVtYmVyIC0gVGhlIG1lbWJlciBzZW5kaW5nIHRoZSBtZXNzYWdlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5pc2xldmVsIC0gVGhlIGxldmVsIG9mIHRoZSBtZW1iZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMuc2hvd0FsZXJ0IC0gRnVuY3Rpb24gdG8gc2hvdyBhbGVydCBtZXNzYWdlcy5cbiAgICogQHBhcmFtIHtBcnJheX0gb3B0aW9ucy5jb0hvc3RSZXNwb25zaWJpbGl0eSAtIExpc3Qgb2YgY28taG9zdCByZXNwb25zaWJpbGl0aWVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jb0hvc3QgLSBUaGUgY28taG9zdCBvZiB0aGUgcm9vbS5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmNoYXRTZXR0aW5nIC0gQ2hhdCBzZXR0aW5nIGZvciB0aGUgcm9vbS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHNlbnQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJvb21OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHJvb20uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLm1lc3NhZ2VzTGVuZ3RoIC0gVGhlIGN1cnJlbnQgbnVtYmVyIG9mIG1lc3NhZ2VzIGluIHRoZSByb29tLlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLnJlY2VpdmVycyAtIExpc3Qgb2YgcmVjZWl2ZXJzIGZvciB0aGUgbWVzc2FnZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmdyb3VwIC0gSW5kaWNhdGVzIGlmIHRoZSBtZXNzYWdlIGlzIGZvciBhIGdyb3VwLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5zZW5kZXIgLSBUaGUgc2VuZGVyIG9mIHRoZSBtZXNzYWdlLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5zb2NrZXQgLSBUaGUgc29ja2V0IGluc3RhbmNlIGZvciBjb21tdW5pY2F0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbWVzc2FnZSBpcyBzZW50LlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIG1lc3NhZ2UgY291bnQgbGltaXQgaXMgZXhjZWVkZWQuXG4gICAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgbWVzc2FnZSwgc2VuZGVyLCBvciByZWNlaXZlcnMgYXJlIG5vdCB2YWxpZC5cbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSB1c2VyIGlzIG5vdCBhbGxvd2VkIHRvIHNlbmQgYSBtZXNzYWdlIGluIHRoZSBldmVudCByb29tLlxuICAgKi9cblxuICBhc3luYyBzZW5kTWVzc2FnZSh7XG4gICAgbWVtYmVyLFxuICAgIGlzbGV2ZWwsXG4gICAgc2hvd0FsZXJ0LFxuICAgIGNvSG9zdFJlc3BvbnNpYmlsaXR5LFxuICAgIGNvSG9zdCxcbiAgICBjaGF0U2V0dGluZyxcbiAgICBtZXNzYWdlLFxuICAgIHJvb21OYW1lLFxuICAgIG1lc3NhZ2VzTGVuZ3RoLFxuICAgIHJlY2VpdmVycyxcbiAgICBncm91cCxcbiAgICBzZW5kZXIsXG4gICAgc29ja2V0LFxuICB9OiBTZW5kTWVzc2FnZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgY2hhdFZhbHVlID0gZmFsc2U7XG5cbiAgICAvLyBDaGVjayBtZXNzYWdlIGNvdW50IGxpbWl0IGJhc2VkIG9uIHRoZSByb29tIHR5cGVcbiAgICBpZiAoXG4gICAgICAobWVzc2FnZXNMZW5ndGggPiAxMDAgJiYgcm9vbU5hbWUuc3RhcnRzV2l0aCgnZCcpKSB8fFxuICAgICAgKG1lc3NhZ2VzTGVuZ3RoID4gNTAwICYmIHJvb21OYW1lLnN0YXJ0c1dpdGgoJ3MnKSkgfHxcbiAgICAgIChtZXNzYWdlc0xlbmd0aCA+IDEwMDAwMCAmJiByb29tTmFtZS5zdGFydHNXaXRoKCdwJykpXG4gICAgKSB7XG4gICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgIG1lc3NhZ2U6ICdZb3UgaGF2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBtZXNzYWdlcyBhbGxvd2VkLicsXG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIG1lc3NhZ2UsIHNlbmRlciwgYW5kIHJlY2VpdmVyc1xuICAgIGlmICghbWVzc2FnZSB8fCAhcmVjZWl2ZXJzIHx8ICghbWVtYmVyICYmICFzZW5kZXIpKSB7XG4gICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlIGlzIG5vdCB2YWxpZC4nLFxuICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdGhlIG1lc3NhZ2Ugb2JqZWN0XG4gICAgY29uc3QgbWVzc2FnZU9iamVjdDogTWVzc2FnZSA9IHtcbiAgICAgIHNlbmRlcjogc2VuZGVyID8gc2VuZGVyIDogbWVtYmVyLFxuICAgICAgcmVjZWl2ZXJzOiByZWNlaXZlcnMsXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvTG9jYWxlVGltZVN0cmluZygpLFxuICAgICAgZ3JvdXA6IGdyb3VwICE9PSB1bmRlZmluZWQgJiYgZ3JvdXAgIT09IG51bGwgPyBncm91cCA6IGZhbHNlLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgLy8gQ2hlY2sgY28taG9zdCByZXNwb25zaWJpbGl0eSBmb3IgY2hhdFxuICAgICAgY2hhdFZhbHVlID0gY29Ib3N0UmVzcG9uc2liaWxpdHkuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSAnY2hhdCcpPy52YWx1ZSA/PyBmYWxzZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuXG4gICAgaWYgKGlzbGV2ZWwgPT09ICcyJyB8fCAoY29Ib3N0ID09PSBtZW1iZXIgJiYgY2hhdFZhbHVlID09PSB0cnVlKSkge1xuICAgICAgLy8gQWxsb3cgc2VuZGluZyBtZXNzYWdlXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENoZWNrIGlmIHVzZXIgaXMgYWxsb3dlZCB0byBzZW5kIGEgbWVzc2FnZSBpbiB0aGUgZXZlbnQgcm9vbVxuICAgICAgaWYgKCFjaGF0U2V0dGluZykge1xuICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgbWVzc2FnZTogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gc2VuZCBhIG1lc3NhZ2UgaW4gdGhpcyBldmVudCByb29tJyxcbiAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSBzZXJ2ZXJcbiAgICBzb2NrZXQuZW1pdCgnc2VuZE1lc3NhZ2UnLCB7XG4gICAgICBtZXNzYWdlT2JqZWN0OiBtZXNzYWdlT2JqZWN0LFxuICAgICAgcm9vbU5hbWU6IHJvb21OYW1lLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Toggles the visibility of the participants modal.
5
- *
6
- * This method checks the current visibility state of the participants modal
7
- * and updates it accordingly. If the modal is currently visible, it will be hidden.
8
- * If it is hidden, it will be displayed.
9
- *
10
- * @param {LaunchParticipantsOptions} options - The options for toggling the participants modal.
11
- * @param {Function} options.updateIsParticipantsModalVisible - Function to update the visibility state of the participants modal.
12
- * @param {boolean} options.isParticipantsModalVisible - Current visibility state of the participants modal.
13
- *
14
- * @returns {void}
15
- *
16
- * @example
17
- * ```typescript
18
- * const launchParticipantsService = new LaunchParticipants();
19
- * launchParticipantsService.launchParticipants({
20
- * updateIsParticipantsModalVisible: (isVisible) => {
21
- * console.log(`Participants modal is now ${isVisible ? 'visible' : 'hidden'}`);
22
- * },
23
- * isParticipantsModalVisible: false,
24
- * });
25
- * ```
26
- */
27
- export class LaunchParticipants {
28
- /**
29
- * Toggles the visibility of the participants modal.
30
- * @function
31
- * @param {Object} options - The options object containing necessary variables and functions.
32
- * @param {Function} options.updateIsParticipantsModalVisible - Function to update the visibility state of the participants modal.
33
- * @param {boolean} options.isParticipantsModalVisible - Current visibility state of the participants modal.
34
- */
35
- launchParticipants({ updateIsParticipantsModalVisible, isParticipantsModalVisible, }) {
36
- updateIsParticipantsModalVisible(!isParticipantsModalVisible);
37
- }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchParticipants, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchParticipants, providedIn: 'root' });
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchParticipants, decorators: [{
42
- type: Injectable,
43
- args: [{
44
- providedIn: 'root',
45
- }]
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLXBhcnRpY2lwYW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvcGFydGljaXBhbnRzLW1ldGhvZHMvbGF1bmNoLXBhcnRpY2lwYW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7OztPQU1HO0lBRUgsa0JBQWtCLENBQUMsRUFDakIsZ0NBQWdDLEVBQ2hDLDBCQUEwQixHQUNBO1FBQzFCLGdDQUFnQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNoRSxDQUFDO3VHQWRVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5leHBvcnQgaW50ZXJmYWNlIExhdW5jaFBhcnRpY2lwYW50c09wdGlvbnMge1xuICB1cGRhdGVJc1BhcnRpY2lwYW50c01vZGFsVmlzaWJsZTogKGlzVmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgaXNQYXJ0aWNpcGFudHNNb2RhbFZpc2libGU6IGJvb2xlYW47XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIExhdW5jaFBhcnRpY2lwYW50c1R5cGUgPSAob3B0aW9uczogTGF1bmNoUGFydGljaXBhbnRzT3B0aW9ucykgPT4gdm9pZDtcblxuLyoqXG4gKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBwYXJ0aWNpcGFudHMgbW9kYWwuXG4gKlxuICogVGhpcyBtZXRob2QgY2hlY2tzIHRoZSBjdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHBhcnRpY2lwYW50cyBtb2RhbFxuICogYW5kIHVwZGF0ZXMgaXQgYWNjb3JkaW5nbHkuIElmIHRoZSBtb2RhbCBpcyBjdXJyZW50bHkgdmlzaWJsZSwgaXQgd2lsbCBiZSBoaWRkZW4uXG4gKiBJZiBpdCBpcyBoaWRkZW4sIGl0IHdpbGwgYmUgZGlzcGxheWVkLlxuICpcbiAqIEBwYXJhbSB7TGF1bmNoUGFydGljaXBhbnRzT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0b2dnbGluZyB0aGUgcGFydGljaXBhbnRzIG1vZGFsLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc1BhcnRpY2lwYW50c01vZGFsVmlzaWJsZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgcGFydGljaXBhbnRzIG1vZGFsLlxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmlzUGFydGljaXBhbnRzTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBwYXJ0aWNpcGFudHMgbW9kYWwuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxhdW5jaFBhcnRpY2lwYW50c1NlcnZpY2UgPSBuZXcgTGF1bmNoUGFydGljaXBhbnRzKCk7XG4gKiBsYXVuY2hQYXJ0aWNpcGFudHNTZXJ2aWNlLmxhdW5jaFBhcnRpY2lwYW50cyh7XG4gKiAgIHVwZGF0ZUlzUGFydGljaXBhbnRzTW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlKSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coYFBhcnRpY2lwYW50cyBtb2RhbCBpcyBub3cgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gKTtcbiAqICAgfSxcbiAqICAgaXNQYXJ0aWNpcGFudHNNb2RhbFZpc2libGU6IGZhbHNlLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYXVuY2hQYXJ0aWNpcGFudHMge1xuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgcGFydGljaXBhbnRzIG1vZGFsLlxuICAgKiBAZnVuY3Rpb25cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3QgY29udGFpbmluZyBuZWNlc3NhcnkgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNQYXJ0aWNpcGFudHNNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHBhcnRpY2lwYW50cyBtb2RhbC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmlzUGFydGljaXBhbnRzTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBwYXJ0aWNpcGFudHMgbW9kYWwuXG4gICAqL1xuXG4gIGxhdW5jaFBhcnRpY2lwYW50cyh7XG4gICAgdXBkYXRlSXNQYXJ0aWNpcGFudHNNb2RhbFZpc2libGUsXG4gICAgaXNQYXJ0aWNpcGFudHNNb2RhbFZpc2libGUsXG4gIH06IExhdW5jaFBhcnRpY2lwYW50c09wdGlvbnMpOiB2b2lkIHtcbiAgICB1cGRhdGVJc1BhcnRpY2lwYW50c01vZGFsVmlzaWJsZSghaXNQYXJ0aWNpcGFudHNNb2RhbFZpc2libGUpO1xuICB9XG59XG4iXX0=
@@ -1,98 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Sends a direct message to a participant if certain conditions are met.
5
- *
6
- * This method checks the current user's level and their co-host responsibilities
7
- * to determine if they are allowed to send a direct message to a specified participant.
8
- * If the user has the appropriate permissions, the method updates the direct message
9
- * details and opens the messages modal. If the user is not allowed to send the message,
10
- * an alert is displayed.
11
- *
12
- * @param {MessageParticipantsOptions} options - The options for sending a message to a participant.
13
- * @param {CoHostResponsibility[]} options.coHostResponsibility - Array of responsibilities assigned to the co-host.
14
- * @param {Participant} options.participant - The participant to whom the message is to be sent.
15
- * @param {string} options.member - The current member attempting to send the message.
16
- * @param {string} options.islevel - The level of the current member.
17
- * @param {Function} [options.showAlert] - Function to show an alert message if the message cannot be sent.
18
- * @param {string} options.coHost - The co-host member.
19
- * @param {Function} options.updateIsMessagesModalVisible - Function to update the visibility of the messages modal.
20
- * @param {Function} options.updateDirectMessageDetails - Function to update the details of the direct message.
21
- * @param {Function} options.updateStartDirectMessage - Function to start the direct message.
22
- *
23
- * @returns {void}
24
- *
25
- * @example
26
- * ```typescript
27
- * const messageService = new MessageParticipants();
28
- * messageService.messageParticipants({
29
- * coHostResponsibility: [{ name: 'chat', value: true }],
30
- * participant: { name: 'John', islevel: '1' },
31
- * member: 'Alice',
32
- * islevel: '1',
33
- * showAlert: ({ message, type, duration }) => {
34
- * console.log(`Alert: ${message} - Type: ${type} - Duration: ${duration}`);
35
- * },
36
- * coHost: 'Bob',
37
- * updateIsMessagesModalVisible: (isVisible) => {
38
- * console.log(`Messages modal is now ${isVisible ? 'visible' : 'hidden'}`);
39
- * },
40
- * updateDirectMessageDetails: (participant) => {
41
- * console.log(`Direct messaging: ${participant.name}`);
42
- * },
43
- * updateStartDirectMessage: (start) => {
44
- * console.log(`Direct messaging started: ${start}`);
45
- * },
46
- * });
47
- * ```
48
- */
49
- export class MessageParticipants {
50
- /**
51
- * Sends a direct message to a participant if certain conditions are met.
52
- *s
53
- * @param coHostResponsibility - Array of responsibilities assigned to the co-host.
54
- * @param participant - The participant to whom the message is to be sent.
55
- * @param member - The current member attempting to send the message.
56
- * @param islevel - The level of the current member.
57
- * @param showAlert - Function to show an alert message.
58
- * @param coHost - The co-host member.
59
- * @param updateIsMessagesModalVisible - Function to update the visibility of the messages modal.
60
- * @param updateDirectMessageDetails - Function to update the details of the direct message.
61
- * @param updateStartDirectMessage - Function to start the direct message.
62
- *
63
- * @returns void
64
- */
65
- messageParticipants({ coHostResponsibility, participant, member, islevel, showAlert, coHost, updateIsMessagesModalVisible, updateDirectMessageDetails, updateStartDirectMessage, }) {
66
- let chatValue = false;
67
- try {
68
- chatValue = coHostResponsibility.find((item) => item.name === 'chat')?.value ?? false;
69
- }
70
- catch (error) {
71
- console.error(error);
72
- }
73
- if (islevel === '2' || (coHost === member && chatValue === true)) {
74
- if (participant.islevel !== '2') {
75
- updateDirectMessageDetails(participant);
76
- updateStartDirectMessage(true);
77
- updateIsMessagesModalVisible(true);
78
- }
79
- }
80
- else {
81
- showAlert?.({
82
- message: 'You are not allowed to send this message',
83
- type: 'danger',
84
- duration: 3000,
85
- });
86
- return;
87
- }
88
- }
89
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MessageParticipants, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
90
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MessageParticipants, providedIn: 'root' });
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MessageParticipants, decorators: [{
93
- type: Injectable,
94
- args: [{
95
- providedIn: 'root',
96
- }]
97
- }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1wYXJ0aWNpcGFudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3BhcnRpY2lwYW50cy1tZXRob2RzL21lc3NhZ2UtcGFydGljaXBhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q0c7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0gsbUJBQW1CLENBQUMsRUFDbEIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxNQUFNLEVBQ04sT0FBTyxFQUNQLFNBQVMsRUFDVCxNQUFNLEVBQ04sNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQix3QkFBd0IsR0FDRztRQUMzQixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxDQUFDO1lBQ0gsU0FBUyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ3hGLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hDLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4Qyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLDBDQUEwQztnQkFDbkQsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7WUFFSCxPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7dUdBbERVLG1CQUFtQjsyR0FBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJ0aWNpcGFudCwgQ29Ib3N0UmVzcG9uc2liaWxpdHksIFNob3dBbGVydCB9IGZyb20gJy4uLy4uL0B0eXBlcy90eXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VQYXJ0aWNpcGFudHNPcHRpb25zIHtcbiAgY29Ib3N0UmVzcG9uc2liaWxpdHk6IENvSG9zdFJlc3BvbnNpYmlsaXR5W107XG4gIHBhcnRpY2lwYW50OiBQYXJ0aWNpcGFudDtcbiAgbWVtYmVyOiBzdHJpbmc7XG4gIGlzbGV2ZWw6IHN0cmluZztcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xuICBjb0hvc3Q6IHN0cmluZztcbiAgdXBkYXRlSXNNZXNzYWdlc01vZGFsVmlzaWJsZTogKGlzVmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlRGlyZWN0TWVzc2FnZURldGFpbHM6IChwYXJ0aWNpcGFudDogUGFydGljaXBhbnQgfCBudWxsKSA9PiB2b2lkO1xuICB1cGRhdGVTdGFydERpcmVjdE1lc3NhZ2U6IChzdGFydDogYm9vbGVhbikgPT4gdm9pZDtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgTWVzc2FnZVBhcnRpY2lwYW50c1R5cGUgPSAob3B0aW9uczogTWVzc2FnZVBhcnRpY2lwYW50c09wdGlvbnMpID0+IHZvaWQ7XG5cbi8qKlxuICogU2VuZHMgYSBkaXJlY3QgbWVzc2FnZSB0byBhIHBhcnRpY2lwYW50IGlmIGNlcnRhaW4gY29uZGl0aW9ucyBhcmUgbWV0LlxuICpcbiAqIFRoaXMgbWV0aG9kIGNoZWNrcyB0aGUgY3VycmVudCB1c2VyJ3MgbGV2ZWwgYW5kIHRoZWlyIGNvLWhvc3QgcmVzcG9uc2liaWxpdGllc1xuICogdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGFsbG93ZWQgdG8gc2VuZCBhIGRpcmVjdCBtZXNzYWdlIHRvIGEgc3BlY2lmaWVkIHBhcnRpY2lwYW50LlxuICogSWYgdGhlIHVzZXIgaGFzIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucywgdGhlIG1ldGhvZCB1cGRhdGVzIHRoZSBkaXJlY3QgbWVzc2FnZVxuICogZGV0YWlscyBhbmQgb3BlbnMgdGhlIG1lc3NhZ2VzIG1vZGFsLiBJZiB0aGUgdXNlciBpcyBub3QgYWxsb3dlZCB0byBzZW5kIHRoZSBtZXNzYWdlLFxuICogYW4gYWxlcnQgaXMgZGlzcGxheWVkLlxuICpcbiAqIEBwYXJhbSB7TWVzc2FnZVBhcnRpY2lwYW50c09wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3Igc2VuZGluZyBhIG1lc3NhZ2UgdG8gYSBwYXJ0aWNpcGFudC5cbiAqIEBwYXJhbSB7Q29Ib3N0UmVzcG9uc2liaWxpdHlbXX0gb3B0aW9ucy5jb0hvc3RSZXNwb25zaWJpbGl0eSAtIEFycmF5IG9mIHJlc3BvbnNpYmlsaXRpZXMgYXNzaWduZWQgdG8gdGhlIGNvLWhvc3QuXG4gKiBAcGFyYW0ge1BhcnRpY2lwYW50fSBvcHRpb25zLnBhcnRpY2lwYW50IC0gVGhlIHBhcnRpY2lwYW50IHRvIHdob20gdGhlIG1lc3NhZ2UgaXMgdG8gYmUgc2VudC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm1lbWJlciAtIFRoZSBjdXJyZW50IG1lbWJlciBhdHRlbXB0aW5nIHRvIHNlbmQgdGhlIG1lc3NhZ2UuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5pc2xldmVsIC0gVGhlIGxldmVsIG9mIHRoZSBjdXJyZW50IG1lbWJlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtvcHRpb25zLnNob3dBbGVydF0gLSBGdW5jdGlvbiB0byBzaG93IGFuIGFsZXJ0IG1lc3NhZ2UgaWYgdGhlIG1lc3NhZ2UgY2Fubm90IGJlIHNlbnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jb0hvc3QgLSBUaGUgY28taG9zdCBtZW1iZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUlzTWVzc2FnZXNNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIG1lc3NhZ2VzIG1vZGFsLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVEaXJlY3RNZXNzYWdlRGV0YWlscyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZGV0YWlscyBvZiB0aGUgZGlyZWN0IG1lc3NhZ2UuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZVN0YXJ0RGlyZWN0TWVzc2FnZSAtIEZ1bmN0aW9uIHRvIHN0YXJ0IHRoZSBkaXJlY3QgbWVzc2FnZS5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWVzc2FnZVNlcnZpY2UgPSBuZXcgTWVzc2FnZVBhcnRpY2lwYW50cygpO1xuICogbWVzc2FnZVNlcnZpY2UubWVzc2FnZVBhcnRpY2lwYW50cyh7XG4gKiAgIGNvSG9zdFJlc3BvbnNpYmlsaXR5OiBbeyBuYW1lOiAnY2hhdCcsIHZhbHVlOiB0cnVlIH1dLFxuICogICBwYXJ0aWNpcGFudDogeyBuYW1lOiAnSm9obicsIGlzbGV2ZWw6ICcxJyB9LFxuICogICBtZW1iZXI6ICdBbGljZScsXG4gKiAgIGlzbGV2ZWw6ICcxJyxcbiAqICAgc2hvd0FsZXJ0OiAoeyBtZXNzYWdlLCB0eXBlLCBkdXJhdGlvbiB9KSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coYEFsZXJ0OiAke21lc3NhZ2V9IC0gVHlwZTogJHt0eXBlfSAtIER1cmF0aW9uOiAke2R1cmF0aW9ufWApO1xuICogICB9LFxuICogICBjb0hvc3Q6ICdCb2InLFxuICogICB1cGRhdGVJc01lc3NhZ2VzTW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlKSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coYE1lc3NhZ2VzIG1vZGFsIGlzIG5vdyAke2lzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWApO1xuICogICB9LFxuICogICB1cGRhdGVEaXJlY3RNZXNzYWdlRGV0YWlsczogKHBhcnRpY2lwYW50KSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coYERpcmVjdCBtZXNzYWdpbmc6ICR7cGFydGljaXBhbnQubmFtZX1gKTtcbiAqICAgfSxcbiAqICAgdXBkYXRlU3RhcnREaXJlY3RNZXNzYWdlOiAoc3RhcnQpID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhgRGlyZWN0IG1lc3NhZ2luZyBzdGFydGVkOiAke3N0YXJ0fWApO1xuICogICB9LFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlUGFydGljaXBhbnRzIHtcbiAgLyoqXG4gICAqIFNlbmRzIGEgZGlyZWN0IG1lc3NhZ2UgdG8gYSBwYXJ0aWNpcGFudCBpZiBjZXJ0YWluIGNvbmRpdGlvbnMgYXJlIG1ldC5cbiAgICpzXG4gICAqIEBwYXJhbSBjb0hvc3RSZXNwb25zaWJpbGl0eSAtIEFycmF5IG9mIHJlc3BvbnNpYmlsaXRpZXMgYXNzaWduZWQgdG8gdGhlIGNvLWhvc3QuXG4gICAqIEBwYXJhbSBwYXJ0aWNpcGFudCAtIFRoZSBwYXJ0aWNpcGFudCB0byB3aG9tIHRoZSBtZXNzYWdlIGlzIHRvIGJlIHNlbnQuXG4gICAqIEBwYXJhbSBtZW1iZXIgLSBUaGUgY3VycmVudCBtZW1iZXIgYXR0ZW1wdGluZyB0byBzZW5kIHRoZSBtZXNzYWdlLlxuICAgKiBAcGFyYW0gaXNsZXZlbCAtIFRoZSBsZXZlbCBvZiB0aGUgY3VycmVudCBtZW1iZXIuXG4gICAqIEBwYXJhbSBzaG93QWxlcnQgLSBGdW5jdGlvbiB0byBzaG93IGFuIGFsZXJ0IG1lc3NhZ2UuXG4gICAqIEBwYXJhbSBjb0hvc3QgLSBUaGUgY28taG9zdCBtZW1iZXIuXG4gICAqIEBwYXJhbSB1cGRhdGVJc01lc3NhZ2VzTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBtZXNzYWdlcyBtb2RhbC5cbiAgICogQHBhcmFtIHVwZGF0ZURpcmVjdE1lc3NhZ2VEZXRhaWxzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBkZXRhaWxzIG9mIHRoZSBkaXJlY3QgbWVzc2FnZS5cbiAgICogQHBhcmFtIHVwZGF0ZVN0YXJ0RGlyZWN0TWVzc2FnZSAtIEZ1bmN0aW9uIHRvIHN0YXJ0IHRoZSBkaXJlY3QgbWVzc2FnZS5cbiAgICpcbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgbWVzc2FnZVBhcnRpY2lwYW50cyh7XG4gICAgY29Ib3N0UmVzcG9uc2liaWxpdHksXG4gICAgcGFydGljaXBhbnQsXG4gICAgbWVtYmVyLFxuICAgIGlzbGV2ZWwsXG4gICAgc2hvd0FsZXJ0LFxuICAgIGNvSG9zdCxcbiAgICB1cGRhdGVJc01lc3NhZ2VzTW9kYWxWaXNpYmxlLFxuICAgIHVwZGF0ZURpcmVjdE1lc3NhZ2VEZXRhaWxzLFxuICAgIHVwZGF0ZVN0YXJ0RGlyZWN0TWVzc2FnZSxcbiAgfTogTWVzc2FnZVBhcnRpY2lwYW50c09wdGlvbnMpOiB2b2lkIHtcbiAgICBsZXQgY2hhdFZhbHVlID0gZmFsc2U7XG5cbiAgICB0cnkge1xuICAgICAgY2hhdFZhbHVlID0gY29Ib3N0UmVzcG9uc2liaWxpdHkuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSAnY2hhdCcpPy52YWx1ZSA/PyBmYWxzZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuXG4gICAgaWYgKGlzbGV2ZWwgPT09ICcyJyB8fCAoY29Ib3N0ID09PSBtZW1iZXIgJiYgY2hhdFZhbHVlID09PSB0cnVlKSkge1xuICAgICAgaWYgKHBhcnRpY2lwYW50LmlzbGV2ZWwgIT09ICcyJykge1xuICAgICAgICB1cGRhdGVEaXJlY3RNZXNzYWdlRGV0YWlscyhwYXJ0aWNpcGFudCk7XG4gICAgICAgIHVwZGF0ZVN0YXJ0RGlyZWN0TWVzc2FnZSh0cnVlKTtcbiAgICAgICAgdXBkYXRlSXNNZXNzYWdlc01vZGFsVmlzaWJsZSh0cnVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICBtZXNzYWdlOiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byBzZW5kIHRoaXMgbWVzc2FnZScsXG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,96 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Mutes a participant in a media session if certain conditions are met.
5
- *
6
- * This method checks the current user's level and their co-host responsibilities
7
- * to determine if they are allowed to mute a specified participant. If allowed,
8
- * the method emits a socket event to mute the participant. If not allowed, an alert
9
- * is displayed.
10
- *
11
- * @param {MuteParticipantsOptions} options - The options for muting participants.
12
- * @param {Socket} options.socket - The socket instance for communication.
13
- * @param {CoHostResponsibility[]} options.coHostResponsibility - List of co-host responsibilities.
14
- * @param {Participant} options.participant - The participant to be muted.
15
- * @param {string} options.member - The current member attempting to mute.
16
- * @param {string} options.islevel - The level of the current member.
17
- * @param {Function} [options.showAlert] - Optional function to show alerts.
18
- * @param {string} options.coHost - The co-host information.
19
- * @param {string} options.roomName - The name of the room.
20
- *
21
- * @returns {Promise<void>} A promise that resolves when the participant is muted.
22
- *
23
- * @throws Will log an error if there is an issue accessing co-host responsibilities.
24
- *
25
- * @example
26
- * ```typescript
27
- * const muteService = new MuteParticipants();
28
- * muteService.muteParticipants({
29
- * socket: socketInstance,
30
- * coHostResponsibility: [{ name: 'media', value: true }],
31
- * participant: { id: '123', name: 'John', islevel: '1', muted: false },
32
- * member: 'Alice',
33
- * islevel: '1',
34
- * showAlert: ({ message, type }) => {
35
- * console.log(`Alert: ${message} - Type: ${type}`);
36
- * },
37
- * coHost: 'Bob',
38
- * roomName: 'room1',
39
- * });
40
- * ```
41
- */
42
- export class MuteParticipants {
43
- /**
44
- * Mutes a participant in a media session if certain conditions are met.
45
- *
46
- * @param {Object} options - The options for muting participants.
47
- * @param {Socket} options.socket - The socket instance for communication.
48
- * @param {Array} options.coHostResponsibility - List of co-host responsibilities.
49
- * @param {Object} options.participant - The participant to be muted.
50
- * @param {Object} options.member - The current member attempting to mute.
51
- * @param {string} options.islevel - The level of the current member.
52
- * @param {Function} [options.showAlert] - Optional function to show alerts.
53
- * @param {Object} options.coHost - The co-host information.
54
- * @param {string} options.roomName - The name of the room.
55
- *
56
- * @returns {Promise<void>} A promise that resolves when the participant is muted.
57
- *
58
- * @throws Will log an error if there is an issue accessing co-host responsibilities.
59
- */
60
- async muteParticipants({ socket, coHostResponsibility, participant, member, islevel, showAlert, coHost, roomName, }) {
61
- let mediaValue = false;
62
- try {
63
- mediaValue = coHostResponsibility.find((item) => item.name === 'media')?.value ?? false;
64
- }
65
- catch (error) {
66
- console.error(error);
67
- }
68
- if (islevel === '2' || (coHost === member && mediaValue === true)) {
69
- if (!participant.muted && participant.islevel !== '2') {
70
- const participantId = participant.id;
71
- socket.emit('controlMedia', {
72
- participantId,
73
- participantName: participant.name,
74
- type: 'all',
75
- roomName,
76
- });
77
- }
78
- }
79
- else {
80
- showAlert?.({
81
- message: 'You are not allowed to mute other participants',
82
- type: 'danger',
83
- duration: 3000,
84
- });
85
- }
86
- }
87
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MuteParticipants, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
88
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MuteParticipants, providedIn: 'root' });
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MuteParticipants, decorators: [{
91
- type: Injectable,
92
- args: [{
93
- providedIn: 'root',
94
- }]
95
- }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0ZS1wYXJ0aWNpcGFudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3BhcnRpY2lwYW50cy1tZXRob2RzL211dGUtcGFydGljaXBhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFFSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFDckIsTUFBTSxFQUNOLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsTUFBTSxFQUNOLE9BQU8sRUFDUCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsR0FDZ0I7UUFDeEIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQztZQUNILFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQztRQUMxRixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDdEQsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQzFCLGFBQWE7b0JBQ2IsZUFBZSxFQUFFLFdBQVcsQ0FBQyxJQUFJO29CQUNqQyxJQUFJLEVBQUUsS0FBSztvQkFDWCxRQUFRO2lCQUNULENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxnREFBZ0Q7Z0JBQ3pELElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7dUdBdERVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvY2tldCB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHsgUGFydGljaXBhbnQsIENvSG9zdFJlc3BvbnNpYmlsaXR5LCBTaG93QWxlcnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBNdXRlUGFydGljaXBhbnRzT3B0aW9ucyB7XG4gIHNvY2tldDogU29ja2V0O1xuICBjb0hvc3RSZXNwb25zaWJpbGl0eTogQ29Ib3N0UmVzcG9uc2liaWxpdHlbXTtcbiAgcGFydGljaXBhbnQ6IFBhcnRpY2lwYW50O1xuICBtZW1iZXI6IHN0cmluZztcbiAgaXNsZXZlbDogc3RyaW5nO1xuICBzaG93QWxlcnQ/OiBTaG93QWxlcnQ7XG4gIGNvSG9zdDogc3RyaW5nO1xuICByb29tTmFtZTogc3RyaW5nO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBNdXRlUGFydGljaXBhbnRzVHlwZSA9IChvcHRpb25zOiBNdXRlUGFydGljaXBhbnRzT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuLyoqXG4gKiBNdXRlcyBhIHBhcnRpY2lwYW50IGluIGEgbWVkaWEgc2Vzc2lvbiBpZiBjZXJ0YWluIGNvbmRpdGlvbnMgYXJlIG1ldC5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjaGVja3MgdGhlIGN1cnJlbnQgdXNlcidzIGxldmVsIGFuZCB0aGVpciBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXNcbiAqIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBhbGxvd2VkIHRvIG11dGUgYSBzcGVjaWZpZWQgcGFydGljaXBhbnQuIElmIGFsbG93ZWQsXG4gKiB0aGUgbWV0aG9kIGVtaXRzIGEgc29ja2V0IGV2ZW50IHRvIG11dGUgdGhlIHBhcnRpY2lwYW50LiBJZiBub3QgYWxsb3dlZCwgYW4gYWxlcnRcbiAqIGlzIGRpc3BsYXllZC5cbiAqXG4gKiBAcGFyYW0ge011dGVQYXJ0aWNpcGFudHNPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIG11dGluZyBwYXJ0aWNpcGFudHMuXG4gKiBAcGFyYW0ge1NvY2tldH0gb3B0aW9ucy5zb2NrZXQgLSBUaGUgc29ja2V0IGluc3RhbmNlIGZvciBjb21tdW5pY2F0aW9uLlxuICogQHBhcmFtIHtDb0hvc3RSZXNwb25zaWJpbGl0eVtdfSBvcHRpb25zLmNvSG9zdFJlc3BvbnNpYmlsaXR5IC0gTGlzdCBvZiBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXMuXG4gKiBAcGFyYW0ge1BhcnRpY2lwYW50fSBvcHRpb25zLnBhcnRpY2lwYW50IC0gVGhlIHBhcnRpY2lwYW50IHRvIGJlIG11dGVkLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubWVtYmVyIC0gVGhlIGN1cnJlbnQgbWVtYmVyIGF0dGVtcHRpbmcgdG8gbXV0ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmlzbGV2ZWwgLSBUaGUgbGV2ZWwgb2YgdGhlIGN1cnJlbnQgbWVtYmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuc2hvd0FsZXJ0XSAtIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIHNob3cgYWxlcnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuY29Ib3N0IC0gVGhlIGNvLWhvc3QgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yb29tTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSByb29tLlxuICpcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwYXJ0aWNpcGFudCBpcyBtdXRlZC5cbiAqXG4gKiBAdGhyb3dzIFdpbGwgbG9nIGFuIGVycm9yIGlmIHRoZXJlIGlzIGFuIGlzc3VlIGFjY2Vzc2luZyBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG11dGVTZXJ2aWNlID0gbmV3IE11dGVQYXJ0aWNpcGFudHMoKTtcbiAqIG11dGVTZXJ2aWNlLm11dGVQYXJ0aWNpcGFudHMoe1xuICogICBzb2NrZXQ6IHNvY2tldEluc3RhbmNlLFxuICogICBjb0hvc3RSZXNwb25zaWJpbGl0eTogW3sgbmFtZTogJ21lZGlhJywgdmFsdWU6IHRydWUgfV0sXG4gKiAgIHBhcnRpY2lwYW50OiB7IGlkOiAnMTIzJywgbmFtZTogJ0pvaG4nLCBpc2xldmVsOiAnMScsIG11dGVkOiBmYWxzZSB9LFxuICogICBtZW1iZXI6ICdBbGljZScsXG4gKiAgIGlzbGV2ZWw6ICcxJyxcbiAqICAgc2hvd0FsZXJ0OiAoeyBtZXNzYWdlLCB0eXBlIH0pID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhgQWxlcnQ6ICR7bWVzc2FnZX0gLSBUeXBlOiAke3R5cGV9YCk7XG4gKiAgIH0sXG4gKiAgIGNvSG9zdDogJ0JvYicsXG4gKiAgIHJvb21OYW1lOiAncm9vbTEnLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNdXRlUGFydGljaXBhbnRzIHtcbiAgLyoqXG4gICAqIE11dGVzIGEgcGFydGljaXBhbnQgaW4gYSBtZWRpYSBzZXNzaW9uIGlmIGNlcnRhaW4gY29uZGl0aW9ucyBhcmUgbWV0LlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBtdXRpbmcgcGFydGljaXBhbnRzLlxuICAgKiBAcGFyYW0ge1NvY2tldH0gb3B0aW9ucy5zb2NrZXQgLSBUaGUgc29ja2V0IGluc3RhbmNlIGZvciBjb21tdW5pY2F0aW9uLlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLmNvSG9zdFJlc3BvbnNpYmlsaXR5IC0gTGlzdCBvZiBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcnRpY2lwYW50IC0gVGhlIHBhcnRpY2lwYW50IHRvIGJlIG11dGVkLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5tZW1iZXIgLSBUaGUgY3VycmVudCBtZW1iZXIgYXR0ZW1wdGluZyB0byBtdXRlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5pc2xldmVsIC0gVGhlIGxldmVsIG9mIHRoZSBjdXJyZW50IG1lbWJlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuc2hvd0FsZXJ0XSAtIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIHNob3cgYWxlcnRzLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5jb0hvc3QgLSBUaGUgY28taG9zdCBpbmZvcm1hdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucm9vbU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcm9vbS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHBhcnRpY2lwYW50IGlzIG11dGVkLlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgbG9nIGFuIGVycm9yIGlmIHRoZXJlIGlzIGFuIGlzc3VlIGFjY2Vzc2luZyBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXMuXG4gICAqL1xuXG4gIGFzeW5jIG11dGVQYXJ0aWNpcGFudHMoe1xuICAgIHNvY2tldCxcbiAgICBjb0hvc3RSZXNwb25zaWJpbGl0eSxcbiAgICBwYXJ0aWNpcGFudCxcbiAgICBtZW1iZXIsXG4gICAgaXNsZXZlbCxcbiAgICBzaG93QWxlcnQsXG4gICAgY29Ib3N0LFxuICAgIHJvb21OYW1lLFxuICB9OiBNdXRlUGFydGljaXBhbnRzT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCBtZWRpYVZhbHVlID0gZmFsc2U7XG5cbiAgICB0cnkge1xuICAgICAgbWVkaWFWYWx1ZSA9IGNvSG9zdFJlc3BvbnNpYmlsaXR5LmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSA9PT0gJ21lZGlhJyk/LnZhbHVlID8/IGZhbHNlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB9XG5cbiAgICBpZiAoaXNsZXZlbCA9PT0gJzInIHx8IChjb0hvc3QgPT09IG1lbWJlciAmJiBtZWRpYVZhbHVlID09PSB0cnVlKSkge1xuICAgICAgaWYgKCFwYXJ0aWNpcGFudC5tdXRlZCAmJiBwYXJ0aWNpcGFudC5pc2xldmVsICE9PSAnMicpIHtcbiAgICAgICAgY29uc3QgcGFydGljaXBhbnRJZCA9IHBhcnRpY2lwYW50LmlkO1xuICAgICAgICBzb2NrZXQuZW1pdCgnY29udHJvbE1lZGlhJywge1xuICAgICAgICAgIHBhcnRpY2lwYW50SWQsXG4gICAgICAgICAgcGFydGljaXBhbnROYW1lOiBwYXJ0aWNpcGFudC5uYW1lLFxuICAgICAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgICAgIHJvb21OYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICBtZXNzYWdlOiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byBtdXRlIG90aGVyIHBhcnRpY2lwYW50cycsXG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,107 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Removes a participant from the room if the user has the appropriate permissions.
5
- *
6
- * This method checks the current user's level and their co-host responsibilities
7
- * to determine if they are allowed to remove a specified participant. If allowed,
8
- * the method emits a socket event to disconnect the participant and updates
9
- * the local list of participants. If not allowed, an alert is displayed.
10
- *
11
- * @param {RemoveParticipantsOptions} options - The options for removing a participant.
12
- * @param {CoHostResponsibility[]} options.coHostResponsibility - The responsibilities of the co-host.
13
- * @param {Participant} options.participant - The participant to be removed.
14
- * @param {string} options.member - The current member attempting to remove the participant.
15
- * @param {string} options.islevel - The level of the current member.
16
- * @param {Function} [options.showAlert] - Optional function to show alert messages.
17
- * @param {string} options.coHost - The co-host information.
18
- * @param {Participant[]} options.participants - The list of current participants.
19
- * @param {Socket} options.socket - The socket instance for emitting events.
20
- * @param {string} options.roomName - The name of the room.
21
- * @param {Function} options.updateParticipants - Function to update the participants list.
22
- *
23
- * @returns {Promise<void>} A promise that resolves when the participant is removed.
24
- *
25
- * @throws Will log an error if there is an issue accessing co-host responsibilities.
26
- *
27
- * @example
28
- * ```typescript
29
- * const removeParticipantsService = new RemoveParticipants();
30
- * await removeParticipantsService.removeParticipants({
31
- * coHostResponsibility: [{ name: 'participants', value: true }],
32
- * participant: { id: '123', name: 'John', islevel: '1' },
33
- * member: 'Alice',
34
- * islevel: '1',
35
- * showAlert: ({ message, type }) => {
36
- * console.log(`Alert: ${message} - Type: ${type}`);
37
- * },
38
- * coHost: 'Bob',
39
- * participants: [{ id: '123', name: 'John', islevel: '1' }],
40
- * socket: socketInstance,
41
- * roomName: 'room1',
42
- * updateParticipants: (updatedList) => {
43
- * console.log('Updated participants:', updatedList);
44
- * },
45
- * });
46
- * ```
47
- */
48
- export class RemoveParticipants {
49
- /**
50
- * Removes a participant from the room if the user has the appropriate permissions.
51
- *
52
- * @param {RemoveParticipantsOptions} options - The options for removing a participant.
53
- * @param {Array} options.coHostResponsibility - The responsibilities of the co-host.
54
- * @param {Object} options.participant - The participant to be removed.
55
- * @param {Object} options.member - The current member attempting to remove the participant.
56
- * @param {string} options.islevel - The level of the current member.
57
- * @param {Function} [options.showAlert] - Function to show an alert message.
58
- * @param {Object} options.coHost - The co-host information.
59
- * @param {Array} options.participants - The list of current participants.
60
- * @param {Object} options.socket - The socket instance for emitting events.
61
- * @param {string} options.roomName - The name of the room.
62
- * @param {Function} options.updateParticipants - Function to update the participants list.
63
- *
64
- * @returns {Promise<void>} - A promise that resolves when the participant is removed.
65
- */
66
- async removeParticipants({ coHostResponsibility, participant, member, islevel, showAlert, coHost, participants, socket, roomName, updateParticipants, }) {
67
- let participantsValue = false;
68
- try {
69
- participantsValue =
70
- coHostResponsibility.find((item) => item.name === 'participants')?.value ?? false;
71
- }
72
- catch (error) {
73
- participantsValue = false;
74
- }
75
- if (islevel === '2' || (coHost === member && participantsValue === true)) {
76
- if (participant.islevel !== '2') {
77
- const participantId = participant.id;
78
- // Emit a socket event to disconnect the user
79
- socket.emit('disconnectUserInitiate', {
80
- member: participant.name,
81
- roomName,
82
- id: participantId,
83
- });
84
- // Remove the participant from the local array
85
- participants.splice(participants.findIndex((obj) => obj.name === participant.name), 1);
86
- // Update the participants array
87
- updateParticipants(participants);
88
- }
89
- }
90
- else {
91
- showAlert?.({
92
- message: 'You are not allowed to remove other participants',
93
- type: 'danger',
94
- duration: 3000,
95
- });
96
- }
97
- }
98
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RemoveParticipants, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
99
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RemoveParticipants, providedIn: 'root' });
100
- }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RemoveParticipants, decorators: [{
102
- type: Injectable,
103
- args: [{
104
- providedIn: 'root',
105
- }]
106
- }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXBhcnRpY2lwYW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvcGFydGljaXBhbnRzLW1ldGhvZHMvcmVtb3ZlLXBhcnRpY2lwYW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBb0IzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q0c7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBRUgsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQ3ZCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsTUFBTSxFQUNOLE9BQU8sRUFDUCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLGtCQUFrQixHQUNRO1FBQzFCLElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTlCLElBQUksQ0FBQztZQUNILGlCQUFpQjtnQkFDZixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQztRQUN0RixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxpQkFBaUIsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3pFLElBQUksV0FBVyxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFFckMsNkNBQTZDO2dCQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO29CQUNwQyxNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUk7b0JBQ3hCLFFBQVE7b0JBQ1IsRUFBRSxFQUFFLGFBQWE7aUJBQ2xCLENBQUMsQ0FBQztnQkFFSCw4Q0FBOEM7Z0JBQzlDLFlBQVksQ0FBQyxNQUFNLENBQ2pCLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxFQUNuRSxDQUFDLENBQ0YsQ0FBQztnQkFFRixnQ0FBZ0M7Z0JBQ2hDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxrREFBa0Q7Z0JBQzNELElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7dUdBbkVVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IENvSG9zdFJlc3BvbnNpYmlsaXR5LCBQYXJ0aWNpcGFudCwgU2hvd0FsZXJ0IH0gZnJvbSAnLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVQYXJ0aWNpcGFudHNPcHRpb25zIHtcbiAgY29Ib3N0UmVzcG9uc2liaWxpdHk6IENvSG9zdFJlc3BvbnNpYmlsaXR5W107XG4gIHBhcnRpY2lwYW50OiBQYXJ0aWNpcGFudDtcbiAgbWVtYmVyOiBzdHJpbmc7XG4gIGlzbGV2ZWw6IHN0cmluZztcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xuICBjb0hvc3Q6IHN0cmluZztcbiAgcGFydGljaXBhbnRzOiBQYXJ0aWNpcGFudFtdO1xuICBzb2NrZXQ6IFNvY2tldDtcbiAgcm9vbU5hbWU6IHN0cmluZztcbiAgdXBkYXRlUGFydGljaXBhbnRzOiAocGFydGljaXBhbnRzOiBQYXJ0aWNpcGFudFtdKSA9PiB2b2lkO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBSZW1vdmVQYXJ0aWNpcGFudHNUeXBlID0gKG9wdGlvbnM6IFJlbW92ZVBhcnRpY2lwYW50c09wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogUmVtb3ZlcyBhIHBhcnRpY2lwYW50IGZyb20gdGhlIHJvb20gaWYgdGhlIHVzZXIgaGFzIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjaGVja3MgdGhlIGN1cnJlbnQgdXNlcidzIGxldmVsIGFuZCB0aGVpciBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXNcbiAqIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBhbGxvd2VkIHRvIHJlbW92ZSBhIHNwZWNpZmllZCBwYXJ0aWNpcGFudC4gSWYgYWxsb3dlZCxcbiAqIHRoZSBtZXRob2QgZW1pdHMgYSBzb2NrZXQgZXZlbnQgdG8gZGlzY29ubmVjdCB0aGUgcGFydGljaXBhbnQgYW5kIHVwZGF0ZXNcbiAqIHRoZSBsb2NhbCBsaXN0IG9mIHBhcnRpY2lwYW50cy4gSWYgbm90IGFsbG93ZWQsIGFuIGFsZXJ0IGlzIGRpc3BsYXllZC5cbiAqXG4gKiBAcGFyYW0ge1JlbW92ZVBhcnRpY2lwYW50c09wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmVtb3ZpbmcgYSBwYXJ0aWNpcGFudC5cbiAqIEBwYXJhbSB7Q29Ib3N0UmVzcG9uc2liaWxpdHlbXX0gb3B0aW9ucy5jb0hvc3RSZXNwb25zaWJpbGl0eSAtIFRoZSByZXNwb25zaWJpbGl0aWVzIG9mIHRoZSBjby1ob3N0LlxuICogQHBhcmFtIHtQYXJ0aWNpcGFudH0gb3B0aW9ucy5wYXJ0aWNpcGFudCAtIFRoZSBwYXJ0aWNpcGFudCB0byBiZSByZW1vdmVkLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubWVtYmVyIC0gVGhlIGN1cnJlbnQgbWVtYmVyIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoZSBwYXJ0aWNpcGFudC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmlzbGV2ZWwgLSBUaGUgbGV2ZWwgb2YgdGhlIGN1cnJlbnQgbWVtYmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuc2hvd0FsZXJ0XSAtIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIHNob3cgYWxlcnQgbWVzc2FnZXMuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jb0hvc3QgLSBUaGUgY28taG9zdCBpbmZvcm1hdGlvbi5cbiAqIEBwYXJhbSB7UGFydGljaXBhbnRbXX0gb3B0aW9ucy5wYXJ0aWNpcGFudHMgLSBUaGUgbGlzdCBvZiBjdXJyZW50IHBhcnRpY2lwYW50cy5cbiAqIEBwYXJhbSB7U29ja2V0fSBvcHRpb25zLnNvY2tldCAtIFRoZSBzb2NrZXQgaW5zdGFuY2UgZm9yIGVtaXR0aW5nIGV2ZW50cy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJvb21OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHJvb20uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZVBhcnRpY2lwYW50cyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcGFydGljaXBhbnRzIGxpc3QuXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHBhcnRpY2lwYW50IGlzIHJlbW92ZWQuXG4gKlxuICogQHRocm93cyBXaWxsIGxvZyBhbiBlcnJvciBpZiB0aGVyZSBpcyBhbiBpc3N1ZSBhY2Nlc3NpbmcgY28taG9zdCByZXNwb25zaWJpbGl0aWVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZW1vdmVQYXJ0aWNpcGFudHNTZXJ2aWNlID0gbmV3IFJlbW92ZVBhcnRpY2lwYW50cygpO1xuICogYXdhaXQgcmVtb3ZlUGFydGljaXBhbnRzU2VydmljZS5yZW1vdmVQYXJ0aWNpcGFudHMoe1xuICogICBjb0hvc3RSZXNwb25zaWJpbGl0eTogW3sgbmFtZTogJ3BhcnRpY2lwYW50cycsIHZhbHVlOiB0cnVlIH1dLFxuICogICBwYXJ0aWNpcGFudDogeyBpZDogJzEyMycsIG5hbWU6ICdKb2huJywgaXNsZXZlbDogJzEnIH0sXG4gKiAgIG1lbWJlcjogJ0FsaWNlJyxcbiAqICAgaXNsZXZlbDogJzEnLFxuICogICBzaG93QWxlcnQ6ICh7IG1lc3NhZ2UsIHR5cGUgfSkgPT4ge1xuICogICAgIGNvbnNvbGUubG9nKGBBbGVydDogJHttZXNzYWdlfSAtIFR5cGU6ICR7dHlwZX1gKTtcbiAqICAgfSxcbiAqICAgY29Ib3N0OiAnQm9iJyxcbiAqICAgcGFydGljaXBhbnRzOiBbeyBpZDogJzEyMycsIG5hbWU6ICdKb2huJywgaXNsZXZlbDogJzEnIH1dLFxuICogICBzb2NrZXQ6IHNvY2tldEluc3RhbmNlLFxuICogICByb29tTmFtZTogJ3Jvb20xJyxcbiAqICAgdXBkYXRlUGFydGljaXBhbnRzOiAodXBkYXRlZExpc3QpID0+IHtcbiAqICAgICBjb25zb2xlLmxvZygnVXBkYXRlZCBwYXJ0aWNpcGFudHM6JywgdXBkYXRlZExpc3QpO1xuICogICB9LFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZW1vdmVQYXJ0aWNpcGFudHMge1xuICAvKipcbiAgICogUmVtb3ZlcyBhIHBhcnRpY2lwYW50IGZyb20gdGhlIHJvb20gaWYgdGhlIHVzZXIgaGFzIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHtSZW1vdmVQYXJ0aWNpcGFudHNPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHJlbW92aW5nIGEgcGFydGljaXBhbnQuXG4gICAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMuY29Ib3N0UmVzcG9uc2liaWxpdHkgLSBUaGUgcmVzcG9uc2liaWxpdGllcyBvZiB0aGUgY28taG9zdC5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMucGFydGljaXBhbnQgLSBUaGUgcGFydGljaXBhbnQgdG8gYmUgcmVtb3ZlZC5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMubWVtYmVyIC0gVGhlIGN1cnJlbnQgbWVtYmVyIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoZSBwYXJ0aWNpcGFudC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuaXNsZXZlbCAtIFRoZSBsZXZlbCBvZiB0aGUgY3VycmVudCBtZW1iZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtvcHRpb25zLnNob3dBbGVydF0gLSBGdW5jdGlvbiB0byBzaG93IGFuIGFsZXJ0IG1lc3NhZ2UuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLmNvSG9zdCAtIFRoZSBjby1ob3N0IGluZm9ybWF0aW9uLlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLnBhcnRpY2lwYW50cyAtIFRoZSBsaXN0IG9mIGN1cnJlbnQgcGFydGljaXBhbnRzLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5zb2NrZXQgLSBUaGUgc29ja2V0IGluc3RhbmNlIGZvciBlbWl0dGluZyBldmVudHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJvb21OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHJvb20uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlUGFydGljaXBhbnRzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBwYXJ0aWNpcGFudHMgbGlzdC5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGFydGljaXBhbnQgaXMgcmVtb3ZlZC5cbiAgICovXG5cbiAgYXN5bmMgcmVtb3ZlUGFydGljaXBhbnRzKHtcbiAgICBjb0hvc3RSZXNwb25zaWJpbGl0eSxcbiAgICBwYXJ0aWNpcGFudCxcbiAgICBtZW1iZXIsXG4gICAgaXNsZXZlbCxcbiAgICBzaG93QWxlcnQsXG4gICAgY29Ib3N0LFxuICAgIHBhcnRpY2lwYW50cyxcbiAgICBzb2NrZXQsXG4gICAgcm9vbU5hbWUsXG4gICAgdXBkYXRlUGFydGljaXBhbnRzLFxuICB9OiBSZW1vdmVQYXJ0aWNpcGFudHNPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IHBhcnRpY2lwYW50c1ZhbHVlID0gZmFsc2U7XG5cbiAgICB0cnkge1xuICAgICAgcGFydGljaXBhbnRzVmFsdWUgPVxuICAgICAgICBjb0hvc3RSZXNwb25zaWJpbGl0eS5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgPT09ICdwYXJ0aWNpcGFudHMnKT8udmFsdWUgPz8gZmFsc2U7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHBhcnRpY2lwYW50c1ZhbHVlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGlzbGV2ZWwgPT09ICcyJyB8fCAoY29Ib3N0ID09PSBtZW1iZXIgJiYgcGFydGljaXBhbnRzVmFsdWUgPT09IHRydWUpKSB7XG4gICAgICBpZiAocGFydGljaXBhbnQuaXNsZXZlbCAhPT0gJzInKSB7XG4gICAgICAgIGNvbnN0IHBhcnRpY2lwYW50SWQgPSBwYXJ0aWNpcGFudC5pZDtcblxuICAgICAgICAvLyBFbWl0IGEgc29ja2V0IGV2ZW50IHRvIGRpc2Nvbm5lY3QgdGhlIHVzZXJcbiAgICAgICAgc29ja2V0LmVtaXQoJ2Rpc2Nvbm5lY3RVc2VySW5pdGlhdGUnLCB7XG4gICAgICAgICAgbWVtYmVyOiBwYXJ0aWNpcGFudC5uYW1lLFxuICAgICAgICAgIHJvb21OYW1lLFxuICAgICAgICAgIGlkOiBwYXJ0aWNpcGFudElkLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIHBhcnRpY2lwYW50IGZyb20gdGhlIGxvY2FsIGFycmF5XG4gICAgICAgIHBhcnRpY2lwYW50cy5zcGxpY2UoXG4gICAgICAgICAgcGFydGljaXBhbnRzLmZpbmRJbmRleCgob2JqOiBhbnkpID0+IG9iai5uYW1lID09PSBwYXJ0aWNpcGFudC5uYW1lKSxcbiAgICAgICAgICAxLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgcGFydGljaXBhbnRzIGFycmF5XG4gICAgICAgIHVwZGF0ZVBhcnRpY2lwYW50cyhwYXJ0aWNpcGFudHMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHJlbW92ZSBvdGhlciBwYXJ0aWNpcGFudHMnLFxuICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==