@actschurch/ccms-sdk 0.0.3 → 0.0.5

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 (495) hide show
  1. package/README.md +55 -1
  2. package/dist/core/Config.d.ts +21 -2
  3. package/dist/core/Config.d.ts.map +1 -1
  4. package/dist/core/Config.js.map +1 -1
  5. package/dist/core/HttpClient.d.ts +5 -0
  6. package/dist/core/HttpClient.d.ts.map +1 -1
  7. package/dist/core/HttpClient.js +75 -0
  8. package/dist/core/HttpClient.js.map +1 -1
  9. package/dist/index.d.ts +3 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/models/file/Folder.d.ts +179 -0
  14. package/dist/models/file/Folder.d.ts.map +1 -0
  15. package/dist/models/file/Folder.js +6 -0
  16. package/dist/models/file/Folder.js.map +1 -0
  17. package/dist/models/file/ModelView/FileRecordModelView.d.ts +3 -0
  18. package/dist/models/file/ModelView/FileRecordModelView.d.ts.map +1 -1
  19. package/dist/models/file/PresignUploadRequest.d.ts +4 -0
  20. package/dist/models/file/PresignUploadRequest.d.ts.map +1 -1
  21. package/dist/models/file/index.d.ts +1 -0
  22. package/dist/models/file/index.d.ts.map +1 -1
  23. package/dist/models/file/index.js +1 -0
  24. package/dist/models/file/index.js.map +1 -1
  25. package/dist/models/index.d.ts +1 -0
  26. package/dist/models/index.d.ts.map +1 -1
  27. package/dist/models/index.js +2 -0
  28. package/dist/models/index.js.map +1 -1
  29. package/dist/models/socialmedia/index.d.ts +322 -0
  30. package/dist/models/socialmedia/index.d.ts.map +1 -0
  31. package/dist/models/socialmedia/index.js +6 -0
  32. package/dist/models/socialmedia/index.js.map +1 -0
  33. package/dist/models/system/ModelView/Health.d.ts +14 -11
  34. package/dist/models/system/ModelView/Health.d.ts.map +1 -1
  35. package/dist/models/system/ModelView/Health.js +1 -0
  36. package/dist/models/system/ModelView/Health.js.map +1 -1
  37. package/dist/models/system/ModelView/RabbitMQManagement.d.ts +93 -92
  38. package/dist/models/system/ModelView/RabbitMQManagement.d.ts.map +1 -1
  39. package/dist/models/system/ModelView/RedisManagement.d.ts +94 -42
  40. package/dist/models/system/ModelView/RedisManagement.d.ts.map +1 -1
  41. package/dist/models/task/ModelView/CreateTask.d.ts +14 -17
  42. package/dist/models/task/ModelView/CreateTask.d.ts.map +1 -1
  43. package/dist/models/task/ModelView/UpdateTaskPriorityRequest.d.ts +10 -0
  44. package/dist/models/task/ModelView/UpdateTaskPriorityRequest.d.ts.map +1 -0
  45. package/dist/models/task/ModelView/UpdateTaskPriorityRequest.js +2 -0
  46. package/dist/models/task/ModelView/UpdateTaskPriorityRequest.js.map +1 -0
  47. package/dist/models/task/ModelView/UpdateTaskProjectRequest.d.ts +10 -0
  48. package/dist/models/task/ModelView/UpdateTaskProjectRequest.d.ts.map +1 -0
  49. package/dist/models/task/ModelView/UpdateTaskProjectRequest.js +2 -0
  50. package/dist/models/task/ModelView/UpdateTaskProjectRequest.js.map +1 -0
  51. package/dist/models/task/ModelView/index.d.ts +2 -0
  52. package/dist/models/task/ModelView/index.d.ts.map +1 -1
  53. package/dist/models/task/ModelView/index.js +2 -0
  54. package/dist/models/task/ModelView/index.js.map +1 -1
  55. package/dist/react/CCMSProvider.d.ts +1 -19
  56. package/dist/react/CCMSProvider.d.ts.map +1 -1
  57. package/dist/react/CCMSProvider.js +71 -56
  58. package/dist/react/CCMSProvider.js.map +1 -1
  59. package/dist/react/hooks/index.d.ts +0 -1
  60. package/dist/react/hooks/index.d.ts.map +1 -1
  61. package/dist/react/hooks/index.js +1 -3
  62. package/dist/react/hooks/index.js.map +1 -1
  63. package/dist/react/hooks/services/index.d.ts +1 -0
  64. package/dist/react/hooks/services/index.d.ts.map +1 -1
  65. package/dist/react/hooks/services/index.js +2 -0
  66. package/dist/react/hooks/services/index.js.map +1 -1
  67. package/dist/react/hooks/services/useSocialMediaServices.d.ts +43 -0
  68. package/dist/react/hooks/services/useSocialMediaServices.d.ts.map +1 -0
  69. package/dist/react/hooks/services/useSocialMediaServices.js +65 -0
  70. package/dist/react/hooks/services/useSocialMediaServices.js.map +1 -0
  71. package/dist/react/hooks/services/useUsersServices.d.ts +5 -1
  72. package/dist/react/hooks/services/useUsersServices.d.ts.map +1 -1
  73. package/dist/react/hooks/services/useUsersServices.js +6 -0
  74. package/dist/react/hooks/services/useUsersServices.js.map +1 -1
  75. package/dist/react/hooks/useCCMS.d.ts +7 -4
  76. package/dist/react/hooks/useCCMS.d.ts.map +1 -1
  77. package/dist/react/hooks/useCCMS.js +8 -4
  78. package/dist/react/hooks/useCCMS.js.map +1 -1
  79. package/dist/realtime/index.d.ts +1 -1
  80. package/dist/realtime/index.d.ts.map +1 -1
  81. package/dist/realtime/index.js +2 -5
  82. package/dist/realtime/index.js.map +1 -1
  83. package/dist/realtime/presence/ActivityTracker.d.ts +141 -0
  84. package/dist/realtime/presence/ActivityTracker.d.ts.map +1 -0
  85. package/dist/realtime/presence/ActivityTracker.js +342 -0
  86. package/dist/realtime/presence/ActivityTracker.js.map +1 -0
  87. package/dist/realtime/presence/AutoHeartbeatManager.d.ts +68 -0
  88. package/dist/realtime/presence/AutoHeartbeatManager.d.ts.map +1 -0
  89. package/dist/realtime/presence/AutoHeartbeatManager.js +160 -0
  90. package/dist/realtime/presence/AutoHeartbeatManager.js.map +1 -0
  91. package/dist/realtime/presence/IdleDetector.d.ts +107 -0
  92. package/dist/realtime/presence/IdleDetector.d.ts.map +1 -0
  93. package/dist/realtime/presence/IdleDetector.js +270 -0
  94. package/dist/realtime/presence/IdleDetector.js.map +1 -0
  95. package/dist/realtime/presence/PresenceClient.d.ts +26 -2
  96. package/dist/realtime/presence/PresenceClient.d.ts.map +1 -1
  97. package/dist/realtime/presence/PresenceClient.js +111 -17
  98. package/dist/realtime/presence/PresenceClient.js.map +1 -1
  99. package/dist/realtime/presence/PresenceManager.d.ts +191 -0
  100. package/dist/realtime/presence/PresenceManager.d.ts.map +1 -0
  101. package/dist/realtime/presence/PresenceManager.js +314 -0
  102. package/dist/realtime/presence/PresenceManager.js.map +1 -0
  103. package/dist/realtime/presence/PresenceProvider.d.ts +16 -0
  104. package/dist/realtime/presence/PresenceProvider.d.ts.map +1 -1
  105. package/dist/realtime/presence/PresenceProvider.js +92 -20
  106. package/dist/realtime/presence/PresenceProvider.js.map +1 -1
  107. package/dist/realtime/presence/index.d.ts +5 -0
  108. package/dist/realtime/presence/index.d.ts.map +1 -1
  109. package/dist/realtime/presence/index.js +10 -0
  110. package/dist/realtime/presence/index.js.map +1 -1
  111. package/dist/realtime/presence/types.d.ts +32 -13
  112. package/dist/realtime/presence/types.d.ts.map +1 -1
  113. package/dist/realtime/presence/types.js +6 -5
  114. package/dist/realtime/presence/types.js.map +1 -1
  115. package/dist/realtime/presence/utils/platformDetector.d.ts +23 -0
  116. package/dist/realtime/presence/utils/platformDetector.d.ts.map +1 -0
  117. package/dist/realtime/presence/utils/platformDetector.js +88 -0
  118. package/dist/realtime/presence/utils/platformDetector.js.map +1 -0
  119. package/dist/realtime/presence/utils.d.ts +87 -0
  120. package/dist/realtime/presence/utils.d.ts.map +1 -0
  121. package/dist/realtime/presence/utils.js +191 -0
  122. package/dist/realtime/presence/utils.js.map +1 -0
  123. package/dist/realtime/shared/BaseSignalRClient.d.ts.map +1 -1
  124. package/dist/realtime/shared/BaseSignalRClient.js +38 -4
  125. package/dist/realtime/shared/BaseSignalRClient.js.map +1 -1
  126. package/dist/services/departments/DepartmentService.d.ts.map +1 -1
  127. package/dist/services/departments/DepartmentService.js +1 -1
  128. package/dist/services/departments/DepartmentService.js.map +1 -1
  129. package/dist/services/departments/DesignationService.d.ts.map +1 -1
  130. package/dist/services/departments/DesignationService.js +1 -1
  131. package/dist/services/departments/DesignationService.js.map +1 -1
  132. package/dist/services/departments/DesignationTaskService.d.ts.map +1 -1
  133. package/dist/services/departments/DesignationTaskService.js +1 -1
  134. package/dist/services/departments/DesignationTaskService.js.map +1 -1
  135. package/dist/services/departments/MemberDesignationService.d.ts.map +1 -1
  136. package/dist/services/departments/MemberDesignationService.js +1 -1
  137. package/dist/services/departments/MemberDesignationService.js.map +1 -1
  138. package/dist/services/departments/MemberInDepartmentService.d.ts.map +1 -1
  139. package/dist/services/departments/MemberInDepartmentService.js +1 -1
  140. package/dist/services/departments/MemberInDepartmentService.js.map +1 -1
  141. package/dist/services/departments/MinistryActivityService.d.ts.map +1 -1
  142. package/dist/services/departments/MinistryActivityService.js +1 -1
  143. package/dist/services/departments/MinistryActivityService.js.map +1 -1
  144. package/dist/services/departments/MinistryEquipmentService.d.ts.map +1 -1
  145. package/dist/services/departments/MinistryEquipmentService.js +1 -1
  146. package/dist/services/departments/MinistryEquipmentService.js.map +1 -1
  147. package/dist/services/departments/MinistryRoleService.d.ts.map +1 -1
  148. package/dist/services/departments/MinistryRoleService.js +1 -1
  149. package/dist/services/departments/MinistryRoleService.js.map +1 -1
  150. package/dist/services/departments/MinistryService.d.ts.map +1 -1
  151. package/dist/services/departments/MinistryService.js +1 -1
  152. package/dist/services/departments/MinistryService.js.map +1 -1
  153. package/dist/services/departments/MinistryTeamService.d.ts.map +1 -1
  154. package/dist/services/departments/MinistryTeamService.js +1 -1
  155. package/dist/services/departments/MinistryTeamService.js.map +1 -1
  156. package/dist/services/feedback/FeedbackCategoryRecipientService.d.ts.map +1 -1
  157. package/dist/services/feedback/FeedbackCategoryRecipientService.js +1 -1
  158. package/dist/services/feedback/FeedbackCategoryRecipientService.js.map +1 -1
  159. package/dist/services/feedback/FeedbackCategoryService.d.ts.map +1 -1
  160. package/dist/services/feedback/FeedbackCategoryService.js +1 -1
  161. package/dist/services/feedback/FeedbackCategoryService.js.map +1 -1
  162. package/dist/services/feedback/FeedbackNotificationQueueService.d.ts.map +1 -1
  163. package/dist/services/feedback/FeedbackNotificationQueueService.js +1 -1
  164. package/dist/services/feedback/FeedbackNotificationQueueService.js.map +1 -1
  165. package/dist/services/feedback/FeedbackService.d.ts.map +1 -1
  166. package/dist/services/feedback/FeedbackService.js +1 -1
  167. package/dist/services/feedback/FeedbackService.js.map +1 -1
  168. package/dist/services/feedback/FeedbackTypeService.d.ts.map +1 -1
  169. package/dist/services/feedback/FeedbackTypeService.js +1 -1
  170. package/dist/services/feedback/FeedbackTypeService.js.map +1 -1
  171. package/dist/services/file/FileService.d.ts +55 -1
  172. package/dist/services/file/FileService.d.ts.map +1 -1
  173. package/dist/services/file/FileService.js +114 -0
  174. package/dist/services/file/FileService.js.map +1 -1
  175. package/dist/services/file/FolderService.d.ts +99 -0
  176. package/dist/services/file/FolderService.d.ts.map +1 -0
  177. package/dist/services/file/FolderService.js +147 -0
  178. package/dist/services/file/FolderService.js.map +1 -0
  179. package/dist/services/file/index.d.ts +3 -0
  180. package/dist/services/file/index.d.ts.map +1 -1
  181. package/dist/services/file/index.js +3 -0
  182. package/dist/services/file/index.js.map +1 -1
  183. package/dist/services/index.d.ts +1 -0
  184. package/dist/services/index.d.ts.map +1 -1
  185. package/dist/services/index.js +2 -0
  186. package/dist/services/index.js.map +1 -1
  187. package/dist/services/locations/AddressService.d.ts.map +1 -1
  188. package/dist/services/locations/AddressService.js +1 -1
  189. package/dist/services/locations/AddressService.js.map +1 -1
  190. package/dist/services/locations/LocationInfoService.d.ts.map +1 -1
  191. package/dist/services/locations/LocationInfoService.js +1 -1
  192. package/dist/services/locations/LocationInfoService.js.map +1 -1
  193. package/dist/services/locations/LocationLeaderService.d.ts.map +1 -1
  194. package/dist/services/locations/LocationLeaderService.js +1 -1
  195. package/dist/services/locations/LocationLeaderService.js.map +1 -1
  196. package/dist/services/locations/LocationService.d.ts.map +1 -1
  197. package/dist/services/locations/LocationService.js +1 -1
  198. package/dist/services/locations/LocationService.js.map +1 -1
  199. package/dist/services/locations/LocationSocialMediaService.d.ts.map +1 -1
  200. package/dist/services/locations/LocationSocialMediaService.js +1 -1
  201. package/dist/services/locations/LocationSocialMediaService.js.map +1 -1
  202. package/dist/services/locations/LocationVenueService.d.ts.map +1 -1
  203. package/dist/services/locations/LocationVenueService.js +1 -1
  204. package/dist/services/locations/LocationVenueService.js.map +1 -1
  205. package/dist/services/locations/ServiceTimeService.d.ts.map +1 -1
  206. package/dist/services/locations/ServiceTimeService.js +1 -1
  207. package/dist/services/locations/ServiceTimeService.js.map +1 -1
  208. package/dist/services/locations/SocialMediaService.d.ts.map +1 -1
  209. package/dist/services/locations/SocialMediaService.js +1 -1
  210. package/dist/services/locations/SocialMediaService.js.map +1 -1
  211. package/dist/services/meetings/LocationVenueRequestService.d.ts.map +1 -1
  212. package/dist/services/meetings/LocationVenueRequestService.js +1 -1
  213. package/dist/services/meetings/LocationVenueRequestService.js.map +1 -1
  214. package/dist/services/meetings/LocationVenueSetupService.d.ts.map +1 -1
  215. package/dist/services/meetings/LocationVenueSetupService.js +1 -1
  216. package/dist/services/meetings/LocationVenueSetupService.js.map +1 -1
  217. package/dist/services/meetings/MeetingAttendanceStatusService.d.ts.map +1 -1
  218. package/dist/services/meetings/MeetingAttendanceStatusService.js +1 -1
  219. package/dist/services/meetings/MeetingAttendanceStatusService.js.map +1 -1
  220. package/dist/services/meetings/MeetingAttendeeService.d.ts.map +1 -1
  221. package/dist/services/meetings/MeetingAttendeeService.js +1 -1
  222. package/dist/services/meetings/MeetingAttendeeService.js.map +1 -1
  223. package/dist/services/meetings/MeetingCommentService.d.ts.map +1 -1
  224. package/dist/services/meetings/MeetingCommentService.js +1 -1
  225. package/dist/services/meetings/MeetingCommentService.js.map +1 -1
  226. package/dist/services/meetings/MeetingFileService.d.ts.map +1 -1
  227. package/dist/services/meetings/MeetingFileService.js +1 -1
  228. package/dist/services/meetings/MeetingFileService.js.map +1 -1
  229. package/dist/services/meetings/MeetingRequestService.d.ts.map +1 -1
  230. package/dist/services/meetings/MeetingRequestService.js +1 -1
  231. package/dist/services/meetings/MeetingRequestService.js.map +1 -1
  232. package/dist/services/meetings/MeetingService.d.ts.map +1 -1
  233. package/dist/services/meetings/MeetingService.js +1 -1
  234. package/dist/services/meetings/MeetingService.js.map +1 -1
  235. package/dist/services/meetings/MeetingSetupService.d.ts.map +1 -1
  236. package/dist/services/meetings/MeetingSetupService.js +1 -1
  237. package/dist/services/meetings/MeetingSetupService.js.map +1 -1
  238. package/dist/services/meetings/MeetingStatusService.d.ts.map +1 -1
  239. package/dist/services/meetings/MeetingStatusService.js +1 -1
  240. package/dist/services/meetings/MeetingStatusService.js.map +1 -1
  241. package/dist/services/meetings/MeetingTypeService.d.ts.map +1 -1
  242. package/dist/services/meetings/MeetingTypeService.js +1 -1
  243. package/dist/services/meetings/MeetingTypeService.js.map +1 -1
  244. package/dist/services/meetings/MeetingVenueService.d.ts.map +1 -1
  245. package/dist/services/meetings/MeetingVenueService.js +1 -1
  246. package/dist/services/meetings/MeetingVenueService.js.map +1 -1
  247. package/dist/services/meetings/RequestInMeetingService.d.ts.map +1 -1
  248. package/dist/services/meetings/RequestInMeetingService.js +1 -1
  249. package/dist/services/meetings/RequestInMeetingService.js.map +1 -1
  250. package/dist/services/meetings/SetupInMeetingService.d.ts.map +1 -1
  251. package/dist/services/meetings/SetupInMeetingService.js +1 -1
  252. package/dist/services/meetings/SetupInMeetingService.js.map +1 -1
  253. package/dist/services/members/AllergyService.d.ts.map +1 -1
  254. package/dist/services/members/AllergyService.js +1 -1
  255. package/dist/services/members/AllergyService.js.map +1 -1
  256. package/dist/services/members/DisabilityService.d.ts.map +1 -1
  257. package/dist/services/members/DisabilityService.js +1 -1
  258. package/dist/services/members/DisabilityService.js.map +1 -1
  259. package/dist/services/members/FamilyService.d.ts.map +1 -1
  260. package/dist/services/members/FamilyService.js +1 -1
  261. package/dist/services/members/FamilyService.js.map +1 -1
  262. package/dist/services/members/MaritalStatusService.d.ts.map +1 -1
  263. package/dist/services/members/MaritalStatusService.js +1 -1
  264. package/dist/services/members/MaritalStatusService.js.map +1 -1
  265. package/dist/services/members/MemberAddressService.d.ts.map +1 -1
  266. package/dist/services/members/MemberAddressService.js +1 -1
  267. package/dist/services/members/MemberAddressService.js.map +1 -1
  268. package/dist/services/members/MemberLocationService.d.ts.map +1 -1
  269. package/dist/services/members/MemberLocationService.js +1 -1
  270. package/dist/services/members/MemberLocationService.js.map +1 -1
  271. package/dist/services/members/MemberService.d.ts.map +1 -1
  272. package/dist/services/members/MemberService.js +1 -1
  273. package/dist/services/members/MemberService.js.map +1 -1
  274. package/dist/services/members/MemberTypeService.d.ts.map +1 -1
  275. package/dist/services/members/MemberTypeService.js +1 -1
  276. package/dist/services/members/MemberTypeService.js.map +1 -1
  277. package/dist/services/members/RelationshipService.d.ts.map +1 -1
  278. package/dist/services/members/RelationshipService.js +1 -1
  279. package/dist/services/members/RelationshipService.js.map +1 -1
  280. package/dist/services/orders/OrderLineModelViewService.d.ts.map +1 -1
  281. package/dist/services/orders/OrderLineModelViewService.js +1 -1
  282. package/dist/services/orders/OrderLineModelViewService.js.map +1 -1
  283. package/dist/services/orders/OrderLineService.d.ts.map +1 -1
  284. package/dist/services/orders/OrderLineService.js +1 -1
  285. package/dist/services/orders/OrderLineService.js.map +1 -1
  286. package/dist/services/orders/OrderModelViewService.d.ts.map +1 -1
  287. package/dist/services/orders/OrderModelViewService.js +1 -1
  288. package/dist/services/orders/OrderModelViewService.js.map +1 -1
  289. package/dist/services/orders/OrderNotificationService.d.ts.map +1 -1
  290. package/dist/services/orders/OrderNotificationService.js +1 -1
  291. package/dist/services/orders/OrderNotificationService.js.map +1 -1
  292. package/dist/services/orders/OrderPaymentModelViewService.d.ts.map +1 -1
  293. package/dist/services/orders/OrderPaymentModelViewService.js +1 -1
  294. package/dist/services/orders/OrderPaymentModelViewService.js.map +1 -1
  295. package/dist/services/orders/OrderPaymentService.d.ts.map +1 -1
  296. package/dist/services/orders/OrderPaymentService.js +1 -1
  297. package/dist/services/orders/OrderPaymentService.js.map +1 -1
  298. package/dist/services/orders/OrderService.d.ts.map +1 -1
  299. package/dist/services/orders/OrderService.js +1 -1
  300. package/dist/services/orders/OrderService.js.map +1 -1
  301. package/dist/services/orders/OrderStatusService.d.ts.map +1 -1
  302. package/dist/services/orders/OrderStatusService.js +1 -1
  303. package/dist/services/orders/OrderStatusService.js.map +1 -1
  304. package/dist/services/orders/PaymentStatusService.d.ts.map +1 -1
  305. package/dist/services/orders/PaymentStatusService.js +1 -1
  306. package/dist/services/orders/PaymentStatusService.js.map +1 -1
  307. package/dist/services/procurements/AuditLogService.d.ts.map +1 -1
  308. package/dist/services/procurements/AuditLogService.js +1 -1
  309. package/dist/services/procurements/AuditLogService.js.map +1 -1
  310. package/dist/services/procurements/InvoiceLineService.d.ts.map +1 -1
  311. package/dist/services/procurements/InvoiceLineService.js +1 -1
  312. package/dist/services/procurements/InvoiceLineService.js.map +1 -1
  313. package/dist/services/procurements/InvoiceService.d.ts.map +1 -1
  314. package/dist/services/procurements/InvoiceService.js +1 -1
  315. package/dist/services/procurements/InvoiceService.js.map +1 -1
  316. package/dist/services/procurements/InvoiceStatusService.d.ts.map +1 -1
  317. package/dist/services/procurements/InvoiceStatusService.js +1 -1
  318. package/dist/services/procurements/InvoiceStatusService.js.map +1 -1
  319. package/dist/services/procurements/NotificationService.d.ts.map +1 -1
  320. package/dist/services/procurements/NotificationService.js +1 -1
  321. package/dist/services/procurements/NotificationService.js.map +1 -1
  322. package/dist/services/procurements/ProcurementRoleTypeService.d.ts.map +1 -1
  323. package/dist/services/procurements/ProcurementRoleTypeService.js +1 -1
  324. package/dist/services/procurements/ProcurementRoleTypeService.js.map +1 -1
  325. package/dist/services/procurements/PurchaseRequestService.d.ts.map +1 -1
  326. package/dist/services/procurements/PurchaseRequestService.js +1 -1
  327. package/dist/services/procurements/PurchaseRequestService.js.map +1 -1
  328. package/dist/services/procurements/QuotationLineService.d.ts.map +1 -1
  329. package/dist/services/procurements/QuotationLineService.js +1 -1
  330. package/dist/services/procurements/QuotationLineService.js.map +1 -1
  331. package/dist/services/procurements/QuotationService.d.ts.map +1 -1
  332. package/dist/services/procurements/QuotationService.js +1 -1
  333. package/dist/services/procurements/QuotationService.js.map +1 -1
  334. package/dist/services/procurements/QuotationStatusService.d.ts.map +1 -1
  335. package/dist/services/procurements/QuotationStatusService.js +1 -1
  336. package/dist/services/procurements/QuotationStatusService.js.map +1 -1
  337. package/dist/services/procurements/RequestApprovalStatusService.d.ts.map +1 -1
  338. package/dist/services/procurements/RequestApprovalStatusService.js +1 -1
  339. package/dist/services/procurements/RequestApprovalStatusService.js.map +1 -1
  340. package/dist/services/procurements/RequestAttachmentService.d.ts.map +1 -1
  341. package/dist/services/procurements/RequestAttachmentService.js +1 -1
  342. package/dist/services/procurements/RequestAttachmentService.js.map +1 -1
  343. package/dist/services/procurements/RequestCommentService.d.ts.map +1 -1
  344. package/dist/services/procurements/RequestCommentService.js +1 -1
  345. package/dist/services/procurements/RequestCommentService.js.map +1 -1
  346. package/dist/services/procurements/RequestStageService.d.ts.map +1 -1
  347. package/dist/services/procurements/RequestStageService.js +1 -1
  348. package/dist/services/procurements/RequestStageService.js.map +1 -1
  349. package/dist/services/procurements/RequestStatusService.d.ts.map +1 -1
  350. package/dist/services/procurements/RequestStatusService.js +1 -1
  351. package/dist/services/procurements/RequestStatusService.js.map +1 -1
  352. package/dist/services/procurements/RequestTypeService.d.ts.map +1 -1
  353. package/dist/services/procurements/RequestTypeService.js +1 -1
  354. package/dist/services/procurements/RequestTypeService.js.map +1 -1
  355. package/dist/services/procurements/SageItemService.d.ts.map +1 -1
  356. package/dist/services/procurements/SageItemService.js +1 -1
  357. package/dist/services/procurements/SageItemService.js.map +1 -1
  358. package/dist/services/procurements/SagePurchaseOrderService.d.ts.map +1 -1
  359. package/dist/services/procurements/SagePurchaseOrderService.js +1 -1
  360. package/dist/services/procurements/SagePurchaseOrderService.js.map +1 -1
  361. package/dist/services/socialmedia/SocialMediaAccountService.d.ts +38 -0
  362. package/dist/services/socialmedia/SocialMediaAccountService.d.ts.map +1 -0
  363. package/dist/services/socialmedia/SocialMediaAccountService.js +59 -0
  364. package/dist/services/socialmedia/SocialMediaAccountService.js.map +1 -0
  365. package/dist/services/socialmedia/SocialMediaAdsService.d.ts +74 -0
  366. package/dist/services/socialmedia/SocialMediaAdsService.d.ts.map +1 -0
  367. package/dist/services/socialmedia/SocialMediaAdsService.js +130 -0
  368. package/dist/services/socialmedia/SocialMediaAdsService.js.map +1 -0
  369. package/dist/services/socialmedia/SocialMediaDashboardService.d.ts +137 -0
  370. package/dist/services/socialmedia/SocialMediaDashboardService.d.ts.map +1 -0
  371. package/dist/services/socialmedia/SocialMediaDashboardService.js +179 -0
  372. package/dist/services/socialmedia/SocialMediaDashboardService.js.map +1 -0
  373. package/dist/services/socialmedia/SocialMediaMetricsService.d.ts +56 -0
  374. package/dist/services/socialmedia/SocialMediaMetricsService.d.ts.map +1 -0
  375. package/dist/services/socialmedia/SocialMediaMetricsService.js +105 -0
  376. package/dist/services/socialmedia/SocialMediaMetricsService.js.map +1 -0
  377. package/dist/services/socialmedia/SocialMediaPostService.d.ts +56 -0
  378. package/dist/services/socialmedia/SocialMediaPostService.d.ts.map +1 -0
  379. package/dist/services/socialmedia/SocialMediaPostService.js +94 -0
  380. package/dist/services/socialmedia/SocialMediaPostService.js.map +1 -0
  381. package/dist/services/socialmedia/SocialMediaStoryService.d.ts +47 -0
  382. package/dist/services/socialmedia/SocialMediaStoryService.d.ts.map +1 -0
  383. package/dist/services/socialmedia/SocialMediaStoryService.js +77 -0
  384. package/dist/services/socialmedia/SocialMediaStoryService.js.map +1 -0
  385. package/dist/services/socialmedia/SocialMediaThresholdService.d.ts +47 -0
  386. package/dist/services/socialmedia/SocialMediaThresholdService.d.ts.map +1 -0
  387. package/dist/services/socialmedia/SocialMediaThresholdService.js +75 -0
  388. package/dist/services/socialmedia/SocialMediaThresholdService.js.map +1 -0
  389. package/dist/services/socialmedia/SocialMediaVideoService.d.ts +47 -0
  390. package/dist/services/socialmedia/SocialMediaVideoService.d.ts.map +1 -0
  391. package/dist/services/socialmedia/SocialMediaVideoService.js +77 -0
  392. package/dist/services/socialmedia/SocialMediaVideoService.js.map +1 -0
  393. package/dist/services/socialmedia/index.d.ts +43 -0
  394. package/dist/services/socialmedia/index.d.ts.map +1 -0
  395. package/dist/services/socialmedia/index.js +41 -0
  396. package/dist/services/socialmedia/index.js.map +1 -0
  397. package/dist/services/system/HealthService.d.ts +15 -0
  398. package/dist/services/system/HealthService.d.ts.map +1 -1
  399. package/dist/services/system/HealthService.js +21 -15
  400. package/dist/services/system/HealthService.js.map +1 -1
  401. package/dist/services/system/RabbitMQManagementService.d.ts +13 -9
  402. package/dist/services/system/RabbitMQManagementService.d.ts.map +1 -1
  403. package/dist/services/system/RabbitMQManagementService.js +23 -40
  404. package/dist/services/system/RabbitMQManagementService.js.map +1 -1
  405. package/dist/services/system/RedisManagementService.d.ts +13 -6
  406. package/dist/services/system/RedisManagementService.d.ts.map +1 -1
  407. package/dist/services/system/RedisManagementService.js +42 -20
  408. package/dist/services/system/RedisManagementService.js.map +1 -1
  409. package/dist/services/task/LogTypeService.d.ts.map +1 -1
  410. package/dist/services/task/LogTypeService.js +1 -1
  411. package/dist/services/task/LogTypeService.js.map +1 -1
  412. package/dist/services/task/TaskAssignmentService.d.ts.map +1 -1
  413. package/dist/services/task/TaskAssignmentService.js +1 -1
  414. package/dist/services/task/TaskAssignmentService.js.map +1 -1
  415. package/dist/services/task/TaskAttachmentService.d.ts.map +1 -1
  416. package/dist/services/task/TaskAttachmentService.js +1 -1
  417. package/dist/services/task/TaskAttachmentService.js.map +1 -1
  418. package/dist/services/task/TaskCommentService.d.ts.map +1 -1
  419. package/dist/services/task/TaskCommentService.js +1 -1
  420. package/dist/services/task/TaskCommentService.js.map +1 -1
  421. package/dist/services/task/TaskLogService.d.ts.map +1 -1
  422. package/dist/services/task/TaskLogService.js +1 -1
  423. package/dist/services/task/TaskLogService.js.map +1 -1
  424. package/dist/services/task/TaskNoteService.d.ts.map +1 -1
  425. package/dist/services/task/TaskNoteService.js +1 -1
  426. package/dist/services/task/TaskNoteService.js.map +1 -1
  427. package/dist/services/task/TaskNotificationQueueService.d.ts.map +1 -1
  428. package/dist/services/task/TaskNotificationQueueService.js +1 -1
  429. package/dist/services/task/TaskNotificationQueueService.js.map +1 -1
  430. package/dist/services/task/TaskNotificationService.d.ts.map +1 -1
  431. package/dist/services/task/TaskNotificationService.js +1 -1
  432. package/dist/services/task/TaskNotificationService.js.map +1 -1
  433. package/dist/services/task/TaskPriorityService.d.ts.map +1 -1
  434. package/dist/services/task/TaskPriorityService.js +1 -1
  435. package/dist/services/task/TaskPriorityService.js.map +1 -1
  436. package/dist/services/task/TaskProgressStageService.d.ts.map +1 -1
  437. package/dist/services/task/TaskProgressStageService.js +1 -1
  438. package/dist/services/task/TaskProgressStageService.js.map +1 -1
  439. package/dist/services/task/TaskService.d.ts +100 -1
  440. package/dist/services/task/TaskService.d.ts.map +1 -1
  441. package/dist/services/task/TaskService.js +167 -0
  442. package/dist/services/task/TaskService.js.map +1 -1
  443. package/dist/services/task/TaskStatusService.d.ts.map +1 -1
  444. package/dist/services/task/TaskStatusService.js +1 -1
  445. package/dist/services/task/TaskStatusService.js.map +1 -1
  446. package/dist/services/types.d.ts +2 -0
  447. package/dist/services/types.d.ts.map +1 -1
  448. package/dist/services/users/AdminService.d.ts.map +1 -1
  449. package/dist/services/users/AdminService.js +30 -3
  450. package/dist/services/users/AdminService.js.map +1 -1
  451. package/dist/services/users/PresenceAnalyticsService.d.ts +179 -0
  452. package/dist/services/users/PresenceAnalyticsService.d.ts.map +1 -0
  453. package/dist/services/users/PresenceAnalyticsService.js +232 -0
  454. package/dist/services/users/PresenceAnalyticsService.js.map +1 -0
  455. package/dist/services/users/RightService.d.ts +16 -20
  456. package/dist/services/users/RightService.d.ts.map +1 -1
  457. package/dist/services/users/RightService.js +3 -37
  458. package/dist/services/users/RightService.js.map +1 -1
  459. package/dist/services/users/RoleService.d.ts +27 -0
  460. package/dist/services/users/RoleService.d.ts.map +1 -1
  461. package/dist/services/users/RoleService.js +54 -0
  462. package/dist/services/users/RoleService.js.map +1 -1
  463. package/dist/services/users/SystemService.d.ts +9 -0
  464. package/dist/services/users/SystemService.d.ts.map +1 -1
  465. package/dist/services/users/SystemService.js +20 -0
  466. package/dist/services/users/SystemService.js.map +1 -1
  467. package/dist/services/users/UserPreferencesService.d.ts +27 -0
  468. package/dist/services/users/UserPreferencesService.d.ts.map +1 -1
  469. package/dist/services/users/UserPreferencesService.js +54 -0
  470. package/dist/services/users/UserPreferencesService.js.map +1 -1
  471. package/dist/services/users/UserPushDeviceService.d.ts +18 -0
  472. package/dist/services/users/UserPushDeviceService.d.ts.map +1 -1
  473. package/dist/services/users/UserPushDeviceService.js +35 -0
  474. package/dist/services/users/UserPushDeviceService.js.map +1 -1
  475. package/dist/services/users/UserService.d.ts +142 -1
  476. package/dist/services/users/UserService.d.ts.map +1 -1
  477. package/dist/services/users/UserService.js +265 -0
  478. package/dist/services/users/UserService.js.map +1 -1
  479. package/dist/services/users/index.d.ts +5 -2
  480. package/dist/services/users/index.d.ts.map +1 -1
  481. package/dist/services/users/index.js +3 -0
  482. package/dist/services/users/index.js.map +1 -1
  483. package/package.json +1 -1
  484. package/dist/react/hooks/useRealtime.d.ts +0 -63
  485. package/dist/react/hooks/useRealtime.d.ts.map +0 -1
  486. package/dist/react/hooks/useRealtime.js +0 -146
  487. package/dist/react/hooks/useRealtime.js.map +0 -1
  488. package/dist/realtime/RealtimeClient.d.ts +0 -99
  489. package/dist/realtime/RealtimeClient.d.ts.map +0 -1
  490. package/dist/realtime/RealtimeClient.js +0 -278
  491. package/dist/realtime/RealtimeClient.js.map +0 -1
  492. package/dist/realtime/types.d.ts +0 -76
  493. package/dist/realtime/types.d.ts.map +0 -1
  494. package/dist/realtime/types.js +0 -55
  495. package/dist/realtime/types.js.map +0 -1
@@ -0,0 +1,342 @@
1
+ /**
2
+ * ActivityTracker
3
+ * Tracks user activity (mouse, keyboard) and sends to backend with debounce
4
+ * Platform-aware: Works on web, React Native, and Node.js
5
+ * Matches the test app's activity tracking implementation
6
+ */
7
+ export class ActivityTracker {
8
+ /**
9
+ * Create ActivityTracker
10
+ * @param presenceClient - PresenceClient instance
11
+ * @param debounceMs - Debounce delay in milliseconds (default: 5000 = 5 seconds) - DEPRECATED
12
+ * @param highSignificanceThrottleMs - Throttle delay for keyboard/clicks (default: 2000 = 2 seconds)
13
+ * @param lowSignificanceThrottleMs - Throttle delay for mouse/scroll (default: 5000 = 5 seconds)
14
+ * @param platform - Platform type (default: auto-detect)
15
+ */
16
+ constructor(presenceClient, debounceMs = 5000, highSignificanceThrottleMs = 2000, lowSignificanceThrottleMs = 5000, platform = 'web') {
17
+ this.presenceClient = presenceClient;
18
+ this.debounceMs = debounceMs;
19
+ this.highSignificanceThrottleMs = highSignificanceThrottleMs;
20
+ this.lowSignificanceThrottleMs = lowSignificanceThrottleMs;
21
+ this.platform = platform;
22
+ this.debounceTimer = null;
23
+ this.throttleTimer = null;
24
+ this.lastActivityTime = Date.now();
25
+ this.lastServerSyncTime = 0;
26
+ this.isActive = false;
27
+ this.activityHandler = null;
28
+ this.highSignificanceHandler = null;
29
+ this.lowSignificanceHandler = null;
30
+ /**
31
+ * Handle activity event (internal) - DEPRECATED, kept for React Native compatibility
32
+ * Debounces calls to recordActivity
33
+ * @private
34
+ */
35
+ this.handleActivity = () => {
36
+ this.lastActivityTime = Date.now();
37
+ // Clear existing debounce timer
38
+ if (this.debounceTimer) {
39
+ clearTimeout(this.debounceTimer);
40
+ }
41
+ // Set new debounce timer
42
+ this.debounceTimer = setTimeout(async () => {
43
+ try {
44
+ await this.presenceClient.recordActivity();
45
+ console.log('[ActivityTracker] Activity recorded at', new Date().toISOString());
46
+ }
47
+ catch (error) {
48
+ console.error('[ActivityTracker] Failed to record activity:', error);
49
+ }
50
+ }, this.debounceMs);
51
+ };
52
+ /**
53
+ * Handle high-significance activity (keyboard, clicks)
54
+ * Updates local timestamp immediately, throttles server sync
55
+ * @private
56
+ */
57
+ this.handleHighSignificanceActivity = () => {
58
+ // ALWAYS update local timestamp immediately (for idle detection)
59
+ this.lastActivityTime = Date.now();
60
+ // Throttle server sync
61
+ this.throttleServerSync(this.highSignificanceThrottleMs);
62
+ };
63
+ /**
64
+ * Handle low-significance activity (mouse movement, scroll)
65
+ * Updates local timestamp immediately, throttles server sync with longer delay
66
+ * @private
67
+ */
68
+ this.handleLowSignificanceActivity = () => {
69
+ // ALWAYS update local timestamp immediately (for idle detection)
70
+ this.lastActivityTime = Date.now();
71
+ // Throttle server sync with longer delay
72
+ this.throttleServerSync(this.lowSignificanceThrottleMs);
73
+ };
74
+ // Auto-detect platform if not specified
75
+ if (!platform) {
76
+ this.platform = this.detectPlatform();
77
+ }
78
+ }
79
+ /**
80
+ * Auto-detect the current platform
81
+ * @private
82
+ */
83
+ detectPlatform() {
84
+ // Check for React Native
85
+ if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
86
+ return 'react-native';
87
+ }
88
+ // Check for browser environment
89
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
90
+ return 'web';
91
+ }
92
+ // Default to Node.js
93
+ return 'node';
94
+ }
95
+ /**
96
+ * Start activity tracking
97
+ * Begins listening to platform-specific activity events
98
+ */
99
+ start() {
100
+ if (this.isActive) {
101
+ console.warn('[ActivityTracker] Already tracking');
102
+ return;
103
+ }
104
+ console.log(`[ActivityTracker] Starting on platform: ${this.platform}`);
105
+ if (this.platform === 'web') {
106
+ this.startWebTracking();
107
+ }
108
+ else if (this.platform === 'react-native') {
109
+ this.startReactNativeTracking();
110
+ }
111
+ // Node.js doesn't need activity tracking (server-side)
112
+ this.isActive = true;
113
+ }
114
+ /**
115
+ * Stop activity tracking
116
+ * Removes all event listeners and clears pending timers
117
+ */
118
+ stop() {
119
+ if (!this.isActive) {
120
+ return;
121
+ }
122
+ console.log('[ActivityTracker] Stopping');
123
+ if (this.platform === 'web') {
124
+ this.stopWebTracking();
125
+ }
126
+ else if (this.platform === 'react-native') {
127
+ this.stopReactNativeTracking();
128
+ }
129
+ // Clear any pending timers
130
+ if (this.debounceTimer) {
131
+ clearTimeout(this.debounceTimer);
132
+ this.debounceTimer = null;
133
+ }
134
+ if (this.throttleTimer) {
135
+ clearTimeout(this.throttleTimer);
136
+ this.throttleTimer = null;
137
+ }
138
+ this.isActive = false;
139
+ }
140
+ /**
141
+ * Throttle server synchronization
142
+ * Ensures we send updates at most once per interval
143
+ * @private
144
+ */
145
+ throttleServerSync(throttleMs) {
146
+ const now = Date.now();
147
+ const timeSinceLastSync = now - this.lastServerSyncTime;
148
+ // If enough time has passed, sync immediately
149
+ if (timeSinceLastSync >= throttleMs) {
150
+ this.syncActivityToServer();
151
+ return;
152
+ }
153
+ // Otherwise, schedule a sync for the remaining time
154
+ if (!this.throttleTimer) {
155
+ const remainingTime = throttleMs - timeSinceLastSync;
156
+ this.throttleTimer = setTimeout(() => {
157
+ this.syncActivityToServer();
158
+ }, remainingTime);
159
+ }
160
+ }
161
+ /**
162
+ * Send activity to server
163
+ * @private
164
+ */
165
+ async syncActivityToServer() {
166
+ this.lastServerSyncTime = Date.now();
167
+ this.throttleTimer = null;
168
+ try {
169
+ await this.presenceClient.recordActivity();
170
+ console.log('[ActivityTracker] Activity synced to server at', new Date().toISOString());
171
+ }
172
+ catch (error) {
173
+ console.error('[ActivityTracker] Failed to sync activity to server:', error);
174
+ }
175
+ }
176
+ /**
177
+ * Start web platform tracking
178
+ * Listens to high-significance (keyboard, clicks) and low-significance (mouse, scroll) events
179
+ * @private
180
+ */
181
+ startWebTracking() {
182
+ if (typeof window === 'undefined') {
183
+ console.warn('[ActivityTracker] Web platform not available');
184
+ return;
185
+ }
186
+ console.log('[ActivityTracker] Starting web event listeners');
187
+ // High-significance events (definite user activity)
188
+ window.addEventListener('keydown', this.handleHighSignificanceActivity);
189
+ window.addEventListener('keypress', this.handleHighSignificanceActivity);
190
+ window.addEventListener('mousedown', this.handleHighSignificanceActivity);
191
+ window.addEventListener('click', this.handleHighSignificanceActivity);
192
+ window.addEventListener('touchstart', this.handleHighSignificanceActivity);
193
+ // Low-significance events (potential idle movement)
194
+ window.addEventListener('mousemove', this.handleLowSignificanceActivity);
195
+ window.addEventListener('scroll', this.handleLowSignificanceActivity);
196
+ }
197
+ /**
198
+ * Stop web platform tracking
199
+ * Removes all web event listeners
200
+ * @private
201
+ */
202
+ stopWebTracking() {
203
+ if (typeof window === 'undefined')
204
+ return;
205
+ console.log('[ActivityTracker] Removing web event listeners');
206
+ // High-significance events
207
+ window.removeEventListener('keydown', this.handleHighSignificanceActivity);
208
+ window.removeEventListener('keypress', this.handleHighSignificanceActivity);
209
+ window.removeEventListener('mousedown', this.handleHighSignificanceActivity);
210
+ window.removeEventListener('click', this.handleHighSignificanceActivity);
211
+ window.removeEventListener('touchstart', this.handleHighSignificanceActivity);
212
+ // Low-significance events
213
+ window.removeEventListener('mousemove', this.handleLowSignificanceActivity);
214
+ window.removeEventListener('scroll', this.handleLowSignificanceActivity);
215
+ }
216
+ /**
217
+ * Start React Native platform tracking
218
+ * Uses AppState to detect app activity
219
+ * @private
220
+ */
221
+ startReactNativeTracking() {
222
+ try {
223
+ // Dynamically import AppState for React Native
224
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
225
+ const { AppState } = require('react-native');
226
+ this.activityHandler = AppState.addEventListener('change', (nextAppState) => {
227
+ if (nextAppState === 'active') {
228
+ this.handleActivity();
229
+ }
230
+ });
231
+ console.log('[ActivityTracker] Started React Native AppState tracking');
232
+ }
233
+ catch (error) {
234
+ console.warn('[ActivityTracker] React Native AppState not available:', error);
235
+ }
236
+ }
237
+ /**
238
+ * Stop React Native platform tracking
239
+ * Removes AppState listener
240
+ * @private
241
+ */
242
+ stopReactNativeTracking() {
243
+ if (this.activityHandler) {
244
+ try {
245
+ // Remove the subscription
246
+ if (typeof this.activityHandler === 'function') {
247
+ // In newer React Native versions, addEventListener returns a remove function
248
+ this.activityHandler();
249
+ }
250
+ else if ('remove' in this.activityHandler) {
251
+ // Older versions have a remove method
252
+ this.activityHandler.remove();
253
+ }
254
+ this.activityHandler = null;
255
+ console.log('[ActivityTracker] Stopped React Native tracking');
256
+ }
257
+ catch (error) {
258
+ console.warn('[ActivityTracker] Failed to stop React Native tracking:', error);
259
+ }
260
+ }
261
+ }
262
+ /**
263
+ * Get the timestamp of the last detected activity
264
+ * @returns Timestamp in milliseconds
265
+ */
266
+ getLastActivityTime() {
267
+ return this.lastActivityTime;
268
+ }
269
+ /**
270
+ * Manually trigger activity recording
271
+ * Bypasses debounce and sends immediately
272
+ */
273
+ async triggerActivity() {
274
+ try {
275
+ await this.presenceClient.recordActivity();
276
+ this.lastActivityTime = Date.now();
277
+ console.log('[ActivityTracker] Activity triggered manually');
278
+ }
279
+ catch (error) {
280
+ console.error('[ActivityTracker] Failed to trigger activity:', error);
281
+ throw error;
282
+ }
283
+ }
284
+ /**
285
+ * Update the debounce delay
286
+ * @param ms - New debounce delay in milliseconds
287
+ */
288
+ setDebounce(ms) {
289
+ if (ms < 1000) {
290
+ console.warn('[ActivityTracker] Debounce too short, using minimum 1000ms');
291
+ ms = 1000;
292
+ }
293
+ this.debounceMs = ms;
294
+ console.log(`[ActivityTracker] Debounce updated to ${ms}ms`);
295
+ }
296
+ /**
297
+ * Get current debounce setting
298
+ * @returns Debounce delay in milliseconds
299
+ */
300
+ getDebounce() {
301
+ return this.debounceMs;
302
+ }
303
+ /**
304
+ * Check if activity tracking is currently active
305
+ * @returns True if tracking, false otherwise
306
+ */
307
+ isTracking() {
308
+ return this.isActive;
309
+ }
310
+ /**
311
+ * Get the current platform
312
+ * @returns Platform type
313
+ */
314
+ getPlatform() {
315
+ return this.platform;
316
+ }
317
+ /**
318
+ * Update high-significance throttle delay
319
+ * @param ms - New throttle delay in milliseconds
320
+ */
321
+ setHighSignificanceThrottle(ms) {
322
+ if (ms < 500) {
323
+ console.warn('[ActivityTracker] High-significance throttle too short, using minimum 500ms');
324
+ ms = 500;
325
+ }
326
+ this.highSignificanceThrottleMs = ms;
327
+ console.log(`[ActivityTracker] High-significance throttle updated to ${ms}ms`);
328
+ }
329
+ /**
330
+ * Update low-significance throttle delay
331
+ * @param ms - New throttle delay in milliseconds
332
+ */
333
+ setLowSignificanceThrottle(ms) {
334
+ if (ms < 1000) {
335
+ console.warn('[ActivityTracker] Low-significance throttle too short, using minimum 1000ms');
336
+ ms = 1000;
337
+ }
338
+ this.lowSignificanceThrottleMs = ms;
339
+ console.log(`[ActivityTracker] Low-significance throttle updated to ${ms}ms`);
340
+ }
341
+ }
342
+ //# sourceMappingURL=ActivityTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityTracker.js","sourceRoot":"","sources":["../../../src/realtime/presence/ActivityTracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * AutoHeartbeatManager
3
+ * Manages automatic periodic heartbeat to keep presence fresh
4
+ * Matches the test app's auto-heartbeat implementation
5
+ */
6
+ import { PresenceClient } from './PresenceClient';
7
+ export declare class AutoHeartbeatManager {
8
+ private presenceClient;
9
+ private intervalSeconds;
10
+ private intervalId;
11
+ private lastHeartbeat;
12
+ private isRunning;
13
+ private stateChangeUnsubscribe;
14
+ private wasPausedDueToDisconnect;
15
+ /**
16
+ * Create AutoHeartbeatManager
17
+ * @param presenceClient - PresenceClient instance
18
+ * @param intervalSeconds - Heartbeat interval in seconds (default: 30)
19
+ */
20
+ constructor(presenceClient: PresenceClient, intervalSeconds?: number);
21
+ /**
22
+ * Start automatic heartbeat
23
+ * Sends heartbeat immediately and then every intervalSeconds
24
+ */
25
+ start(): void;
26
+ /**
27
+ * Stop automatic heartbeat
28
+ */
29
+ stop(): void;
30
+ /**
31
+ * Send a single heartbeat
32
+ * @private
33
+ */
34
+ private sendHeartbeat;
35
+ /**
36
+ * Get the timestamp of the last successful heartbeat
37
+ * @returns Last heartbeat date or null if never sent
38
+ */
39
+ getLastHeartbeat(): Date | null;
40
+ /**
41
+ * Update the heartbeat interval
42
+ * If currently running, restarts with new interval
43
+ * @param seconds - New interval in seconds
44
+ */
45
+ setInterval(seconds: number): void;
46
+ /**
47
+ * Get current interval setting
48
+ * @returns Interval in seconds
49
+ */
50
+ getInterval(): number;
51
+ /**
52
+ * Check if heartbeat is currently running
53
+ * @returns True if running, false otherwise
54
+ */
55
+ isActive(): boolean;
56
+ /**
57
+ * Handle connection state changes
58
+ * Pauses heartbeat when disconnected/reconnecting, resumes when connected
59
+ * @private
60
+ */
61
+ private handleConnectionStateChange;
62
+ /**
63
+ * Cleanup and destroy the heartbeat manager
64
+ * Stops heartbeat and unsubscribes from connection state changes
65
+ */
66
+ destroy(): void;
67
+ }
68
+ //# sourceMappingURL=AutoHeartbeatManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoHeartbeatManager.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/AutoHeartbeatManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,qBAAa,oBAAoB;IAa7B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IAbzB,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,sBAAsB,CAAmC;IACjE,OAAO,CAAC,wBAAwB,CAAkB;IAElD;;;;OAIG;gBAEO,cAAc,EAAE,cAAc,EAC9B,eAAe,GAAE,MAAW;IAQtC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAmBb;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;;OAGG;YACW,aAAa;IAgB3B;;;OAGG;IACH,gBAAgB,IAAI,IAAI,GAAG,IAAI;IAI/B;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAoBlC;;;OAGG;IACH,WAAW,IAAI,MAAM;IAIrB;;;OAGG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IA0BnC;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * AutoHeartbeatManager
3
+ * Manages automatic periodic heartbeat to keep presence fresh
4
+ * Matches the test app's auto-heartbeat implementation
5
+ */
6
+ import { ConnectionState } from '../shared/types';
7
+ export class AutoHeartbeatManager {
8
+ /**
9
+ * Create AutoHeartbeatManager
10
+ * @param presenceClient - PresenceClient instance
11
+ * @param intervalSeconds - Heartbeat interval in seconds (default: 30)
12
+ */
13
+ constructor(presenceClient, intervalSeconds = 30) {
14
+ this.presenceClient = presenceClient;
15
+ this.intervalSeconds = intervalSeconds;
16
+ this.intervalId = null;
17
+ this.lastHeartbeat = null;
18
+ this.isRunning = false;
19
+ this.stateChangeUnsubscribe = null;
20
+ this.wasPausedDueToDisconnect = false;
21
+ // Listen for connection state changes
22
+ this.stateChangeUnsubscribe = this.presenceClient.onStateChange((state) => {
23
+ this.handleConnectionStateChange(state);
24
+ });
25
+ }
26
+ /**
27
+ * Start automatic heartbeat
28
+ * Sends heartbeat immediately and then every intervalSeconds
29
+ */
30
+ start() {
31
+ if (this.isRunning) {
32
+ console.warn('[AutoHeartbeat] Already running');
33
+ return;
34
+ }
35
+ console.log(`[AutoHeartbeat] Starting with ${this.intervalSeconds}s interval`);
36
+ // Send initial heartbeat immediately
37
+ this.sendHeartbeat();
38
+ // Setup interval for subsequent heartbeats
39
+ this.intervalId = setInterval(() => {
40
+ this.sendHeartbeat();
41
+ }, this.intervalSeconds * 1000);
42
+ this.isRunning = true;
43
+ }
44
+ /**
45
+ * Stop automatic heartbeat
46
+ */
47
+ stop() {
48
+ if (this.intervalId) {
49
+ clearInterval(this.intervalId);
50
+ this.intervalId = null;
51
+ }
52
+ this.isRunning = false;
53
+ console.log('[AutoHeartbeat] Stopped');
54
+ }
55
+ /**
56
+ * Send a single heartbeat
57
+ * @private
58
+ */
59
+ async sendHeartbeat() {
60
+ try {
61
+ // Check if connected before invoking hub method
62
+ if (!this.presenceClient.isConnected()) {
63
+ console.warn('[AutoHeartbeat] Not connected, skipping heartbeat');
64
+ return;
65
+ }
66
+ await this.presenceClient.heartbeat();
67
+ this.lastHeartbeat = new Date();
68
+ console.log('[AutoHeartbeat] Heartbeat sent successfully at', this.lastHeartbeat.toISOString());
69
+ }
70
+ catch (error) {
71
+ console.error('[AutoHeartbeat] Failed to send heartbeat:', error);
72
+ }
73
+ }
74
+ /**
75
+ * Get the timestamp of the last successful heartbeat
76
+ * @returns Last heartbeat date or null if never sent
77
+ */
78
+ getLastHeartbeat() {
79
+ return this.lastHeartbeat;
80
+ }
81
+ /**
82
+ * Update the heartbeat interval
83
+ * If currently running, restarts with new interval
84
+ * @param seconds - New interval in seconds
85
+ */
86
+ setInterval(seconds) {
87
+ if (seconds < 10) {
88
+ console.warn('[AutoHeartbeat] Interval too short, using minimum 10 seconds');
89
+ seconds = 10;
90
+ }
91
+ if (seconds > 300) {
92
+ console.warn('[AutoHeartbeat] Interval too long, using maximum 300 seconds');
93
+ seconds = 300;
94
+ }
95
+ this.intervalSeconds = seconds;
96
+ // If running, restart with new interval
97
+ if (this.isRunning) {
98
+ console.log(`[AutoHeartbeat] Updating interval to ${seconds}s`);
99
+ this.stop();
100
+ this.start();
101
+ }
102
+ }
103
+ /**
104
+ * Get current interval setting
105
+ * @returns Interval in seconds
106
+ */
107
+ getInterval() {
108
+ return this.intervalSeconds;
109
+ }
110
+ /**
111
+ * Check if heartbeat is currently running
112
+ * @returns True if running, false otherwise
113
+ */
114
+ isActive() {
115
+ return this.isRunning;
116
+ }
117
+ /**
118
+ * Handle connection state changes
119
+ * Pauses heartbeat when disconnected/reconnecting, resumes when connected
120
+ * @private
121
+ */
122
+ handleConnectionStateChange(state) {
123
+ if (state === ConnectionState.Disconnected || state === ConnectionState.Reconnecting) {
124
+ // Pause if running
125
+ if (this.isRunning) {
126
+ console.log(`[AutoHeartbeat] Pausing due to connection state: ${state}`);
127
+ if (this.intervalId) {
128
+ clearInterval(this.intervalId);
129
+ this.intervalId = null;
130
+ }
131
+ this.wasPausedDueToDisconnect = true;
132
+ }
133
+ }
134
+ else if (state === ConnectionState.Connected) {
135
+ // Resume if was paused due to disconnect
136
+ if (this.wasPausedDueToDisconnect && this.isRunning) {
137
+ console.log('[AutoHeartbeat] Resuming after reconnection');
138
+ // Send immediate heartbeat on reconnect
139
+ this.sendHeartbeat();
140
+ // Restart interval
141
+ this.intervalId = setInterval(() => {
142
+ this.sendHeartbeat();
143
+ }, this.intervalSeconds * 1000);
144
+ this.wasPausedDueToDisconnect = false;
145
+ }
146
+ }
147
+ }
148
+ /**
149
+ * Cleanup and destroy the heartbeat manager
150
+ * Stops heartbeat and unsubscribes from connection state changes
151
+ */
152
+ destroy() {
153
+ this.stop();
154
+ if (this.stateChangeUnsubscribe) {
155
+ this.stateChangeUnsubscribe();
156
+ this.stateChangeUnsubscribe = null;
157
+ }
158
+ }
159
+ }
160
+ //# sourceMappingURL=AutoHeartbeatManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoHeartbeatManager.js","sourceRoot":"","sources":["../../../src/realtime/presence/AutoHeartbeatManager.ts"],"names":[],"mappings":"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"}