@amityco/ts-sdk 0.0.1-beta.33 → 0.0.1-beta.37

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 (652) hide show
  1. package/dist/@types/core/errors.d.ts +1 -0
  2. package/dist/@types/core/errors.d.ts.map +1 -1
  3. package/dist/@types/core/events.d.ts +51 -22
  4. package/dist/@types/core/events.d.ts.map +1 -1
  5. package/dist/@types/core/model.d.ts +2 -0
  6. package/dist/@types/core/model.d.ts.map +1 -1
  7. package/dist/@types/core/payload.d.ts +15 -5
  8. package/dist/@types/core/payload.d.ts.map +1 -1
  9. package/dist/@types/domains/channel.d.ts +12 -7
  10. package/dist/@types/domains/channel.d.ts.map +1 -1
  11. package/dist/@types/domains/client.d.ts +40 -1
  12. package/dist/@types/domains/client.d.ts.map +1 -1
  13. package/dist/@types/domains/content.d.ts +2 -3
  14. package/dist/@types/domains/content.d.ts.map +1 -1
  15. package/dist/@types/domains/group.d.ts +6 -2
  16. package/dist/@types/domains/group.d.ts.map +1 -1
  17. package/dist/@types/domains/message.d.ts +37 -17
  18. package/dist/@types/domains/message.d.ts.map +1 -1
  19. package/dist/@types/domains/post.d.ts +2 -2
  20. package/dist/@types/domains/post.d.ts.map +1 -1
  21. package/dist/@types/domains/subChannel.d.ts +39 -0
  22. package/dist/@types/domains/subChannel.d.ts.map +1 -0
  23. package/dist/@types/global.d.ts +7 -0
  24. package/dist/@types/global.d.ts.map +1 -1
  25. package/dist/@types/index.d.ts +1 -0
  26. package/dist/@types/index.d.ts.map +1 -1
  27. package/dist/cache/api/tests/dropFromCache.test.d.ts +2 -0
  28. package/dist/cache/api/tests/dropFromCache.test.d.ts.map +1 -0
  29. package/dist/cache/api/tests/enableCache.test.d.ts +2 -0
  30. package/dist/cache/api/tests/enableCache.test.d.ts.map +1 -0
  31. package/dist/cache/api/tests/pullFromCache.test.d.ts +2 -0
  32. package/dist/cache/api/tests/pullFromCache.test.d.ts.map +1 -0
  33. package/dist/cache/api/tests/upsertInCache.test.d.ts +2 -0
  34. package/dist/cache/api/tests/upsertInCache.test.d.ts.map +1 -0
  35. package/dist/cache/utils/tests/encodeKey.test.d.ts +2 -0
  36. package/dist/cache/utils/tests/encodeKey.test.d.ts.map +1 -0
  37. package/dist/cache/utils/tests/partialMatch.test.d.ts +2 -0
  38. package/dist/cache/utils/tests/partialMatch.test.d.ts.map +1 -0
  39. package/dist/channel/api/banChannelMembers.d.ts.map +1 -1
  40. package/dist/channel/api/createChannel.d.ts +1 -1
  41. package/dist/channel/api/index.d.ts +2 -0
  42. package/dist/channel/api/index.d.ts.map +1 -1
  43. package/dist/channel/api/queryChannelMembers.d.ts.map +1 -1
  44. package/dist/channel/api/removeChannelMembers.d.ts.map +1 -1
  45. package/dist/channel/api/startReading.d.ts +17 -0
  46. package/dist/channel/api/startReading.d.ts.map +1 -0
  47. package/dist/channel/api/stopReading.d.ts +16 -0
  48. package/dist/channel/api/stopReading.d.ts.map +1 -0
  49. package/dist/channel/api/tests/createChannel.test.d.ts +2 -0
  50. package/dist/channel/api/tests/createChannel.test.d.ts.map +1 -0
  51. package/dist/channel/api/tests/joinChannel.test.d.ts +2 -0
  52. package/dist/channel/api/tests/joinChannel.test.d.ts.map +1 -0
  53. package/dist/channel/api/tests/removeChannelMembers.test.d.ts +2 -0
  54. package/dist/channel/api/tests/removeChannelMembers.test.d.ts.map +1 -0
  55. package/dist/channel/api/tests/startReading.test.d.ts +2 -0
  56. package/dist/channel/api/tests/startReading.test.d.ts.map +1 -0
  57. package/dist/channel/api/tests/stopReading.test.d.ts +2 -0
  58. package/dist/channel/api/tests/stopReading.test.d.ts.map +1 -0
  59. package/dist/channel/api/unbanChannelMembers.d.ts.map +1 -1
  60. package/dist/channel/events/index.d.ts +1 -0
  61. package/dist/channel/events/index.d.ts.map +1 -1
  62. package/dist/channel/events/onChannelJoined.d.ts +2 -2
  63. package/dist/channel/events/onChannelJoined.d.ts.map +1 -1
  64. package/dist/channel/events/onChannelLeft.d.ts +2 -2
  65. package/dist/channel/events/onChannelLeft.d.ts.map +1 -1
  66. package/dist/channel/events/onChannelMemberAdded.d.ts.map +1 -1
  67. package/dist/channel/events/onChannelMemberBanned.d.ts.map +1 -1
  68. package/dist/channel/events/onChannelMemberRemoved.d.ts.map +1 -1
  69. package/dist/channel/events/onChannelMemberUnbanned.d.ts.map +1 -1
  70. package/dist/channel/events/onChannelMuted.d.ts +17 -0
  71. package/dist/channel/events/onChannelMuted.d.ts.map +1 -0
  72. package/dist/channel/events/onChannelUpdated.d.ts +1 -1
  73. package/dist/channel/events/onChannelUpdated.d.ts.map +1 -1
  74. package/dist/channel/events/tests/onChannelCreated.test.d.ts +2 -0
  75. package/dist/channel/events/tests/onChannelCreated.test.d.ts.map +1 -0
  76. package/dist/channel/events/tests/onChannelJoined.test.d.ts +2 -0
  77. package/dist/channel/events/tests/onChannelJoined.test.d.ts.map +1 -0
  78. package/dist/channel/events/tests/onChannelMemberAdded.test.d.ts +2 -0
  79. package/dist/channel/events/tests/onChannelMemberAdded.test.d.ts.map +1 -0
  80. package/dist/channel/events/tests/onChannelMemberRemoved.test.d.ts +2 -0
  81. package/dist/channel/events/tests/onChannelMemberRemoved.test.d.ts.map +1 -0
  82. package/dist/channel/events/tests/onChannelUpdated.test.d.ts +2 -0
  83. package/dist/channel/events/tests/onChannelUpdated.test.d.ts.map +1 -0
  84. package/dist/channel/observers/index.d.ts +1 -0
  85. package/dist/channel/observers/index.d.ts.map +1 -1
  86. package/dist/channel/observers/liveChannel.d.ts +21 -0
  87. package/dist/channel/observers/liveChannel.d.ts.map +1 -0
  88. package/dist/channel/observers/liveChannelMembers.d.ts.map +1 -1
  89. package/dist/channel/observers/liveChannels.d.ts.map +1 -1
  90. package/dist/channel/observers/observeChannel.d.ts +1 -1
  91. package/dist/channel/observers/observeChannel.d.ts.map +1 -1
  92. package/dist/channel/observers/observeChannels.d.ts.map +1 -1
  93. package/dist/channel/utils/index.d.ts +2 -1
  94. package/dist/channel/utils/index.d.ts.map +1 -1
  95. package/dist/client/api/accessTokenExpiryWatcher.d.ts +4 -0
  96. package/dist/client/api/accessTokenExpiryWatcher.d.ts.map +1 -0
  97. package/dist/client/api/activeUser.d.ts +1 -1
  98. package/dist/client/api/activeUser.d.ts.map +1 -1
  99. package/dist/client/api/connectClient.d.ts +1 -1
  100. package/dist/client/api/connectClient.d.ts.map +1 -1
  101. package/dist/client/api/createClient.d.ts +1 -1
  102. package/dist/client/api/createClient.d.ts.map +1 -1
  103. package/dist/client/api/disconnectClient.d.ts +0 -1
  104. package/dist/client/api/disconnectClient.d.ts.map +1 -1
  105. package/dist/client/api/getChatSettings.d.ts +15 -0
  106. package/dist/client/api/getChatSettings.d.ts.map +1 -0
  107. package/dist/client/api/getSocialSettings.d.ts +15 -0
  108. package/dist/client/api/getSocialSettings.d.ts.map +1 -0
  109. package/dist/client/api/getToken.d.ts +4 -4
  110. package/dist/client/api/index.d.ts +1 -0
  111. package/dist/client/api/index.d.ts.map +1 -1
  112. package/dist/client/api/renewal.d.ts +2 -0
  113. package/dist/client/api/renewal.d.ts.map +1 -0
  114. package/dist/client/api/setSessionState.d.ts +12 -0
  115. package/dist/client/api/setSessionState.d.ts.map +1 -0
  116. package/dist/client/api/terminateClient.d.ts +9 -0
  117. package/dist/client/api/terminateClient.d.ts.map +1 -0
  118. package/dist/client/api/tests/accessTokenExpiryWatcher.test.d.ts +2 -0
  119. package/dist/client/api/tests/accessTokenExpiryWatcher.test.d.ts.map +1 -0
  120. package/dist/client/api/tests/activeClient.test.d.ts +2 -0
  121. package/dist/client/api/tests/activeClient.test.d.ts.map +1 -0
  122. package/dist/client/api/tests/activeUser.test.d.ts +2 -0
  123. package/dist/client/api/tests/activeUser.test.d.ts.map +1 -0
  124. package/dist/client/api/tests/connectClient.test.d.ts +2 -0
  125. package/dist/client/api/tests/connectClient.test.d.ts.map +1 -0
  126. package/dist/client/api/tests/createClient.test.d.ts +2 -0
  127. package/dist/client/api/tests/createClient.test.d.ts.map +1 -0
  128. package/dist/client/api/tests/disconnectClient.test.d.ts +2 -0
  129. package/dist/client/api/tests/disconnectClient.test.d.ts.map +1 -0
  130. package/dist/client/api/tests/getToken.test.d.ts +2 -0
  131. package/dist/client/api/tests/getToken.test.d.ts.map +1 -0
  132. package/dist/client/api/tests/renewal.test.d.ts +2 -0
  133. package/dist/client/api/tests/renewal.test.d.ts.map +1 -0
  134. package/dist/client/api/tests/setSessionState.test.d.ts +2 -0
  135. package/dist/client/api/tests/setSessionState.test.d.ts.map +1 -0
  136. package/dist/client/api/tests/terminateClient.test.d.ts +2 -0
  137. package/dist/client/api/tests/terminateClient.test.d.ts.map +1 -0
  138. package/dist/client/events/index.d.ts +1 -0
  139. package/dist/client/events/index.d.ts.map +1 -1
  140. package/dist/client/events/onClientBanned.d.ts +1 -1
  141. package/dist/client/events/onClientBanned.d.ts.map +1 -1
  142. package/dist/client/events/onSessionStateChange.d.ts +17 -0
  143. package/dist/client/events/onSessionStateChange.d.ts.map +1 -0
  144. package/dist/client/events/onTokenExpired.d.ts +17 -0
  145. package/dist/client/events/onTokenExpired.d.ts.map +1 -0
  146. package/dist/client/events/onTokenTerminated.d.ts +11 -0
  147. package/dist/client/events/onTokenTerminated.d.ts.map +1 -0
  148. package/dist/client/events/tests/onSessionStateChange.test.d.ts +2 -0
  149. package/dist/client/events/tests/onSessionStateChange.test.d.ts.map +1 -0
  150. package/dist/client/events/tests/onTokenTerminated.test.d.ts +2 -0
  151. package/dist/client/events/tests/onTokenTerminated.test.d.ts.map +1 -0
  152. package/dist/client/tests/connectClient.test.d.ts +2 -0
  153. package/dist/client/tests/connectClient.test.d.ts.map +1 -0
  154. package/dist/client/utils/setClientToken.d.ts +19 -0
  155. package/dist/client/utils/setClientToken.d.ts.map +1 -0
  156. package/dist/comment/api/createComment.d.ts +1 -1
  157. package/dist/comment/api/createComment.d.ts.map +1 -1
  158. package/dist/comment/api/tests/createComment.test.d.ts +2 -0
  159. package/dist/comment/api/tests/createComment.test.d.ts.map +1 -0
  160. package/dist/comment/api/tests/getComments.test.d.ts +2 -0
  161. package/dist/comment/api/tests/getComments.test.d.ts.map +1 -0
  162. package/dist/comment/events/tests/onCommentCreated.test.d.ts +2 -0
  163. package/dist/comment/events/tests/onCommentCreated.test.d.ts.map +1 -0
  164. package/dist/comment/events/tests/onCommentDeleted.test.d.ts +2 -0
  165. package/dist/comment/events/tests/onCommentDeleted.test.d.ts.map +1 -0
  166. package/dist/comment/events/utils.d.ts +1 -1
  167. package/dist/comment/events/utils.d.ts.map +1 -1
  168. package/dist/community/api/queryCommunities.d.ts.map +1 -1
  169. package/dist/community/api/queryCommunityMembers.d.ts +6 -1
  170. package/dist/community/api/queryCommunityMembers.d.ts.map +1 -1
  171. package/dist/community/api/test/addCommunityMember.test.d.ts +2 -0
  172. package/dist/community/api/test/addCommunityMember.test.d.ts.map +1 -0
  173. package/dist/community/api/test/addCommunityMemberRole.test.d.ts +2 -0
  174. package/dist/community/api/test/addCommunityMemberRole.test.d.ts.map +1 -0
  175. package/dist/community/api/test/createCommunity.test.d.ts +2 -0
  176. package/dist/community/api/test/createCommunity.test.d.ts.map +1 -0
  177. package/dist/community/api/test/deleteCommunity.test.d.ts +2 -0
  178. package/dist/community/api/test/deleteCommunity.test.d.ts.map +1 -0
  179. package/dist/community/api/test/getCommunities.test.d.ts +2 -0
  180. package/dist/community/api/test/getCommunities.test.d.ts.map +1 -0
  181. package/dist/community/api/test/getCommunity.test.d.ts +2 -0
  182. package/dist/community/api/test/getCommunity.test.d.ts.map +1 -0
  183. package/dist/community/api/test/getRecommendedCommunities.test.d.ts +2 -0
  184. package/dist/community/api/test/getRecommendedCommunities.test.d.ts.map +1 -0
  185. package/dist/community/api/test/getTopTrendingCommunities.test.d.ts +2 -0
  186. package/dist/community/api/test/getTopTrendingCommunities.test.d.ts.map +1 -0
  187. package/dist/community/api/test/joinCommunity.test.d.ts +2 -0
  188. package/dist/community/api/test/joinCommunity.test.d.ts.map +1 -0
  189. package/dist/community/api/test/leaveCommunity.test.d.ts +2 -0
  190. package/dist/community/api/test/leaveCommunity.test.d.ts.map +1 -0
  191. package/dist/community/api/test/queryCommunity.test.d.ts +2 -0
  192. package/dist/community/api/test/queryCommunity.test.d.ts.map +1 -0
  193. package/dist/community/api/test/queryCommunityMembers.test.d.ts +2 -0
  194. package/dist/community/api/test/queryCommunityMembers.test.d.ts.map +1 -0
  195. package/dist/community/api/test/removeCommunityMemberRole.test.d.ts +2 -0
  196. package/dist/community/api/test/removeCommunityMemberRole.test.d.ts.map +1 -0
  197. package/dist/community/api/test/removeCommunityMembers.test.d.ts +2 -0
  198. package/dist/community/api/test/removeCommunityMembers.test.d.ts.map +1 -0
  199. package/dist/community/api/test/updateCommunity.test.d.ts +2 -0
  200. package/dist/community/api/test/updateCommunity.test.d.ts.map +1 -0
  201. package/dist/community/events/test/onCommunityCreated.test.d.ts +2 -0
  202. package/dist/community/events/test/onCommunityCreated.test.d.ts.map +1 -0
  203. package/dist/community/events/test/onCommunityDeleted.test.d.ts +2 -0
  204. package/dist/community/events/test/onCommunityDeleted.test.d.ts.map +1 -0
  205. package/dist/community/events/test/onCommunityJoined.test.d.ts +2 -0
  206. package/dist/community/events/test/onCommunityJoined.test.d.ts.map +1 -0
  207. package/dist/community/events/test/onCommunityLeft.test.d.ts +2 -0
  208. package/dist/community/events/test/onCommunityLeft.test.d.ts.map +1 -0
  209. package/dist/community/events/test/onCommunityUpdated.test.d.ts +2 -0
  210. package/dist/community/events/test/onCommunityUpdated.test.d.ts.map +1 -0
  211. package/dist/community/events/test/onCommunityUserAdded.test.d.ts +2 -0
  212. package/dist/community/events/test/onCommunityUserAdded.test.d.ts.map +1 -0
  213. package/dist/community/events/test/onCommunityUserBanned.test.d.ts +2 -0
  214. package/dist/community/events/test/onCommunityUserBanned.test.d.ts.map +1 -0
  215. package/dist/community/events/test/onCommunityUserRemoved.test.d.ts +2 -0
  216. package/dist/community/events/test/onCommunityUserRemoved.test.d.ts.map +1 -0
  217. package/dist/community/events/test/onCommunityUserUnbaned.test.d.ts +2 -0
  218. package/dist/community/events/test/onCommunityUserUnbaned.test.d.ts.map +1 -0
  219. package/dist/community/events/test/utils.test.d.ts +2 -0
  220. package/dist/community/events/test/utils.test.d.ts.map +1 -0
  221. package/dist/community/events/utils.d.ts +2 -2
  222. package/dist/community/events/utils.d.ts.map +1 -1
  223. package/dist/core/events.d.ts +3 -3
  224. package/dist/core/events.d.ts.map +1 -1
  225. package/dist/core/model/idResolvers.d.ts.map +1 -1
  226. package/dist/core/model/identifyModel.d.ts.map +1 -1
  227. package/dist/core/model/index.d.ts +5 -0
  228. package/dist/core/model/index.d.ts.map +1 -1
  229. package/dist/core/query/filtering.d.ts.map +1 -1
  230. package/dist/core/query/query.d.ts.map +1 -1
  231. package/dist/core/subscription.d.ts +26 -1
  232. package/dist/core/subscription.d.ts.map +1 -1
  233. package/dist/core/tests/subscription.test.d.ts +2 -0
  234. package/dist/core/tests/subscription.test.d.ts.map +1 -0
  235. package/dist/core/transports/http.d.ts.map +1 -1
  236. package/dist/feed/api/queryGlobalFeed.d.ts +1 -1
  237. package/dist/feed/api/queryGlobalFeed.d.ts.map +1 -1
  238. package/dist/feed/api/test/queryGlobalFeed.test.d.ts +2 -0
  239. package/dist/feed/api/test/queryGlobalFeed.test.d.ts.map +1 -0
  240. package/dist/follow/events/utils.d.ts +1 -1
  241. package/dist/follow/events/utils.d.ts.map +1 -1
  242. package/dist/group/utils/index.d.ts +2 -0
  243. package/dist/group/utils/index.d.ts.map +1 -0
  244. package/dist/group/utils/test/withUsers.test.d.ts +2 -0
  245. package/dist/group/utils/test/withUsers.test.d.ts.map +1 -0
  246. package/dist/group/utils/withUser.d.ts +38 -0
  247. package/dist/group/utils/withUser.d.ts.map +1 -0
  248. package/dist/index.cjs.js +2451 -870
  249. package/dist/index.d.ts +3 -0
  250. package/dist/index.d.ts.map +1 -1
  251. package/dist/index.esm.js +2424 -869
  252. package/dist/index.umd.js +4 -4
  253. package/dist/message/api/createMessage.d.ts +15 -9
  254. package/dist/message/api/createMessage.d.ts.map +1 -1
  255. package/dist/message/api/deleteMessage.d.ts +2 -2
  256. package/dist/message/api/getMessage.d.ts.map +1 -1
  257. package/dist/message/api/getMessages.d.ts.map +1 -1
  258. package/dist/message/api/queryMessages.d.ts.map +1 -1
  259. package/dist/message/api/updateMessage.d.ts +1 -1
  260. package/dist/message/api/updateMessage.d.ts.map +1 -1
  261. package/dist/message/events/index.d.ts +5 -1
  262. package/dist/message/events/index.d.ts.map +1 -1
  263. package/dist/message/events/onMessageCreated.d.ts.map +1 -1
  264. package/dist/message/events/onMessageDeleted.d.ts.map +1 -1
  265. package/dist/message/events/onMessageFlagCleared.d.ts +17 -0
  266. package/dist/message/events/onMessageFlagCleared.d.ts.map +1 -0
  267. package/dist/message/events/onMessageFlagged.d.ts +17 -0
  268. package/dist/message/events/onMessageFlagged.d.ts.map +1 -0
  269. package/dist/message/events/onMessageReactionAdded.d.ts +18 -0
  270. package/dist/message/events/onMessageReactionAdded.d.ts.map +1 -0
  271. package/dist/message/events/onMessageReactionRemoved.d.ts +18 -0
  272. package/dist/message/events/onMessageReactionRemoved.d.ts.map +1 -0
  273. package/dist/message/events/onMessageUnflagged.d.ts +17 -0
  274. package/dist/message/events/onMessageUnflagged.d.ts.map +1 -0
  275. package/dist/message/events/onMessageUpdated.d.ts.map +1 -1
  276. package/dist/message/observers/liveMessage.d.ts +7 -4
  277. package/dist/message/observers/liveMessage.d.ts.map +1 -1
  278. package/dist/message/observers/liveMessages.d.ts +7 -6
  279. package/dist/message/observers/liveMessages.d.ts.map +1 -1
  280. package/dist/message/observers/observeMessage.d.ts +1 -0
  281. package/dist/message/observers/observeMessage.d.ts.map +1 -1
  282. package/dist/message/observers/observeMessages.d.ts +5 -4
  283. package/dist/message/observers/observeMessages.d.ts.map +1 -1
  284. package/dist/message/tests/events.test.d.ts +2 -0
  285. package/dist/message/tests/events.test.d.ts.map +1 -0
  286. package/dist/message/utils/index.d.ts +18 -0
  287. package/dist/message/utils/index.d.ts.map +1 -0
  288. package/dist/post/api/queryPosts.d.ts.map +1 -1
  289. package/dist/post/api/tests/queryPosts.test.d.ts +2 -0
  290. package/dist/post/api/tests/queryPosts.test.d.ts.map +1 -0
  291. package/dist/post/events/tests/onPostApproved.test.d.ts +2 -0
  292. package/dist/post/events/tests/onPostApproved.test.d.ts.map +1 -0
  293. package/dist/post/events/tests/onPostCreated.test.d.ts +2 -0
  294. package/dist/post/events/tests/onPostCreated.test.d.ts.map +1 -0
  295. package/dist/post/events/tests/onPostDeclined.test.d.ts +2 -0
  296. package/dist/post/events/tests/onPostDeclined.test.d.ts.map +1 -0
  297. package/dist/post/events/tests/onPostDeleted.test.d.ts +2 -0
  298. package/dist/post/events/tests/onPostDeleted.test.d.ts.map +1 -0
  299. package/dist/post/events/tests/onPostFlagged.test.d.ts +2 -0
  300. package/dist/post/events/tests/onPostFlagged.test.d.ts.map +1 -0
  301. package/dist/post/events/tests/onPostReactionAdded.test.d.ts +2 -0
  302. package/dist/post/events/tests/onPostReactionAdded.test.d.ts.map +1 -0
  303. package/dist/post/events/tests/onPostReactionRemoved.test.d.ts +2 -0
  304. package/dist/post/events/tests/onPostReactionRemoved.test.d.ts.map +1 -0
  305. package/dist/post/events/tests/onPostUnflagged.test.d.ts +2 -0
  306. package/dist/post/events/tests/onPostUnflagged.test.d.ts.map +1 -0
  307. package/dist/post/events/tests/onPostUpdated.test.d.ts +2 -0
  308. package/dist/post/events/tests/onPostUpdated.test.d.ts.map +1 -0
  309. package/dist/post/events/utils.d.ts +1 -1
  310. package/dist/post/events/utils.d.ts.map +1 -1
  311. package/dist/post/observers/livePosts.d.ts.map +1 -1
  312. package/dist/post/observers/tests/livePosts.test.d.ts +2 -0
  313. package/dist/post/observers/tests/livePosts.test.d.ts.map +1 -0
  314. package/dist/reaction/api/addReaction.d.ts.map +1 -1
  315. package/dist/reaction/api/removeReaction.d.ts.map +1 -1
  316. package/dist/reaction/events/onReactionAdded.d.ts.map +1 -1
  317. package/dist/reaction/events/onReactionRemoved.d.ts.map +1 -1
  318. package/dist/reaction/events/onReactorAdded.d.ts.map +1 -1
  319. package/dist/reaction/events/onReactorRemoved.d.ts.map +1 -1
  320. package/dist/report/api/createReport.d.ts.map +1 -1
  321. package/dist/report/api/deleteReport.d.ts.map +1 -1
  322. package/dist/report/api/isReportedByMe.d.ts.map +1 -1
  323. package/dist/stream/api/tests/createStream.test.d.ts +2 -0
  324. package/dist/stream/api/tests/createStream.test.d.ts.map +1 -0
  325. package/dist/stream/api/tests/deleteStream.test.d.ts +2 -0
  326. package/dist/stream/api/tests/deleteStream.test.d.ts.map +1 -0
  327. package/dist/stream/api/tests/getStream.test.d.ts +2 -0
  328. package/dist/stream/api/tests/getStream.test.d.ts.map +1 -0
  329. package/dist/subChannel/api/createSubChannel.d.ts +16 -0
  330. package/dist/subChannel/api/createSubChannel.d.ts.map +1 -0
  331. package/dist/subChannel/api/deleteSubChannel.d.ts +16 -0
  332. package/dist/subChannel/api/deleteSubChannel.d.ts.map +1 -0
  333. package/dist/subChannel/api/getSubChannel.d.ts +32 -0
  334. package/dist/subChannel/api/getSubChannel.d.ts.map +1 -0
  335. package/dist/subChannel/api/getSubChannels.d.ts +32 -0
  336. package/dist/subChannel/api/getSubChannels.d.ts.map +1 -0
  337. package/dist/subChannel/api/index.d.ts +7 -0
  338. package/dist/subChannel/api/index.d.ts.map +1 -0
  339. package/dist/subChannel/api/querySubChannels.d.ts +32 -0
  340. package/dist/subChannel/api/querySubChannels.d.ts.map +1 -0
  341. package/dist/subChannel/api/tests/createSubChannel.test.d.ts +2 -0
  342. package/dist/subChannel/api/tests/createSubChannel.test.d.ts.map +1 -0
  343. package/dist/subChannel/api/updateSubChannel.d.ts +17 -0
  344. package/dist/subChannel/api/updateSubChannel.d.ts.map +1 -0
  345. package/dist/subChannel/events/index.d.ts +4 -0
  346. package/dist/subChannel/events/index.d.ts.map +1 -0
  347. package/dist/subChannel/events/onSubChannelCreated.d.ts +17 -0
  348. package/dist/subChannel/events/onSubChannelCreated.d.ts.map +1 -0
  349. package/dist/subChannel/events/onSubChannelDeleted.d.ts +17 -0
  350. package/dist/subChannel/events/onSubChannelDeleted.d.ts.map +1 -0
  351. package/dist/subChannel/events/onSubChannelFetched.d.ts +3 -0
  352. package/dist/subChannel/events/onSubChannelFetched.d.ts.map +1 -0
  353. package/dist/subChannel/events/onSubChannelUpdated.d.ts +17 -0
  354. package/dist/subChannel/events/onSubChannelUpdated.d.ts.map +1 -0
  355. package/dist/subChannel/observers/index.d.ts +3 -0
  356. package/dist/subChannel/observers/index.d.ts.map +1 -0
  357. package/dist/subChannel/observers/liveSubChannel.d.ts +21 -0
  358. package/dist/subChannel/observers/liveSubChannel.d.ts.map +1 -0
  359. package/dist/subChannel/observers/liveSubChannels.d.ts +21 -0
  360. package/dist/subChannel/observers/liveSubChannels.d.ts.map +1 -0
  361. package/dist/subChannel/observers/tests/liveSubChannel.test.d.ts +2 -0
  362. package/dist/subChannel/observers/tests/liveSubChannel.test.d.ts.map +1 -0
  363. package/dist/subChannel/observers/tests/liveSubChannels.test.d.ts +2 -0
  364. package/dist/subChannel/observers/tests/liveSubChannels.test.d.ts.map +1 -0
  365. package/dist/subChannel/utils/index.d.ts +8 -0
  366. package/dist/subChannel/utils/index.d.ts.map +1 -0
  367. package/dist/user/events/index.d.ts +0 -1
  368. package/dist/user/events/index.d.ts.map +1 -1
  369. package/dist/user/events/utils.d.ts +1 -1
  370. package/dist/user/events/utils.d.ts.map +1 -1
  371. package/dist/user/observers/liveUser.d.ts +7 -4
  372. package/dist/user/observers/liveUser.d.ts.map +1 -1
  373. package/dist/utils/constants.d.ts +2 -0
  374. package/dist/utils/constants.d.ts.map +1 -1
  375. package/dist/utils/index.d.ts +4 -0
  376. package/dist/utils/index.d.ts.map +1 -0
  377. package/dist/utils/tests/client.d.ts.map +1 -1
  378. package/dist/utils/tests/dummy/channel.d.ts +47 -22
  379. package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
  380. package/dist/utils/tests/dummy/community.d.ts +33 -1
  381. package/dist/utils/tests/dummy/community.d.ts.map +1 -1
  382. package/dist/utils/tests/dummy/index.d.ts +5 -1
  383. package/dist/utils/tests/dummy/index.d.ts.map +1 -1
  384. package/dist/utils/tests/dummy/member.d.ts +2 -0
  385. package/dist/utils/tests/dummy/member.d.ts.map +1 -0
  386. package/dist/utils/tests/dummy/message.d.ts +2 -1
  387. package/dist/utils/tests/dummy/message.d.ts.map +1 -1
  388. package/dist/utils/tests/dummy/post.d.ts +15 -0
  389. package/dist/utils/tests/dummy/post.d.ts.map +1 -1
  390. package/dist/utils/tests/dummy/stream.d.ts +83 -0
  391. package/dist/utils/tests/dummy/stream.d.ts.map +1 -0
  392. package/dist/utils/tests/dummy/subChannel.d.ts +23 -0
  393. package/dist/utils/tests/dummy/subChannel.d.ts.map +1 -0
  394. package/dist/utils/tests/dummy/token.d.ts +11 -0
  395. package/dist/utils/tests/dummy/token.d.ts.map +1 -0
  396. package/dist/utils/tests/dummy/user.d.ts +1 -0
  397. package/dist/utils/tests/dummy/user.d.ts.map +1 -1
  398. package/dist/utils/tests/utils.d.ts +1 -0
  399. package/dist/utils/tests/utils.d.ts.map +1 -1
  400. package/package.json +1 -1
  401. package/src/@types/core/errors.ts +1 -0
  402. package/src/@types/core/events.ts +62 -28
  403. package/src/@types/core/model.ts +2 -0
  404. package/src/@types/core/payload.ts +21 -5
  405. package/src/@types/domains/channel.ts +23 -6
  406. package/src/@types/domains/client.ts +66 -1
  407. package/src/@types/domains/content.ts +4 -3
  408. package/src/@types/domains/group.ts +6 -2
  409. package/src/@types/domains/message.ts +59 -26
  410. package/src/@types/domains/post.ts +2 -2
  411. package/src/@types/domains/subChannel.ts +48 -0
  412. package/src/@types/global.ts +14 -0
  413. package/src/@types/index.ts +1 -0
  414. package/src/cache/api/tests/dropFromCache.test.ts +59 -0
  415. package/src/cache/api/tests/enableCache.test.ts +15 -0
  416. package/src/cache/api/tests/pullFromCache.test.ts +42 -0
  417. package/src/cache/api/tests/upsertInCache.test.ts +60 -0
  418. package/src/cache/utils/tests/encodeKey.test.ts +19 -0
  419. package/src/cache/utils/tests/partialMatch.test.ts +13 -0
  420. package/src/channel/api/addChannelMembers.ts +2 -2
  421. package/src/channel/api/banChannelMembers.ts +5 -3
  422. package/src/channel/api/createChannel.ts +1 -1
  423. package/src/channel/api/getChannels.ts +2 -2
  424. package/src/channel/api/index.ts +3 -0
  425. package/src/channel/api/queryChannelMembers.ts +15 -10
  426. package/src/channel/api/queryChannels.ts +1 -1
  427. package/src/channel/api/removeChannelMembers.ts +9 -1
  428. package/src/channel/api/startReading.ts +53 -0
  429. package/src/channel/api/stopReading.ts +49 -0
  430. package/src/channel/api/tests/addChannelMembers.test.ts +36 -8
  431. package/src/channel/api/tests/createChannel.test.ts +53 -0
  432. package/src/channel/api/tests/getChannel.test.ts +3 -2
  433. package/src/channel/api/tests/joinChannel.test.ts +52 -0
  434. package/src/channel/api/tests/queryChannelMembers.test.ts +27 -11
  435. package/src/channel/api/tests/queryChannels.test.ts +2 -2
  436. package/src/channel/api/tests/removeChannelMembers.test.ts +95 -0
  437. package/src/channel/api/tests/startReading.test.ts +25 -0
  438. package/src/channel/api/tests/stopReading.test.ts +25 -0
  439. package/src/channel/api/unbanChannelMembers.ts +6 -3
  440. package/src/channel/events/index.ts +1 -0
  441. package/src/channel/events/onChannelCreated.ts +1 -1
  442. package/src/channel/events/onChannelDeleted.ts +1 -1
  443. package/src/channel/events/onChannelJoined.ts +12 -7
  444. package/src/channel/events/onChannelLeft.ts +12 -7
  445. package/src/channel/events/onChannelMemberAdded.ts +8 -6
  446. package/src/channel/events/onChannelMemberBanned.ts +7 -4
  447. package/src/channel/events/onChannelMemberRemoved.ts +7 -9
  448. package/src/channel/events/onChannelMemberUnbanned.ts +7 -4
  449. package/src/channel/events/onChannelMuted.ts +34 -0
  450. package/src/channel/events/onChannelUpdated.ts +10 -1
  451. package/src/channel/events/tests/onChannelCreated.test.ts +55 -0
  452. package/src/channel/events/tests/onChannelJoined.test.ts +56 -0
  453. package/src/channel/events/tests/onChannelMemberAdded.test.ts +56 -0
  454. package/src/channel/events/tests/onChannelMemberBanned.test.ts +13 -12
  455. package/src/channel/events/tests/onChannelMemberRemoved.test.ts +56 -0
  456. package/src/channel/events/tests/onChannelMemberUnbanned.test.ts +13 -12
  457. package/src/channel/events/tests/onChannelUpdated.test.ts +55 -0
  458. package/src/channel/observers/index.ts +1 -0
  459. package/src/channel/observers/liveChannel.ts +108 -0
  460. package/src/channel/observers/liveChannelMembers.ts +40 -34
  461. package/src/channel/observers/liveChannels.ts +25 -14
  462. package/src/channel/observers/observeChannel.ts +2 -0
  463. package/src/channel/observers/observeChannels.ts +2 -0
  464. package/src/channel/observers/tests/liveChannelMembers.test.ts +107 -95
  465. package/src/channel/observers/tests/liveChannels.test.ts +385 -126
  466. package/src/channel/utils/index.ts +54 -1
  467. package/src/channel/utils/tests/prepareChannelPayload.test.ts +22 -22
  468. package/src/client/api/accessTokenExpiryWatcher.ts +83 -0
  469. package/src/client/api/activeUser.ts +1 -1
  470. package/src/client/api/connectClient.ts +114 -26
  471. package/src/client/api/createClient.ts +10 -2
  472. package/src/client/api/disconnectClient.ts +26 -2
  473. package/src/client/api/getChatSettings.ts +22 -0
  474. package/src/client/api/getSocialSettings.ts +24 -0
  475. package/src/client/api/getToken.ts +6 -6
  476. package/src/client/api/index.ts +2 -0
  477. package/src/client/api/renewal.ts +74 -0
  478. package/src/client/api/setSessionState.ts +75 -0
  479. package/src/client/api/terminateClient.ts +20 -0
  480. package/src/client/api/tests/accessTokenExpiryWatcher.test.ts +129 -0
  481. package/src/client/api/tests/activeClient.test.ts +20 -0
  482. package/src/client/api/tests/activeUser.test.ts +20 -0
  483. package/src/client/api/tests/connectClient.test.ts +84 -0
  484. package/src/client/api/tests/createClient.test.ts +48 -0
  485. package/src/client/api/tests/disconnectClient.test.ts +78 -0
  486. package/src/client/api/tests/getToken.test.ts +36 -0
  487. package/src/client/api/tests/renewal.test.ts +67 -0
  488. package/src/client/api/tests/setSessionState.test.ts +62 -0
  489. package/src/client/api/tests/terminateClient.test.ts +29 -0
  490. package/src/client/events/index.ts +2 -0
  491. package/src/client/events/onClientBanned.ts +12 -5
  492. package/src/client/events/onSessionStateChange.ts +31 -0
  493. package/src/client/events/onTokenExpired.ts +26 -0
  494. package/src/client/events/onTokenTerminated.ts +20 -0
  495. package/src/client/events/tests/onSessionStateChange.test.ts +37 -0
  496. package/src/client/events/tests/onTokenTerminated.test.ts +37 -0
  497. package/src/client/tests/connectClient.test.ts +40 -0
  498. package/src/client/utils/setClientToken.ts +39 -0
  499. package/src/comment/api/createComment.ts +3 -3
  500. package/src/comment/api/tests/createComment.test.ts +49 -0
  501. package/src/comment/api/tests/getComments.test.ts +36 -0
  502. package/src/comment/events/tests/onCommentCreated.test.ts +27 -0
  503. package/src/comment/events/tests/onCommentDeleted.test.ts +27 -0
  504. package/src/comment/events/utils.ts +1 -1
  505. package/src/comment/observers/liveComments.ts +8 -8
  506. package/src/community/api/queryCommunities.ts +3 -2
  507. package/src/community/api/queryCommunityMembers.ts +59 -14
  508. package/src/community/api/test/addCommunityMember.test.ts +71 -0
  509. package/src/community/api/test/addCommunityMemberRole.test.ts +67 -0
  510. package/src/community/api/test/createCommunity.test.ts +61 -0
  511. package/src/community/api/test/deleteCommunity.test.ts +74 -0
  512. package/src/community/api/test/getCommunities.test.ts +73 -0
  513. package/src/community/api/test/getCommunity.test.ts +69 -0
  514. package/src/community/api/test/getRecommendedCommunities.test.ts +102 -0
  515. package/src/community/api/test/getTopTrendingCommunities.test.ts +102 -0
  516. package/src/community/api/test/joinCommunity.test.ts +70 -0
  517. package/src/community/api/test/leaveCommunity.test.ts +78 -0
  518. package/src/community/api/test/queryCommunity.test.ts +108 -0
  519. package/src/community/api/test/queryCommunityMembers.test.ts +122 -0
  520. package/src/community/api/test/removeCommunityMemberRole.test.ts +67 -0
  521. package/src/community/api/test/removeCommunityMembers.test.ts +75 -0
  522. package/src/community/api/test/updateCommunity.test.ts +65 -0
  523. package/src/community/events/test/onCommunityCreated.test.ts +46 -0
  524. package/src/community/events/test/onCommunityDeleted.test.ts +35 -0
  525. package/src/community/events/test/onCommunityJoined.test.ts +50 -0
  526. package/src/community/events/test/onCommunityLeft.test.ts +50 -0
  527. package/src/community/events/test/onCommunityUpdated.test.ts +49 -0
  528. package/src/community/events/test/onCommunityUserAdded.test.ts +50 -0
  529. package/src/community/events/test/onCommunityUserBanned.test.ts +50 -0
  530. package/src/community/events/test/onCommunityUserRemoved.test.ts +50 -0
  531. package/src/community/events/test/onCommunityUserUnbaned.test.ts +50 -0
  532. package/src/community/events/test/utils.test.ts +158 -0
  533. package/src/community/events/utils.ts +18 -10
  534. package/src/core/events.ts +11 -20
  535. package/src/core/model/idResolvers.ts +1 -0
  536. package/src/core/model/identifyModel.ts +1 -0
  537. package/src/core/model/index.ts +15 -0
  538. package/src/core/query/filtering.ts +2 -9
  539. package/src/core/query/query.ts +2 -34
  540. package/src/core/subscription.ts +50 -10
  541. package/src/core/tests/query/query/runQuery.test.ts +15 -38
  542. package/src/core/tests/subscription.test.ts +15 -0
  543. package/src/core/transports/http.ts +36 -1
  544. package/src/core/transports/mqtt.ts +1 -1
  545. package/src/external/api/createUserToken.ts +2 -2
  546. package/src/feed/api/queryGlobalFeed.ts +1 -1
  547. package/src/feed/api/test/queryGlobalFeed.test.ts +138 -0
  548. package/src/follow/events/utils.ts +1 -1
  549. package/src/follow/observers/liveFollowers.ts +8 -8
  550. package/src/follow/observers/liveFollowings.ts +8 -8
  551. package/src/group/utils/index.ts +1 -0
  552. package/src/group/utils/test/withUsers.test.ts +103 -0
  553. package/src/group/utils/withUser.ts +92 -0
  554. package/src/index.ts +4 -0
  555. package/src/message/api/createMessage.ts +60 -29
  556. package/src/message/api/deleteMessage.ts +6 -6
  557. package/src/message/api/getMessage.ts +5 -4
  558. package/src/message/api/getMessages.ts +7 -5
  559. package/src/message/api/queryMessages.ts +13 -25
  560. package/src/message/api/tests/createMessage.test.ts +129 -37
  561. package/src/message/api/tests/deleteMessage.test.ts +18 -12
  562. package/src/message/api/tests/getMessage.test.ts +6 -4
  563. package/src/message/api/tests/getMessages.test.ts +7 -8
  564. package/src/message/api/tests/queryMessages.test.ts +20 -23
  565. package/src/message/api/tests/updateMessage.test.ts +13 -12
  566. package/src/message/api/updateMessage.ts +12 -9
  567. package/src/message/events/index.ts +7 -1
  568. package/src/message/events/onMessageCreated.ts +50 -3
  569. package/src/message/events/onMessageDeleted.ts +14 -2
  570. package/src/message/events/onMessageFetched.ts +1 -1
  571. package/src/message/events/onMessageFlagCleared.ts +34 -0
  572. package/src/message/events/onMessageFlagged.ts +33 -0
  573. package/src/message/events/onMessageReactionAdded.ts +35 -0
  574. package/src/message/events/onMessageReactionRemoved.ts +40 -0
  575. package/src/message/events/onMessageUnflagged.ts +32 -0
  576. package/src/message/events/onMessageUpdated.ts +14 -10
  577. package/src/message/observers/liveMessage.ts +42 -23
  578. package/src/message/observers/liveMessages.ts +30 -16
  579. package/src/message/observers/observeMessage.ts +1 -0
  580. package/src/message/observers/observeMessages.ts +6 -5
  581. package/src/message/tests/events.test.ts +53 -0
  582. package/src/message/tests/observers/liveMessage.test.ts +46 -49
  583. package/src/message/tests/observers/liveMessages.test.ts +45 -37
  584. package/src/message/utils/index.ts +129 -0
  585. package/src/post/api/queryPosts.ts +9 -0
  586. package/src/post/api/tests/queryPosts.test.ts +149 -0
  587. package/src/post/events/tests/onPostApproved.test.ts +33 -0
  588. package/src/post/events/tests/onPostCreated.test.ts +33 -0
  589. package/src/post/events/tests/onPostDeclined.test.ts +33 -0
  590. package/src/post/events/tests/onPostDeleted.test.ts +33 -0
  591. package/src/post/events/tests/onPostFlagged.test.ts +33 -0
  592. package/src/post/events/tests/onPostReactionAdded.test.ts +40 -0
  593. package/src/post/events/tests/onPostReactionRemoved.test.ts +40 -0
  594. package/src/post/events/tests/onPostUnflagged.test.ts +33 -0
  595. package/src/post/events/tests/onPostUpdated.test.ts +33 -0
  596. package/src/post/events/utils.ts +1 -1
  597. package/src/post/observers/livePosts.ts +32 -12
  598. package/src/post/observers/tests/livePosts.test.ts +302 -0
  599. package/src/reaction/api/addReaction.ts +1 -0
  600. package/src/reaction/api/removeReaction.ts +6 -1
  601. package/src/reaction/events/onReactionAdded.ts +4 -7
  602. package/src/reaction/events/onReactionRemoved.ts +4 -7
  603. package/src/reaction/events/onReactorAdded.ts +4 -2
  604. package/src/reaction/events/onReactorRemoved.ts +4 -7
  605. package/src/reaction/observers/liveReactions.ts +6 -6
  606. package/src/reaction/utils/dispatchReactable.ts +1 -1
  607. package/src/report/api/createReport.ts +28 -18
  608. package/src/report/api/deleteReport.ts +28 -18
  609. package/src/report/api/isReportedByMe.ts +9 -2
  610. package/src/stream/api/tests/createStream.test.ts +30 -0
  611. package/src/stream/api/tests/deleteStream.test.ts +48 -0
  612. package/src/stream/api/tests/getStream.test.ts +23 -0
  613. package/src/subChannel/api/createSubChannel.ts +41 -0
  614. package/src/subChannel/api/deleteSubChannel.ts +53 -0
  615. package/src/subChannel/api/getSubChannel.ts +85 -0
  616. package/src/subChannel/api/getSubChannels.ts +77 -0
  617. package/src/subChannel/api/index.ts +8 -0
  618. package/src/subChannel/api/querySubChannels.ts +115 -0
  619. package/src/subChannel/api/tests/createSubChannel.test.ts +103 -0
  620. package/src/subChannel/api/updateSubChannel.ts +43 -0
  621. package/src/subChannel/events/index.ts +3 -0
  622. package/src/subChannel/events/onSubChannelCreated.ts +32 -0
  623. package/src/subChannel/events/onSubChannelDeleted.ts +44 -0
  624. package/src/subChannel/events/onSubChannelFetched.ts +12 -0
  625. package/src/subChannel/events/onSubChannelUpdated.ts +32 -0
  626. package/src/subChannel/observers/index.ts +2 -0
  627. package/src/subChannel/observers/liveSubChannel.ts +84 -0
  628. package/src/subChannel/observers/liveSubChannels.ts +137 -0
  629. package/src/subChannel/observers/tests/liveSubChannel.test.ts +212 -0
  630. package/src/subChannel/observers/tests/liveSubChannels.test.ts +206 -0
  631. package/src/subChannel/utils/index.ts +50 -0
  632. package/src/user/events/index.ts +0 -1
  633. package/src/user/events/utils.ts +1 -1
  634. package/src/user/observers/liveUser.ts +29 -23
  635. package/src/user/tests/observers/liveUser.test.ts +5 -9
  636. package/src/utils/constants.ts +2 -0
  637. package/src/utils/index.ts +52 -0
  638. package/src/utils/tests/client.ts +18 -2
  639. package/src/utils/tests/dummy/channel.ts +123 -117
  640. package/src/utils/tests/dummy/community.ts +67 -3
  641. package/src/utils/tests/dummy/index.ts +6 -1
  642. package/src/utils/tests/dummy/member.ts +18 -0
  643. package/src/utils/tests/dummy/message.ts +37 -16
  644. package/src/utils/tests/dummy/post.ts +34 -0
  645. package/src/utils/tests/dummy/stream.ts +86 -0
  646. package/src/utils/tests/dummy/subChannel.ts +51 -0
  647. package/src/utils/tests/dummy/token.ts +12 -0
  648. package/src/utils/tests/dummy/user.ts +2 -0
  649. package/src/utils/tests/utils.ts +2 -0
  650. package/dist/channel/utils/prepareChannelPayload.d.ts +0 -3
  651. package/dist/channel/utils/prepareChannelPayload.d.ts.map +0 -1
  652. package/src/channel/utils/prepareChannelPayload.ts +0 -31
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  connectClient,
3
3
  disconnectClient,
4
- channel11,
5
- channel12,
4
+ channel1,
5
+ channel2,
6
6
  channelRaw1,
7
7
  channelRaw2,
8
- channelUser1,
9
- channelUser2,
8
+ rawChannelUser,
9
+ rawChannelUser2,
10
10
  } from '~/utils/tests';
11
11
 
12
- import { prepareChannelPayload } from '../prepareChannelPayload';
12
+ import { prepareChannelPayload } from '..';
13
13
 
14
14
  beforeAll(async () => {
15
15
  await connectClient();
@@ -36,7 +36,7 @@ const tests = [
36
36
  },
37
37
  after: {
38
38
  ...responseSchema,
39
- channels: [channel11],
39
+ channels: [channel1],
40
40
  },
41
41
  },
42
42
  {
@@ -45,12 +45,12 @@ const tests = [
45
45
  before: {
46
46
  ...responseSchema,
47
47
  channels: [channelRaw1],
48
- channelUsers: [channelUser1],
48
+ channelUsers: [rawChannelUser],
49
49
  },
50
50
  after: {
51
51
  ...responseSchema,
52
- channels: [channel11],
53
- channelUsers: [channelUser1],
52
+ channels: [channel1],
53
+ channelUsers: [rawChannelUser],
54
54
  },
55
55
  },
56
56
  {
@@ -59,12 +59,12 @@ const tests = [
59
59
  before: {
60
60
  ...responseSchema,
61
61
  channels: [channelRaw1],
62
- channelUsers: [channelUser1],
62
+ channelUsers: [rawChannelUser],
63
63
  },
64
64
  after: {
65
65
  ...responseSchema,
66
- channels: [channel11],
67
- channelUsers: [channelUser1],
66
+ channels: [channel1],
67
+ channelUsers: [rawChannelUser],
68
68
  },
69
69
  },
70
70
  {
@@ -73,12 +73,12 @@ const tests = [
73
73
  before: {
74
74
  ...responseSchema,
75
75
  channels: [channelRaw2],
76
- channelUsers: [channelUser2],
76
+ channelUsers: [rawChannelUser2],
77
77
  },
78
78
  after: {
79
79
  ...responseSchema,
80
- channels: [channel12],
81
- channelUsers: [channelUser2],
80
+ channels: [channel2],
81
+ channelUsers: [rawChannelUser2],
82
82
  },
83
83
  },
84
84
  {
@@ -87,12 +87,12 @@ const tests = [
87
87
  before: {
88
88
  ...responseSchema,
89
89
  channels: [channelRaw2],
90
- channelUsers: [channelUser2],
90
+ channelUsers: [rawChannelUser2],
91
91
  },
92
92
  after: {
93
93
  ...responseSchema,
94
- channels: [channel12],
95
- channelUsers: [channelUser2],
94
+ channels: [channel2],
95
+ channelUsers: [rawChannelUser2],
96
96
  },
97
97
  },
98
98
  {
@@ -101,17 +101,17 @@ const tests = [
101
101
  before: {
102
102
  ...responseSchema,
103
103
  channels: [channelRaw2],
104
- channelUsers: [channelUser2],
104
+ channelUsers: [rawChannelUser2],
105
105
  },
106
106
  after: {
107
107
  ...responseSchema,
108
- channels: [channel12],
109
- channelUsers: [channelUser2],
108
+ channels: [channel2],
109
+ channelUsers: [rawChannelUser2],
110
110
  },
111
111
  },
112
112
  ];
113
113
 
114
- describe('channel/utils/prepareChannelPayload', () => {
114
+ xdescribe('channel/utils/prepareChannelPayload', () => {
115
115
  tests.forEach(({ id, desc, before, after }) => {
116
116
  test(`${id} - ${desc}`, () => {
117
117
  expect(prepareChannelPayload(before)).toEqual(after);
@@ -0,0 +1,83 @@
1
+ import { fireEvent } from '~/core/events';
2
+ import { scheduleTask } from '~/core/microtasks';
3
+ import { MINUTE, ACCESS_TOKEN_WATCHER_INTERVAL } from '~/utils/constants';
4
+
5
+ import { renewal } from './renewal';
6
+
7
+ const ABOUT_TO_EXPIRE_THRESHOLD = 80 / 100;
8
+ const COMPENSATED_DELAY = 5 * MINUTE;
9
+
10
+ /*
11
+ * a helper function to check if the token has expires
12
+ *
13
+ * @param token to be checked
14
+ * @returns boolean indicating if token expires
15
+ *
16
+ * @category private
17
+ */
18
+ export const isExpired = (expiresAt: Amity.Tokens['expiresAt']): boolean =>
19
+ Date.now() > Date.parse(expiresAt) - COMPENSATED_DELAY;
20
+
21
+ /*
22
+ * a helper function to check if the token is about to expire
23
+ *
24
+ * @param token to be checked
25
+ * @returns boolean indicating if token is aboutToExpire
26
+ *
27
+ * @category private
28
+ */
29
+ export const isAboutToExpire = (
30
+ expiresAt: Amity.Tokens['expiresAt'],
31
+ issuedAt: Amity.Tokens['issuedAt'],
32
+ ): boolean => {
33
+ const expires = Date.parse(expiresAt);
34
+ const issued = Date.parse(issuedAt);
35
+ const now = Date.now();
36
+
37
+ const duration = expires - issued - COMPENSATED_DELAY;
38
+ const aboutToExpireAt = issued + duration * ABOUT_TO_EXPIRE_THRESHOLD;
39
+
40
+ return now > aboutToExpireAt && now < expires;
41
+ };
42
+
43
+ /*
44
+ * Monitors time to expire of token and updates session state to aboutToExpire
45
+ *
46
+ * @returns intervalId to be cleared after trigger
47
+ *
48
+ * @category private
49
+ */
50
+ export const accessTokenExpiryWatcher = (
51
+ expiresAt: Amity.Tokens['expiresAt'],
52
+ issuedAt: Amity.Tokens['issuedAt'],
53
+ sessionHandler: Amity.SessionHandler,
54
+ ): Amity.Unsubscriber => {
55
+ const interval: ReturnType<typeof setInterval> = setInterval(() => {
56
+ if (isExpired(expiresAt)) {
57
+ /*
58
+ * the event handler will take care of updating session state
59
+ * Note, this will also clear the interval id, so this event will only be
60
+ * fired once
61
+ */
62
+ fireEvent('tokenExpired', Amity.SessionStates.TOKEN_EXPIRED);
63
+
64
+ /*
65
+ * https://ekoapp.atlassian.net/wiki/spaces/UP/pages/2082537485/ASC+Core+-+Session+Management+3.0#Automatically-initiate-renewal-flow
66
+ *
67
+ * Why sechduled task?
68
+ * Since fireEvent is scheduled, it will be called
69
+ * after sessionHandler leading to an invalid state change from
70
+ * establishing to tokenExpired
71
+ */
72
+ scheduleTask(() => sessionHandler.sessionWillRenewAccessToken(renewal()));
73
+
74
+ return;
75
+ }
76
+
77
+ if (isAboutToExpire(issuedAt, expiresAt)) {
78
+ sessionHandler.sessionWillRenewAccessToken(renewal());
79
+ }
80
+ }, ACCESS_TOKEN_WATCHER_INTERVAL);
81
+
82
+ return (): void => clearInterval(interval);
83
+ };
@@ -1,6 +1,6 @@
1
1
  import { ASCError } from '~/core/errors';
2
2
 
3
- let activeUser: Pick<Amity.User, '_id' | 'userId' | 'path'> | null = null;
3
+ let activeUser: Pick<Amity.User, '_id' | 'userId' | 'path' | 'displayName'> | null = null;
4
4
 
5
5
  /**
6
6
  * for internal use
@@ -3,14 +3,35 @@
3
3
  import { disconnectClient } from '~/client/api/disconnectClient';
4
4
  import { getDeviceId } from '~/core/device';
5
5
  import { proxyWebsocketEvents } from '~/core/events';
6
- import { getNetworkTopic, subscribeTopic } from '~/core/subscription';
6
+ import {
7
+ getUserTopic,
8
+ getNetworkTopic,
9
+ getSmartFeedChannelTopic,
10
+ getSmartFeedMessageTopic,
11
+ getSmartFeedSubChannelTopic,
12
+ subscribeTopic,
13
+ } from '~/core/subscription';
14
+
7
15
  import { onUserDeleted } from '~/user/events/onUserDeleted';
8
16
 
9
17
  import { getActiveClient } from './activeClient';
10
- import { setActiveUser } from './activeUser';
18
+ import { terminateClient } from './terminateClient';
19
+ import { setActiveUser, getActiveUser } from './activeUser';
20
+
21
+ import { setSessionState } from './setSessionState';
11
22
 
12
- import { getToken } from './getToken';
13
23
  import { onClientBanned } from '../events';
24
+ import { onTokenExpired } from '../events/onTokenExpired';
25
+ import { onTokenTerminated } from '../events/onTokenTerminated';
26
+
27
+ import { setClientToken } from '../utils/setClientToken';
28
+
29
+ /*
30
+ * declared earlier to accomodate case when logging in with a different user
31
+ * than the one already connected, in which case the existing subscriptions need
32
+ * to be cleared
33
+ */
34
+ const subscriptions: Amity.Unsubscriber[] = [];
14
35
 
15
36
  /**
16
37
  * ```js
@@ -34,51 +55,118 @@ import { onClientBanned } from '../events';
34
55
  */
35
56
  export const connectClient = async (
36
57
  params: Amity.ConnectClientParams,
58
+ sessionHandler: Amity.SessionHandler,
37
59
  config?: Amity.ConnectClientConfig,
38
60
  ): Promise<boolean> => {
39
61
  const client = getActiveClient();
40
- client.log('client/api/connectClient', { apiKey: client.apiKey, ...params });
62
+ let unsubWatcher: Amity.Unsubscriber;
63
+
64
+ client.log('client/api/connectClient', {
65
+ apiKey: client.apiKey,
66
+ sessionState: client.sessionState,
67
+ ...params,
68
+ });
69
+
70
+ // if connecting to a different userId than the one that is connected currently
71
+ if (client.userId && client.userId !== params.userId) {
72
+ await disconnectClient();
73
+
74
+ // Remove subscription to ban and delete
75
+ subscriptions.forEach(fn => fn());
76
+ }
41
77
 
42
78
  // default values
43
79
  params.deviceId ??= getDeviceId();
44
80
 
45
- // @ts-ignore: in that particular case, typing can be
46
- // ignored since we enforce default values just before.
47
- const { accessToken, users } = await getToken(params);
81
+ try {
82
+ // @ts-ignore: in that particular case, typing can be
83
+ // ignored since we enforce default values just before.
84
+ const { users } = await setClientToken(params);
48
85
 
49
- // manually setup the token for http transport
50
- client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
86
+ // FIXME: events are duplicated if connectClient is called few times without disconnectClient
87
+ // wire websocket events to our event emitter
88
+ proxyWebsocketEvents(client.ws, client.emitter);
51
89
 
52
- // manually setup the token for ws transport
53
- client.ws.io.opts.query = { token: accessToken };
90
+ // TODO: in phase 2, this should not be necessary. we should have WS
91
+ // to be connected "on demand" rather than "by default"
92
+ await new Promise(resolve => {
93
+ client.ws.once('connect', resolve);
94
+ client.ws.open();
95
+ });
54
96
 
55
- // FIXME: events are duplicated if connectClient is called few times without disconnectClient
56
- // wire websocket events to our event emitter
57
- proxyWebsocketEvents(client.ws, client.emitter);
97
+ client.userId = params.userId;
58
98
 
59
- // TODO: in phase 2, this should not be necessary. we should have WS
60
- // to be connected "on demand" rather than "by default"
61
- await new Promise(resolve => {
62
- client.ws.once('connect', resolve);
63
- client.ws.open();
64
- });
99
+ client.sessionHandler = sessionHandler;
65
100
 
66
- client.userId = params.userId;
67
- client.accessToken = accessToken;
101
+ /*
102
+ * Cannot push to subscriptions as watcher needs to continue working even if
103
+ * token expires
104
+ */
105
+ unsubWatcher = client.accessTokenExpiryWatcher(
106
+ client.token?.issuedAt!,
107
+ client.token?.expiresAt!,
108
+ sessionHandler!,
109
+ );
68
110
 
69
- setActiveUser(users[0]);
111
+ setActiveUser(users[0]);
112
+ } catch (error) {
113
+ /*
114
+ * if getting token failed session state reverts to initial state when app
115
+ * is first launched
116
+ */
117
+ setSessionState(Amity.SessionStates.NOT_LOGGED_IN);
118
+
119
+ // pass error down tree so the calling function handle it
120
+ throw error;
121
+ }
70
122
 
71
123
  if (config?.disableRTE !== true) {
72
124
  subscribeTopic(getNetworkTopic());
125
+ subscribeTopic(getSmartFeedChannelTopic());
126
+ subscribeTopic(getSmartFeedSubChannelTopic());
127
+ subscribeTopic(getSmartFeedMessageTopic());
128
+ // subscribing to user topic is necessary to handle ban event
129
+ subscribeTopic(getUserTopic(getActiveUser()));
73
130
  }
74
131
 
75
- const subscriptions = [
76
- onClientBanned(() => {
132
+ subscriptions.push(
133
+ // GLOBAL_BAN
134
+ onClientBanned((_: Amity.UserPayload) => {
135
+ terminateClient();
136
+
137
+ subscriptions.forEach(fn => fn());
138
+
139
+ unsubWatcher();
140
+ }),
141
+
142
+ onTokenTerminated(_ => {
143
+ terminateClient();
144
+
145
+ subscriptions.forEach(fn => fn());
146
+
147
+ unsubWatcher();
148
+ }),
149
+
150
+ onUserDeleted((user: Amity.User) => {
151
+ if (user.userId === client.userId) {
152
+ terminateClient();
153
+
154
+ subscriptions.forEach(fn => fn());
155
+
156
+ unsubWatcher();
157
+ }
158
+ }),
159
+
160
+ onTokenExpired(state => {
161
+ setSessionState(state);
162
+
77
163
  disconnectClient();
164
+
78
165
  subscriptions.forEach(fn => fn());
79
166
  }),
167
+
80
168
  onUserDeleted(() => null),
81
- ];
169
+ );
82
170
 
83
171
  return client.ws.connected;
84
172
  };
@@ -14,6 +14,8 @@ import { createEventEmitter } from '~/core/events';
14
14
  import { getActiveClient, setActiveClient } from './activeClient';
15
15
  import { getFeedSettings } from './getFeedSettings';
16
16
 
17
+ import { accessTokenExpiryWatcher } from './accessTokenExpiryWatcher';
18
+
17
19
  const DEFAULT_DEBUG_SESSION = 'amity';
18
20
 
19
21
  /**
@@ -27,7 +29,7 @@ const DEFAULT_DEBUG_SESSION = 'amity';
27
29
  * @param apiKey for the {@link Amity.Client} instance
28
30
  * @param apiRegion endpoint to connect to
29
31
  * @param apiEndpoint custom endpoint in case you don't want to use a preset endpoint
30
- * @param debugSession session's identifier for the client's logger instance
32
+ * @param param.debugSession session's identifier for the client's logger instance
31
33
  * @returns A {@link Amity.Client} instance
32
34
  *
33
35
  * @category Client API
@@ -59,6 +61,9 @@ export const createClient = (
59
61
 
60
62
  const emitter = createEventEmitter();
61
63
 
64
+ const sessionState = Amity.SessionStates.NOT_LOGGED_IN;
65
+ const sessionHandler = undefined;
66
+
62
67
  const client = {
63
68
  version: `${VERSION}`,
64
69
 
@@ -68,13 +73,16 @@ export const createClient = (
68
73
  ws,
69
74
  mqtt,
70
75
  emitter,
76
+ accessTokenExpiryWatcher,
71
77
  use: () => setActiveClient(client),
72
78
 
79
+ sessionState,
80
+ sessionHandler,
73
81
  getFeedSettings,
74
82
  };
75
83
 
76
84
  try {
77
- getActiveClient();
85
+ return getActiveClient();
78
86
  } catch {
79
87
  setActiveClient(client);
80
88
  }
@@ -1,4 +1,5 @@
1
1
  import { getActiveClient } from './activeClient';
2
+ import { setSessionState } from './setSessionState';
2
3
 
3
4
  /**
4
5
  * ```js
@@ -8,7 +9,6 @@ import { getActiveClient } from './activeClient';
8
9
  *
9
10
  * Disconnects an {@link Amity.Client} instance from ASC servers
10
11
  *
11
- * @param client The {@link Amity.Client} instance to disconnect
12
12
  * @returns a success boolean if disconnected
13
13
  *
14
14
  * @category Client API
@@ -16,6 +16,7 @@ import { getActiveClient } from './activeClient';
16
16
  */
17
17
  export const disconnectClient = async (): Promise<boolean> => {
18
18
  const client = getActiveClient();
19
+
19
20
  client.log('client/api/disconnectClient');
20
21
 
21
22
  await new Promise(resolve => {
@@ -29,7 +30,30 @@ export const disconnectClient = async (): Promise<boolean> => {
29
30
  client.ws.removeAllListeners();
30
31
  client.mqtt.removeAllListeners();
31
32
  client.userId = undefined;
32
- client.accessToken = undefined;
33
+ client.token = undefined;
34
+
35
+ client.http.defaults.headers.common.Authorization = '';
36
+ client.ws.io.opts.query = { token: '' };
37
+
38
+ /*
39
+ * for cases when session state is terminated (example on ban) or token expired,
40
+ * the terminating block will set session state to terminated or for the or
41
+ * in the case of expired token the same happens
42
+ *
43
+ * establishing state also ignored in cases where accessTokenExpiryWatcher
44
+ * calls renewal. There is a possibility that renewal will be called before
45
+ * disconnectClient finishes execution
46
+ */
47
+ if (client.sessionState === Amity.SessionStates.ESTABLISHED)
48
+ setSessionState(Amity.SessionStates.NOT_LOGGED_IN);
49
+
50
+ /*
51
+ * Cache should be usable if tokenExpired
52
+ * https://ekoapp.atlassian.net/wiki/spaces/UP/pages/2082537485/ASC+Core+-+Session+Management+3.0#SDK-usability-based-on-Session-State
53
+ */
54
+ if (client.sessionState !== Amity.SessionStates.TOKEN_EXPIRED && client.cache) {
55
+ client.cache = { data: {} };
56
+ }
33
57
 
34
58
  return !client.ws.connected;
35
59
  };
@@ -0,0 +1,22 @@
1
+ import { getActiveClient } from './activeClient';
2
+
3
+ /**
4
+ * ```js
5
+ * import { getChatSettings } from '@amityco/ts-sdk'
6
+ * const chatSettings = await getChatSettings()
7
+ * ```
8
+ *
9
+ * Fetches a {@link Amity.ChatSettings} object
10
+ *
11
+ * @returns A Promise of {@link Amity.ChatSettings} object
12
+ *
13
+ * @category Client API
14
+ * @async
15
+ */
16
+ export const getChatSettings = async (): Promise<Amity.ChatSettings> => {
17
+ const client = getActiveClient();
18
+
19
+ const { data } = await client.http.get<Amity.ChatSettings>(`/api/v3/network-settings/chat`);
20
+
21
+ return data;
22
+ };
@@ -0,0 +1,24 @@
1
+ import { getActiveClient } from './activeClient';
2
+
3
+ /**
4
+ * ```js
5
+ * import { getSocialSettings } from '@amityco/ts-sdk'
6
+ * const socialSettings = await getSocialSettings()
7
+ * ```
8
+ *
9
+ * Fetches a {@link Amity.SocialSettings} object
10
+ *
11
+ * @returns A Promise of {@link Amity.SocialSettings} object
12
+ *
13
+ * @category Client API
14
+ * @async
15
+ */
16
+ export const getSocialSettings = async (): Promise<Amity.SocialSettings> => {
17
+ const client = getActiveClient();
18
+
19
+ const { data } = await client.http.get<{ socialNetworkSetting: Amity.SocialSettings }>(
20
+ `/api/v3/network-settings/social`,
21
+ );
22
+
23
+ return data.socialNetworkSetting;
24
+ };
@@ -5,10 +5,10 @@ import { getDeviceInfo } from '~/core/device';
5
5
  /**
6
6
  * Retrieves a pair of {@link Amity.Tokens} necessary for connection
7
7
  *
8
- * @param userId The userId to use to issue a token
9
- * @param displayName The user's displayName
10
- * @param deviceId The user's device Id (can be manually set for native users)
11
- * @param authToken The authentication token - necessary when network option is set to secure
8
+ * @param params.userId The userId to use to issue a token
9
+ * @param params.displayName The user's displayName
10
+ * @param params.deviceId The user's device Id (can be manually set for native users)
11
+ * @param params.authToken The authentication token - necessary when network option is set to secure
12
12
  * @return The accessToken for the given userId
13
13
  *
14
14
  * @category Client API
@@ -23,10 +23,10 @@ export const getToken = async (params: {
23
23
  const client = getActiveClient();
24
24
  client.log('client/api/getToken', params);
25
25
 
26
- const deviceInfo = await getDeviceInfo();
26
+ const deviceInfo = getDeviceInfo();
27
27
 
28
28
  const { data } = await client.http.post<Amity.Tokens & { users: Amity.User[] }>(
29
- '/v1/device',
29
+ '/api/v3/sessions',
30
30
  {
31
31
  ...params,
32
32
  deviceInfo,
@@ -8,3 +8,5 @@ export * from './disconnectClient';
8
8
  export * from './isConnected';
9
9
 
10
10
  export * from './getFeedSettings';
11
+
12
+ export * from './renewal';
@@ -0,0 +1,74 @@
1
+ import { getDeviceId } from '~/core/device';
2
+ import { ACCESS_TOKEN_WATCHER_INTERVAL } from '~/utils/constants';
3
+
4
+ import { getActiveUser } from './activeUser';
5
+ import { setClientToken as refreshToken } from '../utils/setClientToken';
6
+ import { getActiveClient } from './activeClient';
7
+ import { connectClient } from './connectClient';
8
+
9
+ /*
10
+ * Renewal defintion accepted by SessionHandler interface
11
+ *
12
+ * Tech Spec:
13
+ * https://ekoapp.atlassian.net/wiki/spaces/UP/pages/2082537485/ASC+Core+-+Session+Management+3.0#Session-Handler
14
+ *
15
+ * @category private
16
+ */
17
+ export const renewal = (): Amity.AccessTokenRenewal => {
18
+ let tokenRenewed = false;
19
+ let renewTimeoutId: ReturnType<typeof setTimeout>;
20
+
21
+ const client = getActiveClient();
22
+
23
+ client.log('initiating access token renewal');
24
+ /*
25
+ * Renews a token if it is hasn't been renewed before. Also marks token as
26
+ * renewed once done
27
+ * Per instance of Renewal, only one renewal is allowed
28
+ */
29
+ const renewToken = async (authToken?: Amity.ConnectClientParams['authToken']): Promise<void> => {
30
+ const { userId, displayName } = getActiveUser();
31
+ const deviceId = getDeviceId();
32
+
33
+ const params = { userId, displayName, authToken, deviceId };
34
+
35
+ if (client.sessionState === Amity.SessionStates.TOKEN_EXPIRED) {
36
+ // sessionHandler will never be empty when renewal is instantiatied
37
+ await connectClient(params, client.sessionHandler!);
38
+ } else {
39
+ // about to expire
40
+
41
+ // @ts-ignore: in that particular case, typing can be
42
+ // ignored since we enforce default values just before.
43
+ await refreshToken(params);
44
+ }
45
+
46
+ tokenRenewed = true;
47
+
48
+ if (renewTimeoutId) clearTimeout(renewTimeoutId);
49
+ };
50
+
51
+ return {
52
+ renew: () => {
53
+ if (tokenRenewed) {
54
+ console.log("'renew' method can be called only once per renewal instance");
55
+ return;
56
+ }
57
+ renewToken();
58
+ },
59
+
60
+ renewWithAuthToken: (authToken: string) => {
61
+ if (tokenRenewed) {
62
+ console.log("'renewWithAuthToken' method can be called only once per renewal instance");
63
+ return;
64
+ }
65
+ renewToken(authToken);
66
+ },
67
+
68
+ unableToRetrieveAuthToken: () => {
69
+ renewTimeoutId = setTimeout(() => {
70
+ client.sessionHandler?.sessionWillRenewAccessToken(renewal());
71
+ }, ACCESS_TOKEN_WATCHER_INTERVAL);
72
+ },
73
+ };
74
+ };