@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
@@ -2,6 +2,22 @@
2
2
  * PresenceProvider
3
3
  * React Context Provider for presence management
4
4
  * Auto-connects on login, auto-disconnects on logout, handles activity detection
5
+ *
6
+ * @deprecated For new projects, use CCMSProvider with presenceUrl config instead.
7
+ * This provider is maintained for backward compatibility and fine-grained control.
8
+ *
9
+ * Migration example:
10
+ * ```typescript
11
+ * // Old way:
12
+ * <PresenceProvider authManager={authManager} baseUrl={baseUrl}>
13
+ * <App />
14
+ * </PresenceProvider>
15
+ *
16
+ * // New way (recommended):
17
+ * <CCMSProvider config={{ baseUrl, presenceUrl, getToken: async () => token }}>
18
+ * <App />
19
+ * </CCMSProvider>
20
+ * ```
5
21
  */
6
22
  import React, { useRef, useReducer, useEffect, useCallback, useMemo } from 'react';
7
23
  import { PresenceContext } from './PresenceContext';
@@ -91,6 +107,8 @@ function detectPlatform() {
91
107
  export function PresenceProvider({ children, authManager, baseUrl, options = {}, onConnectionChange, onConnectionError, }) {
92
108
  const presenceClientRef = useRef(null);
93
109
  const activityDetectorRef = useRef(null);
110
+ const isConnectingRef = useRef(false);
111
+ const tokenRef = useRef(null); // Store latest token for SignalR
94
112
  const [state, dispatch] = useReducer(presenceReducer, initialPresenceState);
95
113
  // Detect platform if not specified
96
114
  const platform = options.platform || detectPlatform();
@@ -98,19 +116,40 @@ export function PresenceProvider({ children, authManager, baseUrl, options = {},
98
116
  * Handle login - create client and connect
99
117
  */
100
118
  const handleLogin = useCallback(async (authState) => {
101
- if (!authState.isAuthenticated || !authState.user) {
119
+ if (!authState.isAuthenticated || !authState.user?.accessToken) {
120
+ console.warn('[PresenceProvider] Cannot connect - no access token in auth state');
102
121
  return;
103
122
  }
123
+ // Prevent multiple simultaneous connection attempts
124
+ if (isConnectingRef.current) {
125
+ console.log('[PresenceProvider] Connection already in progress, skipping...');
126
+ return;
127
+ }
128
+ // If already connected, skip
129
+ if (presenceClientRef.current && state.isConnected) {
130
+ console.log('[PresenceProvider] Already connected, skipping...');
131
+ return;
132
+ }
133
+ isConnectingRef.current = true;
104
134
  try {
135
+ // Token is already stored in ref by the subscription
136
+ // This allows the token to be updated on refresh without recreating the client
137
+ console.log('[PresenceProvider] Connecting with stored token', {
138
+ hasToken: !!tokenRef.current,
139
+ tokenLength: tokenRef.current?.length,
140
+ });
105
141
  // Create PresenceClient if needed
106
142
  if (!presenceClientRef.current) {
107
143
  const hubUrl = `${baseUrl}/presencehub`;
108
- // Capture the user from authState to avoid timing issues with React state updates
109
- const capturedUser = authState.user;
110
144
  presenceClientRef.current = new PresenceClient(hubUrl, async () => {
111
- // First try authManager.getUser(), fall back to captured user from authState
112
- const user = authManager.getUser() || capturedUser;
113
- return user?.accessToken || null;
145
+ // Return the latest token from ref (updated on token refresh)
146
+ // This avoids React state timing issues and supports token refresh
147
+ console.log('[PresenceProvider] accessTokenFactory called', {
148
+ hasToken: !!tokenRef.current,
149
+ tokenLength: tokenRef.current?.length,
150
+ timestamp: new Date().toISOString(),
151
+ });
152
+ return tokenRef.current;
114
153
  }, options);
115
154
  // Subscribe to presence client events
116
155
  presenceClientRef.current.onStateChange((connectionState, error) => {
@@ -122,30 +161,43 @@ export function PresenceProvider({ children, authManager, baseUrl, options = {},
122
161
  }
123
162
  onConnectionChange?.(connected);
124
163
  });
125
- presenceClientRef.current.on('userOnline', ({ presence }) => {
164
+ // Backend sends PresenceUpdate objects directly, not wrapped in { userId, presence }
165
+ presenceClientRef.current.on('userOnline', (presence) => {
126
166
  dispatch({ type: 'USER_ONLINE', payload: presence });
127
167
  });
128
- presenceClientRef.current.on('userOffline', ({ userId }) => {
129
- dispatch({ type: 'USER_OFFLINE', payload: userId });
168
+ presenceClientRef.current.on('userOffline', (presence) => {
169
+ dispatch({ type: 'USER_OFFLINE', payload: presence.userId });
130
170
  });
131
- presenceClientRef.current.on('statusChanged', ({ presence }) => {
171
+ presenceClientRef.current.on('statusChanged', (presence) => {
132
172
  dispatch({ type: 'USER_STATUS_CHANGED', payload: presence });
133
173
  });
174
+ // Listen for current user's own presence changes
175
+ presenceClientRef.current.on('currentUserPresenceChanged', (presence) => {
176
+ dispatch({ type: 'SET_CURRENT_USER_PRESENCE', payload: presence });
177
+ });
134
178
  }
135
- // Wait a small delay for auth state to propagate through React context
136
- await new Promise(resolve => setTimeout(resolve, 100));
137
- // Connect to hub
179
+ // Connect to hub (token is already captured, no delay needed)
138
180
  await presenceClientRef.current.connect();
181
+ // Start heartbeat interval (send heartbeat every 30 seconds)
182
+ const heartbeatInterval = setInterval(() => {
183
+ if (presenceClientRef.current) {
184
+ presenceClientRef.current.heartbeat().catch((error) => {
185
+ console.error('[PresenceProvider] Heartbeat failed:', error);
186
+ });
187
+ }
188
+ }, 30000); // 30 seconds
189
+ // Store interval ID for cleanup
190
+ presenceClientRef.current._heartbeatInterval = heartbeatInterval;
139
191
  // Start activity detection if enabled
140
192
  if (options.enableActivityDetection !== false) {
141
193
  activityDetectorRef.current = new ActivityDetector(
142
- // On active
194
+ // On active - call recordActivity which automatically updates status if needed
143
195
  () => {
144
- presenceClientRef.current?.updateStatus(PresenceStatus.Online).catch((error) => {
145
- console.error('[PresenceProvider] Failed to update status to Online:', error);
196
+ presenceClientRef.current?.recordActivity().catch((error) => {
197
+ console.error('[PresenceProvider] Failed to record activity:', error);
146
198
  });
147
199
  },
148
- // On inactive
200
+ // On inactive - manually update to Away
149
201
  () => {
150
202
  presenceClientRef.current?.updateStatus(PresenceStatus.Away).catch((error) => {
151
203
  console.error('[PresenceProvider] Failed to update status to Away:', error);
@@ -161,7 +213,10 @@ export function PresenceProvider({ children, authManager, baseUrl, options = {},
161
213
  dispatch({ type: 'SET_ERROR', payload: err });
162
214
  onConnectionError?.(err);
163
215
  }
164
- }, [authManager, baseUrl, options, platform, onConnectionChange, onConnectionError]);
216
+ finally {
217
+ isConnectingRef.current = false;
218
+ }
219
+ }, [authManager, baseUrl, options, platform, onConnectionChange, onConnectionError, state.isConnected]);
165
220
  /**
166
221
  * Handle logout - disconnect and cleanup
167
222
  */
@@ -169,8 +224,14 @@ export function PresenceProvider({ children, authManager, baseUrl, options = {},
169
224
  // Stop activity detection
170
225
  activityDetectorRef.current?.stop();
171
226
  activityDetectorRef.current = null;
172
- // Disconnect from hub
227
+ // Clear heartbeat interval
173
228
  if (presenceClientRef.current) {
229
+ const heartbeatInterval = presenceClientRef.current._heartbeatInterval;
230
+ if (heartbeatInterval) {
231
+ clearInterval(heartbeatInterval);
232
+ presenceClientRef.current._heartbeatInterval = null;
233
+ }
234
+ // Disconnect from hub
174
235
  await presenceClientRef.current.disconnect();
175
236
  }
176
237
  // Reset state
@@ -178,12 +239,23 @@ export function PresenceProvider({ children, authManager, baseUrl, options = {},
178
239
  }, []);
179
240
  /**
180
241
  * Subscribe to auth state changes
242
+ * NOTE: In production, PresenceProvider should only be mounted AFTER user is authenticated
243
+ * This prevents WebSocket connection from blocking the login flow
181
244
  */
182
245
  useEffect(() => {
183
246
  const unsubscribe = authManager.subscribe((authState) => {
184
247
  const state = authState;
185
248
  if (state.isAuthenticated && state.user) {
186
- handleLogin(state);
249
+ // Verify token is actually available before connecting
250
+ if (state.user.accessToken) {
251
+ console.log('[PresenceProvider] Auth state updated with token, connecting...');
252
+ // Store token immediately
253
+ tokenRef.current = state.user.accessToken;
254
+ handleLogin(state);
255
+ }
256
+ else {
257
+ console.warn('[PresenceProvider] Auth state updated but token not yet available');
258
+ }
187
259
  }
188
260
  else {
189
261
  handleLogout();
@@ -1 +1 @@
1
- {"version":3,"file":"PresenceProvider.js","sourceRoot":"","sources":["../../../src/realtime/presence/PresenceProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresenceProvider.js","sourceRoot":"","sources":["../../../src/realtime/presence/PresenceProvider.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,11 @@
4
4
  */
5
5
  export * from './types';
6
6
  export * from './PresenceClient';
7
+ export * from './utils';
8
+ export * from './AutoHeartbeatManager';
9
+ export * from './ActivityTracker';
10
+ export * from './IdleDetector';
11
+ export * from './PresenceManager';
7
12
  export * from './ActivityDetector';
8
13
  export * from './PresenceContext';
9
14
  export * from './PresenceProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,SAAS,CAAC;AAGxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -2,8 +2,18 @@
2
2
  * Presence Module
3
3
  * Real-time user presence tracking with automatic status management
4
4
  */
5
+ // Core types and client
5
6
  export * from './types';
6
7
  export * from './PresenceClient';
8
+ // Utility helpers
9
+ export * from './utils';
10
+ // Automatic feature managers
11
+ export * from './AutoHeartbeatManager';
12
+ export * from './ActivityTracker';
13
+ export * from './IdleDetector';
14
+ // High-level manager (recommended)
15
+ export * from './PresenceManager';
16
+ // Legacy components (still available for backward compatibility)
7
17
  export * from './ActivityDetector';
8
18
  export * from './PresenceContext';
9
19
  export * from './PresenceProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/realtime/presence/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,mEAAmE;AACnE,qEAAqE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/realtime/presence/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,6BAA6B;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAE/B,mCAAmC;AACnC,cAAc,mBAAmB,CAAC;AAElC,iEAAiE;AACjE,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,mEAAmE;AACnE,qEAAqE"}
@@ -5,13 +5,14 @@
5
5
  import { SignalRClientOptions } from '../shared/types';
6
6
  /**
7
7
  * Presence status enum
8
- * Matches backend PresenceStatus enum
8
+ * Matches backend PresenceStatus enum (numeric values)
9
+ * IMPORTANT: Backend expects numeric values (0, 1, 2, 3)
9
10
  */
10
11
  export declare enum PresenceStatus {
11
- Offline = "Offline",
12
- Online = "Online",
13
- Away = "Away",
14
- Busy = "Busy"
12
+ Offline = 0,
13
+ Online = 1,
14
+ Away = 2,
15
+ Busy = 3
15
16
  }
16
17
  /**
17
18
  * User presence update
@@ -24,16 +25,34 @@ export interface UserPresenceUpdate {
24
25
  userName?: string;
25
26
  /** Current presence status */
26
27
  status: PresenceStatus;
27
- /** Last activity timestamp (ISO-8601) */
28
- lastActivity: string;
29
- /** Optional status message (e.g., "In a meeting") */
30
- statusMessage?: string | null;
31
- /** Current working location */
32
- workingAt?: string | null;
28
+ /** Last seen/activity timestamp (ISO-8601) */
29
+ lastSeen: string;
30
+ /** Optional activity/status message (e.g., "In a meeting", "🏖️ On vacation") */
31
+ activityMessage?: string | null;
33
32
  /** Whether user is online */
34
33
  isOnline: boolean;
35
- /** SignalR connection ID */
36
- connectionId: string;
34
+ /** SignalR connection ID (optional) */
35
+ connectionId?: string;
36
+ /** Platform (web, ios, android, desktop) */
37
+ platform?: string;
38
+ }
39
+ /**
40
+ * Presence statistics (Admin only)
41
+ * Matches backend PresenceStatistics DTO
42
+ */
43
+ export interface PresenceStats {
44
+ /** Total number of users in the system */
45
+ totalUsers: number;
46
+ /** Number of users with Online status */
47
+ onlineUsers: number;
48
+ /** Number of users with Away status */
49
+ awayUsers: number;
50
+ /** Number of users with Busy status */
51
+ busyUsers: number;
52
+ /** Number of users with Offline status */
53
+ offlineUsers: number;
54
+ /** Timestamp when statistics were generated */
55
+ timestamp: string;
37
56
  }
38
57
  /**
39
58
  * Presence client options
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/types.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,15 @@
4
4
  */
5
5
  /**
6
6
  * Presence status enum
7
- * Matches backend PresenceStatus enum
7
+ * Matches backend PresenceStatus enum (numeric values)
8
+ * IMPORTANT: Backend expects numeric values (0, 1, 2, 3)
8
9
  */
9
10
  export var PresenceStatus;
10
11
  (function (PresenceStatus) {
11
- PresenceStatus["Offline"] = "Offline";
12
- PresenceStatus["Online"] = "Online";
13
- PresenceStatus["Away"] = "Away";
14
- PresenceStatus["Busy"] = "Busy";
12
+ PresenceStatus[PresenceStatus["Offline"] = 0] = "Offline";
13
+ PresenceStatus[PresenceStatus["Online"] = 1] = "Online";
14
+ PresenceStatus[PresenceStatus["Away"] = 2] = "Away";
15
+ PresenceStatus[PresenceStatus["Busy"] = 3] = "Busy";
15
16
  })(PresenceStatus || (PresenceStatus = {}));
16
17
  /**
17
18
  * Default activity detector options
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/realtime/presence/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAgHD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAC/D,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;IAC9C,aAAa,EAAE,EAAE,GAAG,IAAI,EAAW,aAAa;IAChD,aAAa,EAAE,IAAI,EAAgB,WAAW;CAC/C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/realtime/presence/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,yDAAW,CAAA;IACX,uDAAU,CAAA;IACV,mDAAQ,CAAA;IACR,mDAAQ,CAAA;AACV,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAmID;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAC/D,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;IAC9C,aAAa,EAAE,EAAE,GAAG,IAAI,EAAW,aAAa;IAChD,aAAa,EAAE,IAAI,EAAgB,WAAW;CAC/C,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Platform Detector Utility
3
+ * Detects the platform from which the user is connecting
4
+ */
5
+ export type Platform = 'web' | 'ios' | 'android' | 'desktop';
6
+ /**
7
+ * Detect the current platform based on user agent and environment
8
+ */
9
+ export declare function detectPlatform(): Platform;
10
+ /**
11
+ * Get platform-specific activity timeout
12
+ * Mobile devices need longer timeouts due to different interaction patterns
13
+ */
14
+ export declare function getPlatformActivityTimeout(platform: Platform): number;
15
+ /**
16
+ * Get platform display name
17
+ */
18
+ export declare function getPlatformDisplayName(platform?: string): string;
19
+ /**
20
+ * Get platform icon name (for use with icon libraries)
21
+ */
22
+ export declare function getPlatformIcon(platform?: string): string;
23
+ //# sourceMappingURL=platformDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformDetector.d.ts","sourceRoot":"","sources":["../../../../src/realtime/presence/utils/platformDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAuCzC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAWrE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAYhE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAYzD"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Platform Detector Utility
3
+ * Detects the platform from which the user is connecting
4
+ */
5
+ /**
6
+ * Detect the current platform based on user agent and environment
7
+ */
8
+ export function detectPlatform() {
9
+ // Check if we're in a browser environment
10
+ if (typeof window === 'undefined' || typeof navigator === 'undefined') {
11
+ return 'web'; // Default for server-side rendering
12
+ }
13
+ const userAgent = navigator.userAgent.toLowerCase();
14
+ const platform = navigator.platform?.toLowerCase() || '';
15
+ // Check for mobile platforms
16
+ if (/iphone|ipad|ipod/.test(userAgent)) {
17
+ return 'ios';
18
+ }
19
+ if (/android/.test(userAgent)) {
20
+ return 'android';
21
+ }
22
+ // Check for desktop platforms
23
+ if (/electron/.test(userAgent)) {
24
+ return 'desktop';
25
+ }
26
+ // Check if running as PWA or native-like environment
27
+ if (window.matchMedia('(display-mode: standalone)').matches ||
28
+ window.navigator.standalone === true) {
29
+ // Could be iOS/Android PWA, check user agent again
30
+ if (/iphone|ipad|ipod/.test(userAgent)) {
31
+ return 'ios';
32
+ }
33
+ if (/android/.test(userAgent)) {
34
+ return 'android';
35
+ }
36
+ }
37
+ // Default to web for desktop browsers
38
+ return 'web';
39
+ }
40
+ /**
41
+ * Get platform-specific activity timeout
42
+ * Mobile devices need longer timeouts due to different interaction patterns
43
+ */
44
+ export function getPlatformActivityTimeout(platform) {
45
+ switch (platform) {
46
+ case 'ios':
47
+ case 'android':
48
+ return 10 * 60 * 1000; // 10 minutes for mobile
49
+ case 'desktop':
50
+ return 5 * 60 * 1000; // 5 minutes for desktop apps
51
+ case 'web':
52
+ default:
53
+ return 5 * 60 * 1000; // 5 minutes for web
54
+ }
55
+ }
56
+ /**
57
+ * Get platform display name
58
+ */
59
+ export function getPlatformDisplayName(platform) {
60
+ switch (platform?.toLowerCase()) {
61
+ case 'ios':
62
+ return 'iOS';
63
+ case 'android':
64
+ return 'Android';
65
+ case 'desktop':
66
+ return 'Desktop';
67
+ case 'web':
68
+ default:
69
+ return 'Web';
70
+ }
71
+ }
72
+ /**
73
+ * Get platform icon name (for use with icon libraries)
74
+ */
75
+ export function getPlatformIcon(platform) {
76
+ switch (platform?.toLowerCase()) {
77
+ case 'ios':
78
+ return 'apple';
79
+ case 'android':
80
+ return 'android';
81
+ case 'desktop':
82
+ return 'desktop';
83
+ case 'web':
84
+ default:
85
+ return 'browser';
86
+ }
87
+ }
88
+ //# sourceMappingURL=platformDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformDetector.js","sourceRoot":"","sources":["../../../../src/realtime/presence/utils/platformDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,0CAA0C;IAC1C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC,CAAC,oCAAoC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEzD,6BAA6B;IAC7B,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8BAA8B;IAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,IACE,MAAM,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO;QACtD,MAAM,CAAC,SAAiB,CAAC,UAAU,KAAK,IAAI,EAC7C,CAAC;QACD,mDAAmD;QACnD,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAkB;IAC3D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,wBAAwB;QACjD,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,6BAA6B;QACrD,KAAK,KAAK,CAAC;QACX;YACE,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,oBAAoB;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAiB;IACtD,QAAQ,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC;QAChC,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,KAAK,CAAC;QACX;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,QAAQ,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC;QAChC,KAAK,KAAK;YACR,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,KAAK,CAAC;QACX;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Presence Utility Functions
3
+ * Helper utilities extracted from the working test app for consistency
4
+ * These match the patterns used in frontend/web_sockets_test/PresenceHub/react-app
5
+ */
6
+ import { PresenceStatus } from './types';
7
+ /**
8
+ * Get human-readable status name from enum
9
+ * @param status - Presence status enum value
10
+ * @returns Status name string
11
+ */
12
+ export declare function getStatusName(status: PresenceStatus): string;
13
+ /**
14
+ * Get status color for UI (hex color)
15
+ * Matches the test app's color scheme
16
+ * @param status - Presence status enum value
17
+ * @returns Hex color string
18
+ */
19
+ export declare function getStatusColor(status: PresenceStatus): string;
20
+ /**
21
+ * Generate user initials from name
22
+ * Falls back to userId if name is not available
23
+ * @param userName - User's display name (can be null/undefined)
24
+ * @param userId - User's ID (fallback)
25
+ * @returns Two-letter initials in uppercase
26
+ */
27
+ export declare function getUserInitials(userName: string | null | undefined, userId: string): string;
28
+ /**
29
+ * Generate deterministic avatar color from userId
30
+ * Uses hash function to consistently assign one of 10 colors
31
+ * @param userId - User's ID
32
+ * @returns Hex color string
33
+ */
34
+ export declare function getAvatarColor(userId: string): string;
35
+ /**
36
+ * Get relative time string (e.g., "5 minutes ago")
37
+ * @param lastSeenDate - Last seen date (ISO-8601 string or Date object)
38
+ * @returns Human-readable relative time string
39
+ */
40
+ export declare function getRelativeTime(lastSeenDate: Date | string): string;
41
+ /**
42
+ * Extract userId from JWT token
43
+ * Supports multiple claim formats used by different auth systems
44
+ * @param token - JWT token string
45
+ * @returns User ID or null if extraction fails
46
+ */
47
+ export declare function extractUserIdFromToken(token: string): string | null;
48
+ /**
49
+ * Extract admin role from JWT token
50
+ * Checks if the token contains "Admin" role
51
+ * @param token - JWT token string
52
+ * @returns True if user has Admin role, false otherwise
53
+ */
54
+ export declare function extractAdminRoleFromToken(token: string): boolean;
55
+ /**
56
+ * Format timestamp to locale string
57
+ * @param timestamp - ISO-8601 timestamp string
58
+ * @returns Formatted date/time string
59
+ */
60
+ export declare function formatTimestamp(timestamp: string): string;
61
+ /**
62
+ * Status preset configurations
63
+ * Matches the test app's quick status buttons
64
+ */
65
+ export declare const STATUS_PRESETS: {
66
+ readonly available: {
67
+ readonly status: PresenceStatus.Online;
68
+ readonly message: "";
69
+ };
70
+ readonly onBreak: {
71
+ readonly status: PresenceStatus.Away;
72
+ readonly message: "On break";
73
+ };
74
+ readonly inMeeting: {
75
+ readonly status: PresenceStatus.Busy;
76
+ readonly message: "In a meeting";
77
+ };
78
+ readonly doNotDisturb: {
79
+ readonly status: PresenceStatus.Busy;
80
+ readonly message: "Do not disturb";
81
+ };
82
+ readonly appearOffline: {
83
+ readonly status: PresenceStatus.Offline;
84
+ readonly message: "Appear offline";
85
+ };
86
+ };
87
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAa7D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAY3F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAiBnE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBnE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAkBhE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CAqBjB,CAAC"}